-
-
Save nikic/197fd03880311129fb4bd75ef7e94d62 to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; ModuleID = '<stdin>' | |
source_filename = "ravif.93fe5ed2d8241d2f-cgu.13" | |
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux-gnu" | |
@0 = private unnamed_addr constant <{}> zeroinitializer, align 8 | |
@1 = private unnamed_addr constant <{ [12 x i8] }> <{ [12 x i8] c"invalid args" }>, align 1 | |
@2 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @1, [8 x i8] c"\0C\00\00\00\00\00\00\00" }>, align 8 | |
@3 = private unnamed_addr constant <{ [75 x i8] }> <{ [75 x i8] c"/rustc/ef85656a10657ba5e4f7fe2931a4ca6293138d51/library/core/src/fmt/mod.rs" }>, align 1 | |
@4 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @3, [16 x i8] c"K\00\00\00\00\00\00\00+\01\00\00\0D\00\00\00" }>, align 8 | |
@5 = private unnamed_addr constant <{ [75 x i8] }> <{ [75 x i8] c"/rustc/ef85656a10657ba5e4f7fe2931a4ca6293138d51/library/core/src/num/mod.rs" }>, align 1 | |
@6 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @5, [16 x i8] c"K\00\00\00\00\00\00\00\F3\04\00\00\05\00\00\00" }>, align 8 | |
@str.0 = internal constant [25 x i8] c"attempt to divide by zero" | |
@str.1 = internal constant [57 x i8] c"attempt to calculate the remainder with a divisor of zero" | |
@7 = private unnamed_addr constant <{ [27 x i8] }> <{ [27 x i8] c"assertion failed: step != 0" }>, align 1 | |
@8 = private unnamed_addr constant <{ [89 x i8] }> <{ [89 x i8] c"/rustc/ef85656a10657ba5e4f7fe2931a4ca6293138d51/library/core/src/iter/adapters/step_by.rs" }>, align 1 | |
@9 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @8, [16 x i8] c"Y\00\00\00\00\00\00\00!\00\00\00\09\00\00\00" }>, align 8 | |
@10 = private unnamed_addr constant <{ [40 x i8] }> <{ [40 x i8] c"there is no such thing as a release load" }>, align 1 | |
@11 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @10, [8 x i8] c"(\00\00\00\00\00\00\00" }>, align 8 | |
@12 = private unnamed_addr constant <{ [79 x i8] }> <{ [79 x i8] c"/rustc/ef85656a10657ba5e4f7fe2931a4ca6293138d51/library/core/src/sync/atomic.rs" }>, align 1 | |
@13 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @12, [16 x i8] c"O\00\00\00\00\00\00\00s\0C\00\00\18\00\00\00" }>, align 8 | |
@14 = private unnamed_addr constant <{ [49 x i8] }> <{ [49 x i8] c"there is no such thing as an acquire-release load" }>, align 1 | |
@15 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @14, [8 x i8] c"1\00\00\00\00\00\00\00" }>, align 8 | |
@16 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @12, [16 x i8] c"O\00\00\00\00\00\00\00t\0C\00\00\17\00\00\00" }>, align 8 | |
@17 = private unnamed_addr constant <{ [42 x i8] }> <{ [42 x i8] c"there is no such thing as an acquire store" }>, align 1 | |
@18 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @17, [8 x i8] c"*\00\00\00\00\00\00\00" }>, align 8 | |
@19 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @12, [16 x i8] c"O\00\00\00\00\00\00\00d\0C\00\00\18\00\00\00" }>, align 8 | |
@20 = private unnamed_addr constant <{ [50 x i8] }> <{ [50 x i8] c"there is no such thing as an acquire-release store" }>, align 1 | |
@21 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @20, [8 x i8] c"2\00\00\00\00\00\00\00" }>, align 8 | |
@22 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @12, [16 x i8] c"O\00\00\00\00\00\00\00e\0C\00\00\17\00\00\00" }>, align 8 | |
@23 = private unnamed_addr constant <{ [52 x i8] }> <{ [52 x i8] c"there is no such thing as a release failure ordering" }>, align 1 | |
@24 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @23, [8 x i8] c"4\00\00\00\00\00\00\00" }>, align 8 | |
@25 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @12, [16 x i8] c"O\00\00\00\00\00\00\00\C8\0C\00\00\1D\00\00\00" }>, align 8 | |
@26 = private unnamed_addr constant <{ [61 x i8] }> <{ [61 x i8] c"there is no such thing as an acquire-release failure ordering" }>, align 1 | |
@27 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @26, [8 x i8] c"=\00\00\00\00\00\00\00" }>, align 8 | |
@28 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @12, [16 x i8] c"O\00\00\00\00\00\00\00\C7\0C\00\00\1C\00\00\00" }>, align 8 | |
@29 = private unnamed_addr constant <{ [41 x i8] }> <{ [41 x i8] c"assertion failed: iter.size_hint().0 >= N" }>, align 1 | |
@30 = private unnamed_addr constant <{ [77 x i8] }> <{ [77 x i8] c"/rustc/ef85656a10657ba5e4f7fe2931a4ca6293138d51/library/core/src/array/mod.rs" }>, align 1 | |
@31 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @30, [16 x i8] c"M\00\00\00\00\00\00\00\12\03\00\00\05\00\00\00" }>, align 8 | |
@32 = private unnamed_addr constant <{ [35 x i8] }> <{ [35 x i8] c"assertion failed: mid <= self.len()" }>, align 1 | |
@33 = private unnamed_addr constant <{ [1 x i8] }> zeroinitializer, align 1 | |
@34 = private unnamed_addr constant <{ [100 x i8] }> <{ [100 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/scenechange/mod.rs" }>, align 1 | |
@35 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\003\01\00\00\1D\00\00\00" }>, align 8 | |
@36 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\005\01\00\000\00\00\00" }>, align 8 | |
@37 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\007\01\00\00\1D\00\00\00" }>, align 8 | |
@38 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\009\01\00\00\1E\00\00\00" }>, align 8 | |
@39 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00:\01\00\00\1D\00\00\00" }>, align 8 | |
@40 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00F\01\00\00!\00\00\00" }>, align 8 | |
@41 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00R\01\00\00\1A\00\00\00" }>, align 8 | |
@42 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00[\01\00\00)\00\00\00" }>, align 8 | |
@43 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00\\\01\00\00,\00\00\00" }>, align 8 | |
@44 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00x\01\00\00\0C\00\00\00" }>, align 8 | |
@45 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00x\01\00\006\00\00\00" }>, align 8 | |
@46 = private unnamed_addr constant <{ [1 x i8] }> <{ [1 x i8] c"\02" }>, align 1 | |
@47 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00\D5\00\00\00\09\00\00\00" }>, align 8 | |
@48 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00\D6\00\00\00\09\00\00\00" }>, align 8 | |
@49 = private unnamed_addr constant <{ [8 x i8] }> <{ [8 x i8] c"\05\00\00\00\00\00\00\00" }>, align 8 | |
@_ZN3log20MAX_LOG_LEVEL_FILTER17hf45987abfd1fc402E = external global { i64 } | |
@50 = private unnamed_addr constant <{ [18 x i8] }> <{ [18 x i8] c"[SC-Detect] Frame " }>, align 1 | |
@51 = private unnamed_addr constant <{ [6 x i8] }> <{ [6 x i8] c": Raw=" }>, align 1 | |
@52 = private unnamed_addr constant <{ [8 x i8] }> <{ [8 x i8] c" ImpBl=" }>, align 1 | |
@53 = private unnamed_addr constant <{ [6 x i8] }> <{ [6 x i8] c" Bwd=" }>, align 1 | |
@54 = private unnamed_addr constant <{ [6 x i8] }> <{ [6 x i8] c" Fwd=" }>, align 1 | |
@55 = private unnamed_addr constant <{ [5 x i8] }> <{ [5 x i8] c" Th=" }>, align 1 | |
@56 = private unnamed_addr constant <{ [2 x i8] }> <{ [2 x i8] c" " }>, align 1 | |
@57 = private unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8] }> <{ ptr @50, [8 x i8] c"\12\00\00\00\00\00\00\00", ptr @51, [8 x i8] c"\06\00\00\00\00\00\00\00", ptr @52, [8 x i8] c"\08\00\00\00\00\00\00\00", ptr @53, [8 x i8] c"\06\00\00\00\00\00\00\00", ptr @54, [8 x i8] c"\06\00\00\00\00\00\00\00", ptr @55, [8 x i8] c"\05\00\00\00\00\00\00\00", ptr @56, [8 x i8] c"\02\00\00\00\00\00\00\00" }>, align 8 | |
@58 = private unnamed_addr constant <{ [6 x i8] }> <{ [6 x i8] c"No cut" }>, align 1 | |
@59 = private unnamed_addr constant <{ [8 x i8] }> <{ [8 x i8] c"Scenecut" }>, align 1 | |
@60 = private unnamed_addr constant <{ [18 x i8] }> <{ [18 x i8] c"rav1e::scenechange" }>, align 1 | |
@61 = private unnamed_addr constant <{ ptr, [8 x i8], ptr, [8 x i8], ptr, [8 x i8] }> <{ ptr @60, [8 x i8] c"\12\00\00\00\00\00\00\00", ptr @60, [8 x i8] c"\12\00\00\00\00\00\00\00", ptr @34, [8 x i8] c"d\00\00\00\00\00\00\00" }>, align 8 | |
@62 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00\06\01\00\00\09\00\00\00" }>, align 8 | |
@63 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @34, [16 x i8] c"d\00\00\00\00\00\00\00\07\01\00\00\09\00\00\00" }>, align 8 | |
@64 = private unnamed_addr constant <{ [101 x i8] }> <{ [101 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/scenechange/fast.rs" }>, align 1 | |
@65 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @64, [16 x i8] c"e\00\00\00\00\00\00\00!\00\00\00\18\00\00\00" }>, align 8 | |
@66 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @64, [16 x i8] c"e\00\00\00\00\00\00\00O\00\00\00\16\00\00\00" }>, align 8 | |
@67 = private unnamed_addr constant <{ [88 x i8] }> <{ [88 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/lrf.rs" }>, align 1 | |
@68 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\E9\03\00\00!\00\00\00" }>, align 8 | |
@69 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\EA\03\00\00\1D\00\00\00" }>, align 8 | |
@70 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\EB\03\00\00!\00\00\00" }>, align 8 | |
@71 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\EC\03\00\00\1B\00\00\00" }>, align 8 | |
@72 = private unnamed_addr constant <{ [128 x i8] }> <{ [128 x i8] c"\8C\00\00\00\A4\0C\00\00p\00\00\00n\08\00\00]\00\00\00R\06\00\00P\00\00\00\9E\05\00\00F\00\00\00\0F\05\00\00:\00\00\00\99\04\00\00/\00\00\007\04\00\00%\00\00\00\E4\03\00\00\1E\00\00\00\9D\03\00\00\19\00\00\00_\03\00\00\00\00\00\00\1D\0A\00\00\00\00\00\00R\06\00\00\00\00\00\00\99\04\00\00\00\00\00\00\9D\03\00\008\00\00\00\00\00\00\00\16\00\00\00\00\00\00\00" }>, align 4 | |
@73 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00`\03\00\00\13\00\00\00" }>, align 8 | |
@74 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00a\03\00\00\13\00\00\00" }>, align 8 | |
@75 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\8C\03\00\00\16\00\00\00" }>, align 8 | |
@76 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\8D\03\00\00\19\00\00\00" }>, align 8 | |
@77 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\97\03\00\00\16\00\00\00" }>, align 8 | |
@78 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\98\03\00\00\19\00\00\00" }>, align 8 | |
@79 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\A8\03\00\00\0E\00\00\00" }>, align 8 | |
@80 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\A9\03\00\00\0E\00\00\00" }>, align 8 | |
@81 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\B2\03\00\00 \00\00\00" }>, align 8 | |
@82 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\B2\03\00\004\00\00\00" }>, align 8 | |
@83 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\B3\03\00\00 \00\00\00" }>, align 8 | |
@84 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\B3\03\00\004\00\00\00" }>, align 8 | |
@85 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\C9\03\00\00\10\00\00\00" }>, align 8 | |
@86 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\CA\03\00\00\10\00\00\00" }>, align 8 | |
@87 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\CB\03\00\00\1A\00\00\00" }>, align 8 | |
@88 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\CC\03\00\00\1D\00\00\00" }>, align 8 | |
@89 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D4\03\00\00\0D\00\00\00" }>, align 8 | |
@90 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D4\03\00\00\1B\00\00\00" }>, align 8 | |
@91 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D4\03\00\00/\00\00\00" }>, align 8 | |
@92 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D6\03\00\00\0D\00\00\00" }>, align 8 | |
@93 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D6\03\00\00\1B\00\00\00" }>, align 8 | |
@94 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D6\03\00\00/\00\00\00" }>, align 8 | |
@95 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\12\04\00\00\11\00\00\00" }>, align 8 | |
@96 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\15\04\00\00\09\00\00\00" }>, align 8 | |
@97 = private unnamed_addr constant <{ [42 x i8] }> <{ [42 x i8] c"assertion failed: index < self.rect.height" }>, align 1 | |
@98 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\13\04\00\00\0F\00\00\00" }>, align 8 | |
@99 = private unnamed_addr constant <{ [15 x i8] }> <{ [15 x i8] c"not implemented" }>, align 1 | |
@100 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00p\03\00\00\0A\00\00\00" }>, align 8 | |
@101 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00j\03\00\00\0A\00\00\00" }>, align 8 | |
@102 = private unnamed_addr constant <{ [4 x i8] }> <{ [4 x i8] c"\03\00\00\00" }>, align 4 | |
@103 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\E5\05\00\00\11\00\00\00" }>, align 8 | |
@104 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\E6\05\00\00\12\00\00\00" }>, align 8 | |
@105 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\E7\05\00\00\12\00\00\00" }>, align 8 | |
@106 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\09\06\00\00\12\00\00\00" }>, align 8 | |
@107 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\0A\06\00\00\12\00\00\00" }>, align 8 | |
@108 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\0B\06\00\00\16\00\00\00" }>, align 8 | |
@109 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1A\06\00\00\12\00\00\00" }>, align 8 | |
@110 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1C\06\00\00\12\00\00\00" }>, align 8 | |
@111 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00&\06\00\00\12\00\00\00" }>, align 8 | |
@112 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00(\06\00\00\16\00\00\00" }>, align 8 | |
@113 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00Q\05\00\00#\00\00\00" }>, align 8 | |
@114 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00S\05\00\00\10\00\00\00" }>, align 8 | |
@115 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00T\05\00\00!\00\00\00" }>, align 8 | |
@116 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00W\05\00\00\10\00\00\00" }>, align 8 | |
@117 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9D\05\00\00\12\00\00\00" }>, align 8 | |
@118 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9E\05\00\00\12\00\00\00" }>, align 8 | |
@119 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9F\05\00\00\13\00\00\00" }>, align 8 | |
@120 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\A3\05\00\00\13\00\00\00" }>, align 8 | |
@121 = private unnamed_addr constant <{ [52 x i8] }> <{ [52 x i8] c"Width and height must be higher than 1 for LRF setup" }>, align 1 | |
@122 = private unnamed_addr constant <{ ptr, [8 x i8] }> <{ ptr @121, [8 x i8] c"4\00\00\00\00\00\00\00" }>, align 8 | |
@123 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00:\05\00\00\07\00\00\00" }>, align 8 | |
@124 = private unnamed_addr constant <{ [43 x i8] }> <{ [43 x i8] c"called `Option::unwrap()` on a `None` value" }>, align 1 | |
@125 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00@\02\00\00 \00\00\00" }>, align 8 | |
@126 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00O\02\00\00/\00\00\00" }>, align 8 | |
@127 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00P\02\00\005\00\00\00" }>, align 8 | |
@128 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00Y\02\00\00\16\00\00\00" }>, align 8 | |
@129 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00[\02\00\00\19\00\00\00" }>, align 8 | |
@130 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1E\02\00\00\03\00\00\00" }>, align 8 | |
@131 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\005\02\00\00\0B\00\00\00" }>, align 8 | |
@132 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\AD\04\00\00&\00\00\00" }>, align 8 | |
@133 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\AE\04\00\00\10\00\00\00" }>, align 8 | |
@134 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\92\04\00\00\22\00\00\00" }>, align 8 | |
@135 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\93\04\00\00 \00\00\00" }>, align 8 | |
@136 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9D\04\00\00\1E\00\00\00" }>, align 8 | |
@137 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9D\04\00\00<\00\00\00" }>, align 8 | |
@138 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\A6\04\00\00\07\00\00\00" }>, align 8 | |
@139 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\A2\04\00\00\10\00\00\00" }>, align 8 | |
@140 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\95\04\00\00\10\00\00\00" }>, align 8 | |
@141 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00Y\04\00\00!\00\00\00" }>, align 8 | |
@142 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00Y\04\00\00\07\00\00\00" }>, align 8 | |
@143 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\AA\04\00\005\00\00\00" }>, align 8 | |
@144 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00!\03\00\00\1B\00\00\00" }>, align 8 | |
@145 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\22\03\00\00!\00\00\00" }>, align 8 | |
@146 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00#\03\00\00\1B\00\00\00" }>, align 8 | |
@147 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00$\03\00\00\19\00\00\00" }>, align 8 | |
@148 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\88\02\00\00\13\00\00\00" }>, align 8 | |
@149 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\89\02\00\00\13\00\00\00" }>, align 8 | |
@150 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\B1\02\00\00\16\00\00\00" }>, align 8 | |
@151 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\B2\02\00\00\19\00\00\00" }>, align 8 | |
@152 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\BC\02\00\00\16\00\00\00" }>, align 8 | |
@153 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\BD\02\00\00\19\00\00\00" }>, align 8 | |
@154 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\CD\02\00\00\0E\00\00\00" }>, align 8 | |
@155 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\CE\02\00\00\0E\00\00\00" }>, align 8 | |
@156 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D7\02\00\00 \00\00\00" }>, align 8 | |
@157 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D7\02\00\004\00\00\00" }>, align 8 | |
@158 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D8\02\00\00 \00\00\00" }>, align 8 | |
@159 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\D8\02\00\004\00\00\00" }>, align 8 | |
@160 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\F4\02\00\00\10\00\00\00" }>, align 8 | |
@161 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\F5\02\00\00\10\00\00\00" }>, align 8 | |
@162 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\F6\02\00\00\1A\00\00\00" }>, align 8 | |
@163 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\F7\02\00\00\1D\00\00\00" }>, align 8 | |
@164 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\FF\02\00\00\0D\00\00\00" }>, align 8 | |
@165 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\FF\02\00\00\1B\00\00\00" }>, align 8 | |
@166 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\FF\02\00\00/\00\00\00" }>, align 8 | |
@167 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\01\03\00\00\0D\00\00\00" }>, align 8 | |
@168 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\01\03\00\00\1B\00\00\00" }>, align 8 | |
@169 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\01\03\00\00/\00\00\00" }>, align 8 | |
@170 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1A\03\00\00\1A\00\00\00" }>, align 8 | |
@171 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\005\03\00\00\09\00\00\00" }>, align 8 | |
@172 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\002\03\00\00\11\00\00\00" }>, align 8 | |
@173 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\95\02\00\00\0A\00\00\00" }>, align 8 | |
@174 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\8F\02\00\00\0A\00\00\00" }>, align 8 | |
@175 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9B\01\00\00\05\00\00\00" }>, align 8 | |
@176 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\9A\01\00\00\05\00\00\00" }>, align 8 | |
@177 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\FE\00\00\00\16\00\00\00" }>, align 8 | |
@178 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\FE\00\00\006\00\00\00" }>, align 8 | |
@179 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\12\01\00\00\14\00\00\00" }>, align 8 | |
@180 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\12\01\00\00\1F\00\00\00" }>, align 8 | |
@181 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\12\01\00\00*\00\00\00" }>, align 8 | |
@182 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\12\01\00\009\00\00\00" }>, align 8 | |
@183 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\14\01\00\00\0E\00\00\00" }>, align 8 | |
@184 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\15\01\00\00\0F\00\00\00" }>, align 8 | |
@185 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\16\01\00\00\0F\00\00\00" }>, align 8 | |
@186 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\17\01\00\00\0F\00\00\00" }>, align 8 | |
@187 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\18\01\00\00\0F\00\00\00" }>, align 8 | |
@188 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\19\01\00\00\14\00\00\00" }>, align 8 | |
@189 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\19\01\00\00\1F\00\00\00" }>, align 8 | |
@190 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\19\01\00\00*\00\00\00" }>, align 8 | |
@191 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\19\01\00\009\00\00\00" }>, align 8 | |
@192 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1B\01\00\00\0E\00\00\00" }>, align 8 | |
@193 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1C\01\00\00\0F\00\00\00" }>, align 8 | |
@194 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1D\01\00\00\0F\00\00\00" }>, align 8 | |
@195 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1E\01\00\00\0F\00\00\00" }>, align 8 | |
@196 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\1F\01\00\00\0F\00\00\00" }>, align 8 | |
@197 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00 \01\00\00\22\00\00\00" }>, align 8 | |
@198 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00!\01\00\00\07\00\00\00" }>, align 8 | |
@199 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\006\01\00\00\14\00\00\00" }>, align 8 | |
@200 = private unnamed_addr constant <{ [28 x i8] }> <{ [28 x i8] c"window size must be non-zero" }>, align 1 | |
@201 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\006\01\00\00%\00\00\00" }>, align 8 | |
@202 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\007\01\00\00\14\00\00\00" }>, align 8 | |
@203 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\007\01\00\00%\00\00\00" }>, align 8 | |
@204 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\008\01\00\00\14\00\00\00" }>, align 8 | |
@205 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\008\01\00\00%\00\00\00" }>, align 8 | |
@206 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\009\01\00\00\14\00\00\00" }>, align 8 | |
@207 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\009\01\00\00%\00\00\00" }>, align 8 | |
@208 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00>\01\00\00\13\00\00\00" }>, align 8 | |
@209 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00?\01\00\00\14\00\00\00" }>, align 8 | |
@210 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00A\01\00\00\10\00\00\00" }>, align 8 | |
@211 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00B\01\00\00\10\00\00\00" }>, align 8 | |
@212 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00L\01\00\00\14\00\00\00" }>, align 8 | |
@213 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00L\01\00\00\1E\00\00\00" }>, align 8 | |
@214 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00L\01\00\00-\00\00\00" }>, align 8 | |
@215 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00M\01\00\00\14\00\00\00" }>, align 8 | |
@216 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00M\01\00\00\1E\00\00\00" }>, align 8 | |
@217 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00M\01\00\00-\00\00\00" }>, align 8 | |
@218 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00N\01\00\00\15\00\00\00" }>, align 8 | |
@219 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00N\01\00\00\1F\00\00\00" }>, align 8 | |
@220 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00N\01\00\00.\00\00\00" }>, align 8 | |
@221 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00O\01\00\00\15\00\00\00" }>, align 8 | |
@222 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00O\01\00\00\1F\00\00\00" }>, align 8 | |
@223 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00O\01\00\00.\00\00\00" }>, align 8 | |
@224 = private unnamed_addr constant <{ [102 x i8] }> <{ [102 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/tiling/tile_state.rs" }>, align 1 | |
@225 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @224, [16 x i8] c"f\00\00\00\00\00\00\00\06\01\00\00!\00\00\00" }>, align 8 | |
@226 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @224, [16 x i8] c"f\00\00\00\00\00\00\00\06\01\00\00\0C\00\00\00" }>, align 8 | |
@227 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @224, [16 x i8] c"f\00\00\00\00\00\00\00\F2\00\00\00!\00\00\00" }>, align 8 | |
@228 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @224, [16 x i8] c"f\00\00\00\00\00\00\00\F2\00\00\00\0C\00\00\00" }>, align 8 | |
@229 = private unnamed_addr constant <{ [104 x i8] }> <{ [104 x i8] c"assertion failed: cfg.yorigin as isize + rect.y + rect.height as isize <=\\n cfg.alloc_height as isize" }>, align 1 | |
@230 = private unnamed_addr constant <{ [104 x i8] }> <{ [104 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/tiling/plane_region.rs" }>, align 1 | |
@231 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @230, [16 x i8] c"h\00\00\00\00\00\00\00\AA\01\00\00\01\00\00\00" }>, align 8 | |
@232 = private unnamed_addr constant <{ [92 x i8] }> <{ [92 x i8] c"assertion failed: cfg.xorigin as isize + rect.x + rect.width as isize <= cfg.stride as isize" }>, align 1 | |
@233 = private unnamed_addr constant <{ [51 x i8] }> <{ [51 x i8] c"assertion failed: rect.y >= -(cfg.yorigin as isize)" }>, align 1 | |
@234 = private unnamed_addr constant <{ [51 x i8] }> <{ [51 x i8] c"assertion failed: rect.x >= -(cfg.xorigin as isize)" }>, align 1 | |
@235 = private unnamed_addr constant <{ [68 x i8] }> <{ [68 x i8] c"assertion failed: rect.y >= 0 && rect.y as usize <= self.rect.height" }>, align 1 | |
@236 = private unnamed_addr constant <{ [67 x i8] }> <{ [67 x i8] c"assertion failed: rect.x >= 0 && rect.x as usize <= self.rect.width" }>, align 1 | |
@237 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @230, [16 x i8] c"h\00\00\00\00\00\00\00\AB\01\00\00\01\00\00\00" }>, align 8 | |
@238 = private unnamed_addr constant <{ [114 x i8] }> <{ [114 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/tiling/tile_restoration_state.rs" }>, align 1 | |
@239 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @238, [16 x i8] c"r\00\00\00\00\00\00\00\9B\01\00\00\01\00\00\00" }>, align 8 | |
@240 = private unnamed_addr constant <{ [3 x i8] }> <{ [3 x i8] c"\03\F9\0F" }>, align 1 | |
@241 = private unnamed_addr constant <{ [2 x i8] }> <{ [2 x i8] c"\E0\1F" }>, align 1 | |
@242 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @238, [16 x i8] c"r\00\00\00\00\00\00\00|\00\00\00\01\00\00\00" }>, align 8 | |
@243 = private unnamed_addr constant <{ [96 x i8] }> <{ [96 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/tiling/tile.rs" }>, align 1 | |
@244 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @243, [16 x i8] c"`\00\00\00\00\00\00\00\CB\00\00\00\01\00\00\00" }>, align 8 | |
@245 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @243, [16 x i8] c"`\00\00\00\00\00\00\00\CC\00\00\00\01\00\00\00" }>, align 8 | |
@246 = private unnamed_addr constant <{ [93 x i8] }> <{ [93 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rav1e-0.6.6/src/activity.rs" }>, align 1 | |
@247 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @246, [16 x i8] c"]\00\00\00\00\00\00\00R\00\00\00\16\00\00\00" }>, align 8 | |
@248 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @246, [16 x i8] c"]\00\00\00\00\00\00\00R\00\00\00\13\00\00\00" }>, align 8 | |
@249 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @246, [16 x i8] c"]\00\00\00\00\00\00\00O\00\00\00\12\00\00\00" }>, align 8 | |
@250 = private unnamed_addr constant <{ [102 x i8] }> <{ [102 x i8] c"/home/npopov/.cargo/registry/src/index.crates.io-6f17d22bba15001f/rayon-1.7.0/src/iter/plumbing/mod.rs" }>, align 1 | |
@251 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @250, [16 x i8] c"f\00\00\00\00\00\00\00C\01\00\00\1A\00\00\00" }>, align 8 | |
@252 = private unnamed_addr constant <{ [11 x i8] }> <{ [11 x i8] c"PoisonError" }>, align 1 | |
@253 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\01\02\00\00\0D\00\00\00" }>, align 8 | |
@254 = private unnamed_addr constant <{ ptr, [16 x i8] }> <{ ptr @67, [16 x i8] c"X\00\00\00\00\00\00\00\CF\01\00\00\1B\00\00\00" }>, align 8 | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 1 dereferenceable_or_null(1) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h088a3efd70679c11E"(ptr noalias noundef align 8 dereferenceable(40) %0) unnamed_addr #0 { | |
%2 = alloca ptr, align 8 | |
%3 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 } }, i64 }, ptr %0, i32 0, i32 1 | |
%4 = load i64, ptr %3, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 0 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %1 | |
store ptr null, ptr %2, align 8 | |
br label %13 | |
7: ; preds = %1 | |
%8 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 } }, i64 }, ptr %0, i32 0, i32 1 | |
%9 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 } }, i64 }, ptr %0, i32 0, i32 1 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = sub i64 %10, 1 | |
store i64 %11, ptr %8, align 8 | |
%12 = call noundef align 1 dereferenceable_or_null(1) ptr @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h65a1b90177747773E"(ptr noalias noundef align 8 dereferenceable(32) %0) #13 | |
store ptr %12, ptr %2, align 8 | |
br label %13 | |
13: ; preds = %7, %6 | |
%14 = load ptr, ptr %2, align 8, !align !4, !noundef !3 | |
ret ptr %14 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 8 dereferenceable_or_null(40) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4a81fd7ff6c645a7E"(ptr noalias noundef align 8 dereferenceable(24) %0) unnamed_addr #0 { | |
%2 = alloca ptr, align 8 | |
%3 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %0, i32 0, i32 1 | |
%4 = load i64, ptr %3, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 0 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %1 | |
store ptr null, ptr %2, align 8 | |
br label %13 | |
7: ; preds = %1 | |
%8 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %0, i32 0, i32 1 | |
%9 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %0, i32 0, i32 1 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = sub i64 %10, 1 | |
store i64 %11, ptr %8, align 8 | |
%12 = call noundef align 8 dereferenceable_or_null(40) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hdc0af935e6073cc7E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
store ptr %12, ptr %2, align 8 | |
br label %13 | |
13: ; preds = %7, %6 | |
%14 = load ptr, ptr %2, align 8, !align !5, !noundef !3 | |
ret ptr %14 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 2 dereferenceable_or_null(2) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8a951680d3082d8eE"(ptr noalias noundef align 8 dereferenceable(40) %0) unnamed_addr #0 { | |
%2 = alloca ptr, align 8 | |
%3 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 } }, i64 }, ptr %0, i32 0, i32 1 | |
%4 = load i64, ptr %3, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 0 | |
br i1 %5, label %6, label %7 | |
6: ; preds = %1 | |
store ptr null, ptr %2, align 8 | |
br label %13 | |
7: ; preds = %1 | |
%8 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 } }, i64 }, ptr %0, i32 0, i32 1 | |
%9 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 } }, i64 }, ptr %0, i32 0, i32 1 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = sub i64 %10, 1 | |
store i64 %11, ptr %8, align 8 | |
%12 = call noundef align 2 dereferenceable_or_null(2) ptr @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h00d1cafee1c33590E"(ptr noalias noundef align 8 dereferenceable(32) %0) #13 | |
store ptr %12, ptr %2, align 8 | |
br label %13 | |
13: ; preds = %7, %6 | |
%14 = load ptr, ptr %2, align 8, !align !6, !noundef !3 | |
ret ptr %14 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 2 dereferenceable_or_null(2) ptr @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h00d1cafee1c33590E"(ptr noalias noundef align 8 dereferenceable(32) %0) unnamed_addr #0 { | |
%2 = alloca { ptr, i64 }, align 8 | |
%3 = alloca { ptr, i64 }, align 8 | |
%4 = alloca ptr, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%5 = getelementptr inbounds { ptr, { {}, ptr, i64, i64 } }, ptr %0, i32 0, i32 1 | |
%6 = call { ptr, i64 } @"_ZN95_$LT$v_frame..plane..RowsIterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h95d4e943626f5f37E"(ptr noalias noundef align 8 dereferenceable(24) %5) #13 | |
store { ptr, i64 } %6, ptr %3, align 8 | |
%7 = load ptr, ptr %3, align 8, !noundef !3 | |
%8 = ptrtoint ptr %7 to i64 | |
%9 = icmp eq i64 %8, 0 | |
%10 = select i1 %9, i64 0, i64 1 | |
switch i64 %10, label %11 [ | |
i64 0, label %12 | |
i64 1, label %13 | |
] | |
11: ; preds = %1 | |
unreachable | |
12: ; preds = %1 | |
store ptr null, ptr %4, align 8 | |
br label %25 | |
13: ; preds = %1 | |
%14 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !6, !noundef !3 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %2) | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 0 | |
store ptr %15, ptr %18, align 8 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 1 | |
store i64 %17, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 0 | |
%21 = load ptr, ptr %20, align 8, !nonnull !3, !align !6, !noundef !3 | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 1 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
%24 = call noundef align 2 dereferenceable(2) ptr @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17hbe446fdb2bec83feE"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef nonnull align 2 %21, i64 noundef %23) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
store ptr %24, ptr %4, align 8 | |
br label %25 | |
25: ; preds = %13, %12 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%26 = load ptr, ptr %4, align 8, !align !6, !noundef !3 | |
ret ptr %26 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, double } @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0712abdca0b4f077E"(ptr noalias noundef align 8 dereferenceable(24) %0) unnamed_addr #0 { | |
%2 = alloca ptr, align 8 | |
%3 = alloca ptr, align 8 | |
%4 = alloca { i64, double }, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
%5 = call noundef align 8 dereferenceable_or_null(40) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4a81fd7ff6c645a7E"(ptr noalias noundef align 8 dereferenceable(24) %0) #13 | |
store ptr %5, ptr %3, align 8 | |
%6 = load ptr, ptr %3, align 8, !noundef !3 | |
%7 = ptrtoint ptr %6 to i64 | |
%8 = icmp eq i64 %7, 0 | |
%9 = select i1 %8, i64 0, i64 1 | |
switch i64 %9, label %10 [ | |
i64 0, label %11 | |
i64 1, label %12 | |
] | |
10: ; preds = %1 | |
unreachable | |
11: ; preds = %1 | |
store i64 0, ptr %4, align 8 | |
br label %17 | |
12: ; preds = %1 | |
%13 = load ptr, ptr %3, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %2) | |
store ptr %13, ptr %2, align 8 | |
%14 = load ptr, ptr %2, align 8, !nonnull !3, !align !5, !noundef !3 | |
%15 = call noundef double @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h01b0b5c0c7807fa5E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %14) #13 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %2) | |
%16 = getelementptr inbounds { i64, double }, ptr %4, i32 0, i32 1 | |
store double %15, ptr %16, align 8 | |
store i64 1, ptr %4, align 8 | |
br label %17 | |
17: ; preds = %12, %11 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
%18 = getelementptr inbounds { i64, double }, ptr %4, i32 0, i32 0 | |
%19 = load i64, ptr %18, align 8, !range !7, !noundef !3 | |
%20 = getelementptr inbounds { i64, double }, ptr %4, i32 0, i32 1 | |
%21 = load double, ptr %20, align 8 | |
%22 = insertvalue { i64, double } poison, i64 %19, 0 | |
%23 = insertvalue { i64, double } %22, double %21, 1 | |
ret { i64, double } %23 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2c08d7162f7ceea9E"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(104) %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i64 }, align 8 | |
%4 = alloca { { ptr, i64 }, i64, i64 }, align 8 | |
%5 = alloca { ptr, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
%6 = call { ptr, i64 } @"_ZN94_$LT$rav1e..lrf..VertPaddedIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1d274e6d45168ff0E"(ptr noalias noundef align 8 dereferenceable(64) %1) #13 | |
store { ptr, i64 } %6, ptr %5, align 8 | |
%7 = getelementptr inbounds { { ptr, ptr, i64, i64, i64, i64, i64, i64 }, { ptr, ptr, ptr, ptr, ptr } }, ptr %1, i32 0, i32 1 | |
%8 = load ptr, ptr %5, align 8, !noundef !3 | |
%9 = ptrtoint ptr %8 to i64 | |
%10 = icmp eq i64 %9, 0 | |
%11 = select i1 %10, i64 0, i64 1 | |
switch i64 %11, label %12 [ | |
i64 0, label %13 | |
i64 1, label %14 | |
] | |
12: ; preds = %2 | |
unreachable | |
13: ; preds = %2 | |
store ptr null, ptr %0, align 8 | |
br label %25 | |
14: ; preds = %2 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !6, !noundef !3 | |
%17 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%18 = load i64, ptr %17, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
store ptr %16, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
store i64 %18, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
%22 = load ptr, ptr %21, align 8, !nonnull !3, !align !6, !noundef !3 | |
%23 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
%24 = load i64, ptr %23, align 8, !noundef !3 | |
call void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h3713fb2604dcc4c7E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64, i64 }) align 8 dereferenceable(32) %4, ptr noalias noundef align 8 dereferenceable(40) %7, ptr noalias noundef nonnull readonly align 2 %22, i64 noundef %24) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
br label %25 | |
25: ; preds = %14, %13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4a6dd7baa34453cbE"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) unnamed_addr #0 { | |
%3 = alloca { { { ptr, ptr }, ptr } }, align 8 | |
%4 = alloca { ptr, ptr, ptr }, align 8 | |
%5 = alloca { { ptr, ptr }, ptr }, align 8 | |
%6 = alloca { ptr, [2 x i64] }, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he6a34873ca7e5813E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %6, ptr noalias noundef align 8 dereferenceable(96) %1) #13 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %5) | |
%7 = load ptr, ptr %6, align 8, !noundef !3 | |
%8 = ptrtoint ptr %7 to i64 | |
%9 = icmp eq i64 %8, 0 | |
%10 = select i1 %9, i64 0, i64 1 | |
switch i64 %10, label %11 [ | |
i64 0, label %12 | |
i64 1, label %13 | |
] | |
11: ; preds = %2 | |
unreachable | |
12: ; preds = %2 | |
store ptr null, ptr %0, align 8 | |
br label %14 | |
13: ; preds = %2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 24, i1 false) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %5, i64 24, i1 false) | |
call void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17hee46838fa6aadb7bE"(ptr noalias nocapture noundef sret({ ptr, ptr, ptr }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull align 1 %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %4) | |
br label %14 | |
14: ; preds = %13, %12 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, double } @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5d4015e5854fbc7dE"(ptr noalias noundef align 8 dereferenceable(24) %0) unnamed_addr #0 { | |
%2 = alloca ptr, align 8 | |
%3 = alloca ptr, align 8 | |
%4 = alloca { i64, double }, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
%5 = call noundef align 8 dereferenceable_or_null(40) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h4a81fd7ff6c645a7E"(ptr noalias noundef align 8 dereferenceable(24) %0) #13 | |
store ptr %5, ptr %3, align 8 | |
%6 = load ptr, ptr %3, align 8, !noundef !3 | |
%7 = ptrtoint ptr %6 to i64 | |
%8 = icmp eq i64 %7, 0 | |
%9 = select i1 %8, i64 0, i64 1 | |
switch i64 %9, label %10 [ | |
i64 0, label %11 | |
i64 1, label %12 | |
] | |
10: ; preds = %1 | |
unreachable | |
11: ; preds = %1 | |
store i64 0, ptr %4, align 8 | |
br label %17 | |
12: ; preds = %1 | |
%13 = load ptr, ptr %3, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %2) | |
store ptr %13, ptr %2, align 8 | |
%14 = load ptr, ptr %2, align 8, !nonnull !3, !align !5, !noundef !3 | |
%15 = call noundef double @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h680b4fa04bdd3c32E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %14) #13 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %2) | |
%16 = getelementptr inbounds { i64, double }, ptr %4, i32 0, i32 1 | |
store double %15, ptr %16, align 8 | |
store i64 1, ptr %4, align 8 | |
br label %17 | |
17: ; preds = %12, %11 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
%18 = getelementptr inbounds { i64, double }, ptr %4, i32 0, i32 0 | |
%19 = load i64, ptr %18, align 8, !range !7, !noundef !3 | |
%20 = getelementptr inbounds { i64, double }, ptr %4, i32 0, i32 1 | |
%21 = load double, ptr %20, align 8 | |
%22 = insertvalue { i64, double } poison, i64 %19, 0 | |
%23 = insertvalue { i64, double } %22, double %21, 1 | |
ret { i64, double } %23 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 1 dereferenceable_or_null(1) ptr @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h65a1b90177747773E"(ptr noalias noundef align 8 dereferenceable(32) %0) unnamed_addr #0 { | |
%2 = alloca { ptr, i64 }, align 8 | |
%3 = alloca { ptr, i64 }, align 8 | |
%4 = alloca ptr, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%5 = getelementptr inbounds { ptr, { {}, ptr, i64, i64 } }, ptr %0, i32 0, i32 1 | |
%6 = call { ptr, i64 } @"_ZN95_$LT$v_frame..plane..RowsIterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17hdac4acc568b1f830E"(ptr noalias noundef align 8 dereferenceable(24) %5) #13 | |
store { ptr, i64 } %6, ptr %3, align 8 | |
%7 = load ptr, ptr %3, align 8, !noundef !3 | |
%8 = ptrtoint ptr %7 to i64 | |
%9 = icmp eq i64 %8, 0 | |
%10 = select i1 %9, i64 0, i64 1 | |
switch i64 %10, label %11 [ | |
i64 0, label %12 | |
i64 1, label %13 | |
] | |
11: ; preds = %1 | |
unreachable | |
12: ; preds = %1 | |
store ptr null, ptr %4, align 8 | |
br label %25 | |
13: ; preds = %1 | |
%14 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !4, !noundef !3 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %2) | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 0 | |
store ptr %15, ptr %18, align 8 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 1 | |
store i64 %17, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 0 | |
%21 = load ptr, ptr %20, align 8, !nonnull !3, !align !4, !noundef !3 | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %2, i32 0, i32 1 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
%24 = call noundef align 1 dereferenceable(1) ptr @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h19eb0909d6594e53E"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef nonnull align 1 %21, i64 noundef %23) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
store ptr %24, ptr %4, align 8 | |
br label %25 | |
25: ; preds = %13, %12 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%26 = load ptr, ptr %4, align 8, !align !4, !noundef !3 | |
ret ptr %26 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17ha38c3a9828efa3baE"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) unnamed_addr #0 { | |
%3 = alloca { { { ptr, ptr }, ptr } }, align 8 | |
%4 = alloca { ptr, ptr, ptr }, align 8 | |
%5 = alloca { { ptr, ptr }, ptr }, align 8 | |
%6 = alloca { ptr, [2 x i64] }, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1c7fa09b207092bcE"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %6, ptr noalias noundef align 8 dereferenceable(96) %1) #13 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %5) | |
%7 = load ptr, ptr %6, align 8, !noundef !3 | |
%8 = ptrtoint ptr %7 to i64 | |
%9 = icmp eq i64 %8, 0 | |
%10 = select i1 %9, i64 0, i64 1 | |
switch i64 %10, label %11 [ | |
i64 0, label %12 | |
i64 1, label %13 | |
] | |
11: ; preds = %2 | |
unreachable | |
12: ; preds = %2 | |
store ptr null, ptr %0, align 8 | |
br label %14 | |
13: ; preds = %2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 24, i1 false) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %5, i64 24, i1 false) | |
call void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h60a72e2f91dbaff6E"(ptr noalias nocapture noundef sret({ ptr, ptr, ptr }) align 8 dereferenceable(24) %4, ptr noalias noundef nonnull align 1 %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %4) | |
br label %14 | |
14: ; preds = %13, %12 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he0293a54d898068aE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(104) %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i64 }, align 8 | |
%4 = alloca { { ptr, i64 }, i64, i64 }, align 8 | |
%5 = alloca { ptr, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
%6 = call { ptr, i64 } @"_ZN94_$LT$rav1e..lrf..VertPaddedIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2bc5bd1d05b7fac1E"(ptr noalias noundef align 8 dereferenceable(64) %1) #13 | |
store { ptr, i64 } %6, ptr %5, align 8 | |
%7 = getelementptr inbounds { { ptr, ptr, i64, i64, i64, i64, i64, i64 }, { ptr, ptr, ptr, ptr, ptr } }, ptr %1, i32 0, i32 1 | |
%8 = load ptr, ptr %5, align 8, !noundef !3 | |
%9 = ptrtoint ptr %8 to i64 | |
%10 = icmp eq i64 %9, 0 | |
%11 = select i1 %10, i64 0, i64 1 | |
switch i64 %11, label %12 [ | |
i64 0, label %13 | |
i64 1, label %14 | |
] | |
12: ; preds = %2 | |
unreachable | |
13: ; preds = %2 | |
store ptr null, ptr %0, align 8 | |
br label %25 | |
14: ; preds = %2 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !4, !noundef !3 | |
%17 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%18 = load i64, ptr %17, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
store ptr %16, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
store i64 %18, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
%22 = load ptr, ptr %21, align 8, !nonnull !3, !align !4, !noundef !3 | |
%23 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
%24 = load i64, ptr %23, align 8, !noundef !3 | |
call void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17hadd2895302f93891E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64, i64 }) align 8 dereferenceable(32) %4, ptr noalias noundef align 8 dereferenceable(40) %7, ptr noalias noundef nonnull readonly align 1 %22, i64 noundef %24) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
br label %25 | |
25: ; preds = %14, %13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h2c34c6a7cedfa270E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) unnamed_addr #0 { | |
call void @"_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h673651151b4e0472E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17he1659d42c67b3ba2E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) unnamed_addr #0 { | |
call void @"_ZN104_$LT$core..iter..adapters..cloned..Cloned$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h36bc87eaa18b12e6E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h1461198d98311c93E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(72) %1, i64 noundef %2) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h4c8fd6537f40d063E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(72) %1, i64 noundef %2) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h507e88fd1e566867E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17he07fac9aece8ac0cE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h5228ed82a69da2a5E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %2) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h0f85cfea095386f1E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %2) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h5a404a9e20427fe5E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h8b1c2180cbdcf7c6E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h6ece77b79967d658E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h91dda27d7b7bf0c7E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h7083ae95a41f078cE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }) align 8 dereferenceable(64) %0, ptr noalias noundef align 8 dereferenceable(168) %1, i64 noundef %2) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17hb119f2183e32df1fE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }) align 8 dereferenceable(64) %0, ptr noalias noundef align 8 dereferenceable(168) %1, i64 noundef %2) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h89de01d04b05c4a4E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h0dbcc633288c8584E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hb183a5f8c66bfeb4E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h42f17f0de1c69f8bE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hcd56f2d18b8cc11fE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h85a88da443340e3fE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hd16706c6e9d0a444E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17hf285e5f8200186eaE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) #13 | |
%4 = extractvalue { ptr, ptr } %3, 0 | |
%5 = extractvalue { ptr, ptr } %3, 1 | |
%6 = insertvalue { ptr, ptr } poison, ptr %4, 0 | |
%7 = insertvalue { ptr, ptr } %6, ptr %5, 1 | |
ret { ptr, ptr } %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hec0c68f4eb01bdedE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %2) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h394961c97638eb5eE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %2) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1c7fa09b207092bcE"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h6f7eebdd5248b030E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1e2485751ce555a3E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 { | |
%2 = call { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h34d5314cb962e575E"(ptr noalias noundef align 8 dereferenceable(56) %0) #13 | |
%3 = extractvalue { ptr, ptr } %2, 0 | |
%4 = extractvalue { ptr, ptr } %2, 1 | |
%5 = insertvalue { ptr, ptr } poison, ptr %3, 0 | |
%6 = insertvalue { ptr, ptr } %5, ptr %4, 1 | |
ret { ptr, ptr } %6 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2749a207a6a0f9baE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hac1e762370b9293eE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he6a34873ca7e5813E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) unnamed_addr #0 { | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h24c60f69b9748102E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN103_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..FromResidual$GT$13from_residual17h91492fdebafa6f90E"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0) unnamed_addr #0 { | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN103_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..FromResidual$GT$13from_residual17hd763336f334630dfE"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0) unnamed_addr #0 { | |
unreachable | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h5e486a754099a491E"(ptr noalias nocapture noundef sret({ { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #1 { | |
%3 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%4 = alloca { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h7b0c0ed94488a726E"(ptr noalias nocapture noundef sret({ ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(56) %4, ptr noalias nocapture noundef align 8 dereferenceable(24) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %3) | |
%5 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%6 = load ptr, ptr %5, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%7 = getelementptr inbounds { { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %6, ptr %7, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h71d4c4265fad9cfcE"(ptr noalias nocapture noundef sret({ { ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(48) %1) unnamed_addr #1 { | |
%3 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%4 = alloca { ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 40, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 40, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h36fe3bbe3e53747cE"(ptr noalias nocapture noundef sret({ ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(56) %4, ptr noalias nocapture noundef align 8 dereferenceable(40) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %3) | |
%5 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%6 = load ptr, ptr %5, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%7 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %6, ptr %7, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h8dac4812fe87955dE"(ptr noalias nocapture noundef sret({ { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #1 { | |
%3 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%4 = alloca { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17hceee3a0f661e3f68E"(ptr noalias nocapture noundef sret({ ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(56) %4, ptr noalias nocapture noundef align 8 dereferenceable(24) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %3) | |
%5 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%6 = load ptr, ptr %5, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%7 = getelementptr inbounds { { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %6, ptr %7, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h9ae62510d37a4784E"(ptr noalias nocapture noundef sret({ { ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias noundef nonnull readonly align 1 %1, ptr noalias noundef readonly align 8 dereferenceable(16) %2) unnamed_addr #1 { | |
%4 = alloca { ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %1, ptr %6, align 8 | |
%7 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %2, ptr %7, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
%8 = load ptr, ptr %5, align 8, !nonnull !3, !align !4, !noundef !3 | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h2e98c1ec87b6fd5eE"(ptr noalias nocapture noundef sret({ ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }) align 8 dereferenceable(56) %4, ptr noalias noundef nonnull readonly align 1 %8) #13 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%10 = load ptr, ptr %9, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%11 = getelementptr inbounds { { ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %10, ptr %11, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h9c9a740f86d335a7E"(ptr noalias nocapture noundef sret({ { ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(48) %1) unnamed_addr #1 { | |
%3 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%4 = alloca { ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 40, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 40, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h36fe3bbe3e53747cE"(ptr noalias nocapture noundef sret({ ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(56) %4, ptr noalias nocapture noundef align 8 dereferenceable(40) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %3) | |
%5 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%6 = load ptr, ptr %5, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%7 = getelementptr inbounds { { ptr, { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %6, ptr %7, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17hcb2aab9563ea07dfE"(ptr noalias nocapture noundef sret({ { ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias noundef nonnull readonly align 1 %1, ptr noalias noundef readonly align 8 dereferenceable(16) %2) unnamed_addr #1 { | |
%4 = alloca { ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %1, ptr %6, align 8 | |
%7 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %2, ptr %7, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
%8 = load ptr, ptr %5, align 8, !nonnull !3, !align !4, !noundef !3 | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h2e98c1ec87b6fd5eE"(ptr noalias nocapture noundef sret({ ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }) align 8 dereferenceable(56) %4, ptr noalias noundef nonnull readonly align 1 %8) #13 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%10 = load ptr, ptr %9, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%11 = getelementptr inbounds { { ptr, { { { ptr, i64 }, i64 } }, { { { ptr, i64 }, i64 } } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %10, ptr %11, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17hda87869a12c17450E"(ptr noalias nocapture noundef sret({ { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #1 { | |
%3 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%4 = alloca { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17h7b0c0ed94488a726E"(ptr noalias nocapture noundef sret({ ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(56) %4, ptr noalias nocapture noundef align 8 dereferenceable(24) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %3) | |
%5 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%6 = load ptr, ptr %5, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%7 = getelementptr inbounds { { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %6, ptr %7, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17hf036721b794ea260E"(ptr noalias nocapture noundef sret({ { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1) unnamed_addr #1 { | |
%3 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%4 = alloca { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$11into_folder17hceee3a0f661e3f68E"(ptr noalias nocapture noundef sret({ ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(56) %4, ptr noalias nocapture noundef align 8 dereferenceable(24) %3) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %3) | |
%5 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%6 = load ptr, ptr %5, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 56, i1 false) | |
%7 = getelementptr inbounds { { ptr, { { { ptr, i64 }, i64 } }, { {}, ptr, i64, i64 } }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %6, ptr %7, align 8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %4) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h2196dbada9e967d9E"(ptr noalias noundef readonly align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h0598e0ecce4576dcE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h38376e2f39787f01E"(ptr noalias noundef readonly align 8 dereferenceable(48) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h8b5ea9ae4b95b2f9E"(ptr noalias noundef readonly align 8 dereferenceable(40) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h3ea7e4d12298d939E"(ptr noalias noundef readonly align 8 dereferenceable(32) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h43d97678ce1e319eE"(ptr noalias noundef readonly align 8 dereferenceable(24) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h51bd88f963689e37E"(ptr noalias noundef readonly align 8 dereferenceable(32) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h9fa67cb2819e0a67E"(ptr noalias noundef readonly align 8 dereferenceable(24) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h55f6dcedd90c2f72E"(ptr noalias noundef readonly align 8 dereferenceable(48) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h8b5ea9ae4b95b2f9E"(ptr noalias noundef readonly align 8 dereferenceable(40) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17hd13f2c2b5f2576b4E"(ptr noalias noundef readonly align 8 dereferenceable(32) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h43d97678ce1e319eE"(ptr noalias noundef readonly align 8 dereferenceable(24) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17hd6d92cedc6a8c97eE"(ptr noalias noundef readonly align 8 dereferenceable(32) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h9fa67cb2819e0a67E"(ptr noalias noundef readonly align 8 dereferenceable(24) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17he46268f21a457c2dE"(ptr noalias noundef readonly align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
%2 = call noundef zeroext i1 @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$4full17h0598e0ecce4576dcE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0) #13 | |
ret i1 %2 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h007841556e88d367E"(ptr noalias nocapture noundef sret({ { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%7 = alloca { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, align 8 | |
%8 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%9 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h2598800b7b9ac496E"(ptr noalias nocapture noundef sret({ { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }) align 8 dereferenceable(48) %7, ptr noalias nocapture noundef align 8 dereferenceable(24) %6, i64 noundef %2) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %7, i64 24, i1 false) | |
%10 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, ptr %7, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %10, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%11 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%12 = load ptr, ptr %11, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %9, i64 24, i1 false) | |
%13 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %12, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
%14 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %8, i64 24, i1 false) | |
%16 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
%17 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %4, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h42fce539cff14aafE"(ptr noalias nocapture noundef sret({ { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { {}, {} } }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(48) %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, align 8 | |
%5 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, align 8 | |
%6 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%7 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, { ptr, { ptr, i64 }, { ptr, i64 } }, { {}, {} } }, align 8 | |
%8 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%9 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 80, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 40, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 40, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17he19e926bb3025d0fE"(ptr noalias nocapture noundef sret({ { ptr, { ptr, i64 }, { ptr, i64 } }, { ptr, { ptr, i64 }, { ptr, i64 } }, { {}, {} } }) align 8 dereferenceable(80) %7, ptr noalias nocapture noundef align 8 dereferenceable(40) %6, i64 noundef %2) #13 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %7, i64 40, i1 false) | |
%10 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, { ptr, { ptr, i64 }, { ptr, i64 } }, { {}, {} } }, ptr %7, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %10, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 80, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 48, ptr %5) | |
%11 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%12 = load ptr, ptr %11, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %9, i64 40, i1 false) | |
%13 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %12, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %4) | |
%14 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %8, i64 40, i1 false) | |
%16 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 48, i1 false) | |
%17 = getelementptr inbounds { { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %4, i64 48, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h63602dabc12d18c5E"(ptr noalias nocapture noundef sret({ { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%7 = alloca { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, align 8 | |
%8 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%9 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17ha08071080337d7f4E"(ptr noalias nocapture noundef sret({ { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }) align 8 dereferenceable(48) %7, ptr noalias nocapture noundef align 8 dereferenceable(24) %6, i64 noundef %2) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %7, i64 24, i1 false) | |
%10 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, ptr %7, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %10, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%11 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%12 = load ptr, ptr %11, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %9, i64 24, i1 false) | |
%13 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %12, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
%14 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %8, i64 24, i1 false) | |
%16 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
%17 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %4, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h81bbef1873123ef9E"(ptr noalias nocapture noundef sret({ { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { {}, {} } }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(48) %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, align 8 | |
%5 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, align 8 | |
%6 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%7 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, { ptr, { ptr, i64 }, { ptr, i64 } }, { {}, {} } }, align 8 | |
%8 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%9 = alloca { ptr, { ptr, i64 }, { ptr, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 80, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 40, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 40, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17he19e926bb3025d0fE"(ptr noalias nocapture noundef sret({ { ptr, { ptr, i64 }, { ptr, i64 } }, { ptr, { ptr, i64 }, { ptr, i64 } }, { {}, {} } }) align 8 dereferenceable(80) %7, ptr noalias nocapture noundef align 8 dereferenceable(40) %6, i64 noundef %2) #13 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %7, i64 40, i1 false) | |
%10 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, { ptr, { ptr, i64 }, { ptr, i64 } }, { {}, {} } }, ptr %7, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %10, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 80, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 48, ptr %5) | |
%11 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%12 = load ptr, ptr %11, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %9, i64 40, i1 false) | |
%13 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %12, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %4) | |
%14 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %8, i64 40, i1 false) | |
%16 = getelementptr inbounds { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 48, i1 false) | |
%17 = getelementptr inbounds { { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %4, i64 48, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h936bbf461d0c3b7cE"(ptr noalias nocapture noundef sret({ { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%7 = alloca { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, align 8 | |
%8 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%9 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17ha08071080337d7f4E"(ptr noalias nocapture noundef sret({ { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }) align 8 dereferenceable(48) %7, ptr noalias nocapture noundef align 8 dereferenceable(24) %6, i64 noundef %2) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %7, i64 24, i1 false) | |
%10 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, ptr %7, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %10, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%11 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%12 = load ptr, ptr %11, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %9, i64 24, i1 false) | |
%13 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %12, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
%14 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %8, i64 24, i1 false) | |
%16 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
%17 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %4, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h96d2701df8f7f778E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, { {}, {} } }) align 8 dereferenceable(32) %0, ptr noalias noundef nonnull readonly align 1 %1, ptr noalias noundef readonly align 8 dereferenceable(16) %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca { ptr, ptr }, align 8 | |
%8 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 0 | |
store ptr %1, ptr %8, align 8 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
store ptr %2, ptr %9, align 8 | |
%10 = load ptr, ptr %7, align 8, !nonnull !3, !align !4, !noundef !3 | |
%11 = call { ptr, ptr } @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17hcbb1f5a4d12f8ad9E"(ptr noalias noundef nonnull readonly align 1 %10, i64 noundef %3) #13 | |
%12 = extractvalue { ptr, ptr } %11, 0 | |
%13 = extractvalue { ptr, ptr } %11, 1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%14 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %12, ptr %6, align 8 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
%18 = load ptr, ptr %17, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %13, ptr %5, align 8 | |
%19 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %18, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%21 = load ptr, ptr %20, align 8, !nonnull !3, !align !4, !noundef !3 | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%23 = load ptr, ptr %22, align 8, !nonnull !3, !align !5, !noundef !3 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 | |
store ptr %21, ptr %24, align 8 | |
%25 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %23, ptr %25, align 8 | |
%26 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%27 = load ptr, ptr %26, align 8, !nonnull !3, !align !4, !noundef !3 | |
%28 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%29 = load ptr, ptr %28, align 8, !nonnull !3, !align !5, !noundef !3 | |
%30 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
%31 = getelementptr inbounds { ptr, ptr }, ptr %30, i32 0, i32 0 | |
store ptr %27, ptr %31, align 8 | |
%32 = getelementptr inbounds { ptr, ptr }, ptr %30, i32 0, i32 1 | |
store ptr %29, ptr %32, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17hd79456758ebbb891E"(ptr noalias nocapture noundef sret({ { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }) align 8 dereferenceable(64) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%7 = alloca { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, align 8 | |
%8 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
%9 = alloca { {}, ptr, { ptr, i64 } }, align 8 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %1, i64 24, i1 false) | |
call void @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17h2598800b7b9ac496E"(ptr noalias nocapture noundef sret({ { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }) align 8 dereferenceable(48) %7, ptr noalias nocapture noundef align 8 dereferenceable(24) %6, i64 noundef %2) #13 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %7, i64 24, i1 false) | |
%10 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, { {}, ptr, { ptr, i64 } }, { {}, {} } }, ptr %7, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %10, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%11 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%12 = load ptr, ptr %11, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %9, i64 24, i1 false) | |
%13 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %12, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
%14 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %1, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %8, i64 24, i1 false) | |
%16 = getelementptr inbounds { { {}, ptr, { ptr, i64 } }, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
%17 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, { { {}, ptr, { ptr, i64 } }, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %4, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN103_$LT$rayon..iter..map..MapConsumer$LT$C$C$F$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17hddb91e77e06c9f94E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, { {}, {} } }) align 8 dereferenceable(32) %0, ptr noalias noundef nonnull readonly align 1 %1, ptr noalias noundef readonly align 8 dereferenceable(16) %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca { ptr, ptr }, align 8 | |
%8 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 0 | |
store ptr %1, ptr %8, align 8 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
store ptr %2, ptr %9, align 8 | |
%10 = load ptr, ptr %7, align 8, !nonnull !3, !align !4, !noundef !3 | |
%11 = call { ptr, ptr } @"_ZN114_$LT$rayon..iter..unzip..UnzipConsumer$LT$OP$C$CA$C$CB$GT$$u20$as$u20$rayon..iter..plumbing..Consumer$LT$T$GT$$GT$8split_at17hcbb1f5a4d12f8ad9E"(ptr noalias noundef nonnull readonly align 1 %10, i64 noundef %3) #13 | |
%12 = extractvalue { ptr, ptr } %11, 0 | |
%13 = extractvalue { ptr, ptr } %11, 1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%14 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %12, ptr %6, align 8 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
%18 = load ptr, ptr %17, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %13, ptr %5, align 8 | |
%19 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %18, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%21 = load ptr, ptr %20, align 8, !nonnull !3, !align !4, !noundef !3 | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%23 = load ptr, ptr %22, align 8, !nonnull !3, !align !5, !noundef !3 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 | |
store ptr %21, ptr %24, align 8 | |
%25 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %23, ptr %25, align 8 | |
%26 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%27 = load ptr, ptr %26, align 8, !nonnull !3, !align !4, !noundef !3 | |
%28 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%29 = load ptr, ptr %28, align 8, !nonnull !3, !align !5, !noundef !3 | |
%30 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, { {}, {} } }, ptr %0, i32 0, i32 1 | |
%31 = getelementptr inbounds { ptr, ptr }, ptr %30, i32 0, i32 0 | |
store ptr %27, ptr %31, align 8 | |
%32 = getelementptr inbounds { ptr, ptr }, ptr %30, i32 0, i32 1 | |
store ptr %29, ptr %32, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h14bdce5cea762231E"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull readonly align 2 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i16, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h29185c34497d00efE"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull readonly align 4 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i32, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h73efbc34d7a4a673E"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull readonly align 4 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i32, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17he17690789cf2a528E"(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 #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds { [2 x i8], i8, i8 }, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17he58badeb4a308109E"(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 #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i8, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hf002e4fe90900c3fE"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull readonly align 8 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds { double, double, double, double, double }, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h2899eca4b52cb8b9E"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull align 1 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i8, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h503c078dace678cdE"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull align 2 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i16, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h5182407442e8158cE"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull align 4 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i32, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17h8d91f3e4c48518fcE"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull align 4 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds i32, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$9index_mut17he732d2cae4eea9ceE"(i64 noundef %0, i64 noundef %1, ptr noalias noundef nonnull align 1 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %1 | |
br i1 %8, label %11, label %9 | |
9: ; preds = %5 | |
%10 = icmp ugt i64 %1, %3 | |
br i1 %10, label %28, label %12 | |
11: ; preds = %5 | |
call void @_ZN4core5slice5index22slice_index_order_fail17h3d686c99853682a4E(i64 noundef %0, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
12: ; preds = %9 | |
%13 = sub nuw i64 %1, %0 | |
%14 = getelementptr inbounds { { i8, [6 x i8] } }, ptr %2, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %14, ptr %6, align 8 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%26 = insertvalue { ptr, i64 } poison, ptr %23, 0 | |
%27 = insertvalue { ptr, i64 } %26, i64 %25, 1 | |
ret { ptr, i64 } %27 | |
28: ; preds = %9 | |
call void @_ZN4core5slice5index24slice_end_index_len_fail17h7a883d7187e0a85fE(i64 noundef %1, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h5c502a2db268fc2aE"(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = call { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17ha55d39f73635d6d1E(ptr noundef nonnull %0, ptr noundef %1) #13 | |
%5 = extractvalue { ptr, ptr } %4, 0 | |
%6 = extractvalue { ptr, ptr } %4, 1 | |
br label %7 | |
7: ; preds = %2 | |
%8 = call noundef i64 @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h227fbda50fe75aebE"(ptr noundef nonnull %5, ptr noundef %6, i64 noundef 0) #13 | |
ret i64 %8 | |
9: ; No predecessors! | |
br i1 false, label %16, label %10 | |
10: ; preds = %16, %9 | |
%11 = load ptr, ptr %3, align 8, !noundef !3 | |
%12 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%13 = load i32, ptr %12, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%14 = insertvalue { ptr, i32 } poison, ptr %11, 0 | |
%15 = insertvalue { ptr, i32 } %14, i32 %13, 1 | |
resume { ptr, i32 } %15 | |
16: ; preds = %9 | |
br label %10 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h6e9a2cff9f3990cdE"(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = call { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17h6f3590569b461620E(ptr noundef nonnull %0, ptr noundef %1) #13 | |
%5 = extractvalue { ptr, ptr } %4, 0 | |
%6 = extractvalue { ptr, ptr } %4, 1 | |
br label %7 | |
7: ; preds = %2 | |
%8 = call noundef i64 @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17hf3c9010d165f2531E"(ptr noundef nonnull %5, ptr noundef %6, i64 noundef 0) #13 | |
ret i64 %8 | |
9: ; No predecessors! | |
br i1 false, label %16, label %10 | |
10: ; preds = %16, %9 | |
%11 = load ptr, ptr %3, align 8, !noundef !3 | |
%12 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%13 = load i32, ptr %12, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%14 = insertvalue { ptr, i32 } poison, ptr %11, 0 | |
%15 = insertvalue { ptr, i32 } %14, i32 %13, 1 | |
resume { ptr, i32 } %15 | |
16: ; preds = %9 | |
br label %10 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h75102e392650b7ceE"(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = call { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17hf4bb88043900098eE(ptr noundef nonnull %0, ptr noundef %1) #13 | |
%5 = extractvalue { ptr, ptr } %4, 0 | |
%6 = extractvalue { ptr, ptr } %4, 1 | |
br label %7 | |
7: ; preds = %2 | |
%8 = call noundef i64 @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h4715995ef57a298eE"(ptr noundef nonnull %5, ptr noundef %6, i64 noundef 0) #13 | |
ret i64 %8 | |
9: ; No predecessors! | |
br i1 false, label %16, label %10 | |
10: ; preds = %16, %9 | |
%11 = load ptr, ptr %3, align 8, !noundef !3 | |
%12 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%13 = load i32, ptr %12, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%14 = insertvalue { ptr, i32 } poison, ptr %11, 0 | |
%15 = insertvalue { ptr, i32 } %14, i32 %13, 1 | |
resume { ptr, i32 } %15 | |
16: ; preds = %9 | |
br label %10 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h82272148696c8a0cE"(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = call { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17h6a2a7b821592ea1cE(ptr noundef nonnull %0, ptr noundef %1) #13 | |
%5 = extractvalue { ptr, ptr } %4, 0 | |
%6 = extractvalue { ptr, ptr } %4, 1 | |
br label %7 | |
7: ; preds = %2 | |
%8 = call noundef i64 @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4fold17h97718f4e97356c69E"(ptr noundef nonnull %5, ptr noundef %6, i64 noundef 0) #13 | |
ret i64 %8 | |
9: ; No predecessors! | |
br i1 false, label %16, label %10 | |
10: ; preds = %16, %9 | |
%11 = load ptr, ptr %3, align 8, !noundef !3 | |
%12 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%13 = load i32, ptr %12, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%14 = insertvalue { ptr, i32 } poison, ptr %11, 0 | |
%15 = insertvalue { ptr, i32 } %14, i32 %13, 1 | |
resume { ptr, i32 } %15 | |
16: ; preds = %9 | |
br label %10 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN108_$LT$core..ops..range..RangeTo$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h3ed1229f8b186b7aE"(i64 noundef %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) unnamed_addr #0 { | |
%5 = alloca { i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
store i64 0, ptr %5, align 8 | |
%6 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %0, ptr %6, align 8 | |
%7 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 0 | |
%8 = load i64, ptr %7, align 8, !noundef !3 | |
%9 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 1 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = call { ptr, i64 } @"_ZN106_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17hf002e4fe90900c3fE"(i64 noundef %8, i64 noundef %10, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) #13 | |
%12 = extractvalue { ptr, i64 } %11, 0 | |
%13 = extractvalue { ptr, i64 } %11, 1 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%14 = insertvalue { ptr, i64 } poison, ptr %12, 0 | |
%15 = insertvalue { ptr, i64 } %14, i64 %13, 1 | |
ret { ptr, i64 } %15 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h0d4e96cb5d1a0c41E"(i64 noundef %0, ptr noalias noundef nonnull readonly align 4 %1, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) unnamed_addr #0 { | |
%5 = alloca { ptr, i64 }, align 8 | |
%6 = alloca { [2 x i64] }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %2 | |
br i1 %8, label %29, label %9 | |
9: ; preds = %4 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
%10 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %1, ptr %10, align 8 | |
%11 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %2, ptr %11, align 8 | |
%12 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%13 = load i64, ptr %12, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%14 = sub nuw i64 %13, %0 | |
%15 = getelementptr inbounds i32, ptr %1, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
store ptr %15, ptr %5, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %14, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%18 = load ptr, ptr %17, align 8, !noundef !3 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%20 = load i64, ptr %19, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
store ptr %18, ptr %21, align 8 | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %20, ptr %22, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%23 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%24 = load ptr, ptr %23, align 8, !noundef !3 | |
%25 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%26 = load i64, ptr %25, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%27 = insertvalue { ptr, i64 } poison, ptr %24, 0 | |
%28 = insertvalue { ptr, i64 } %27, i64 %26, 1 | |
ret { ptr, i64 } %28 | |
29: ; preds = %4 | |
call void @_ZN4core5slice5index26slice_start_index_len_fail17haf2f6c5fa2059135E(i64 noundef %0, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i64 } @"_ZN110_$LT$core..ops..range..RangeFrom$LT$usize$GT$$u20$as$u20$core..slice..index..SliceIndex$LT$$u5b$T$u5d$$GT$$GT$5index17h791401d3d9cb5a4bE"(i64 noundef %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) unnamed_addr #0 { | |
%5 = alloca { ptr, i64 }, align 8 | |
%6 = alloca { [2 x i64] }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = icmp ugt i64 %0, %2 | |
br i1 %8, label %29, label %9 | |
9: ; preds = %4 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
%10 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %1, ptr %10, align 8 | |
%11 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %2, ptr %11, align 8 | |
%12 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%13 = load i64, ptr %12, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%14 = sub nuw i64 %13, %0 | |
%15 = getelementptr inbounds { double, double, double, double, double }, ptr %1, i64 %0 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
store ptr %15, ptr %5, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %14, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%18 = load ptr, ptr %17, align 8, !noundef !3 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%20 = load i64, ptr %19, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
store ptr %18, ptr %21, align 8 | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %20, ptr %22, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%23 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%24 = load ptr, ptr %23, align 8, !noundef !3 | |
%25 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%26 = load i64, ptr %25, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%27 = insertvalue { ptr, i64 } poison, ptr %24, 0 | |
%28 = insertvalue { ptr, i64 } %27, i64 %26, 1 | |
ret { ptr, i64 } %28 | |
29: ; preds = %4 | |
call void @_ZN4core5slice5index26slice_start_index_len_fail17haf2f6c5fa2059135E(i64 noundef %0, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) %3) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h0dbcc633288c8584E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 2 dereferenceable(2) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h3a275b727ba11aedE"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 2 dereferenceable(2) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h8adddd6571af427dE"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !6, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !6, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h0f85cfea095386f1E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %2 | |
%8 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h6ece77b79967d658E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %7) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
%11 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%12 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hb183a5f8c66bfeb4E"(ptr noalias noundef align 8 dereferenceable(56) %11, i64 noundef %7) #13 | |
%13 = extractvalue { ptr, ptr } %12, 0 | |
%14 = extractvalue { ptr, ptr } %12, 1 | |
br label %15 | |
15: ; preds = %3 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 | |
store ptr %9, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %10, ptr %17, align 8 | |
%18 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr } }, ptr %0, i32 0, i32 1 | |
%19 = getelementptr inbounds { ptr, ptr }, ptr %18, i32 0, i32 0 | |
store ptr %13, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %18, i32 0, i32 1 | |
store ptr %14, ptr %20, align 8 | |
ret void | |
21: ; No predecessors! | |
%22 = load ptr, ptr %4, align 8, !noundef !3 | |
%23 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%24 = load i32, ptr %23, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%25 = insertvalue { ptr, i32 } poison, ptr %22, 0 | |
%26 = insertvalue { ptr, i32 } %25, i32 %24, 1 | |
resume { ptr, i32 } %26 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h394961c97638eb5eE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %2 | |
%8 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h6ece77b79967d658E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %7) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
%11 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%12 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h5a404a9e20427fe5E"(ptr noalias noundef align 8 dereferenceable(56) %11, i64 noundef %7) #13 | |
%13 = extractvalue { ptr, ptr } %12, 0 | |
%14 = extractvalue { ptr, ptr } %12, 1 | |
br label %15 | |
15: ; preds = %3 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 | |
store ptr %9, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %10, ptr %17, align 8 | |
%18 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr } }, ptr %0, i32 0, i32 1 | |
%19 = getelementptr inbounds { ptr, ptr }, ptr %18, i32 0, i32 0 | |
store ptr %13, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %18, i32 0, i32 1 | |
store ptr %14, ptr %20, align 8 | |
ret void | |
21: ; No predecessors! | |
%22 = load ptr, ptr %4, align 8, !noundef !3 | |
%23 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%24 = load i32, ptr %23, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%25 = insertvalue { ptr, i32 } poison, ptr %22, 0 | |
%26 = insertvalue { ptr, i32 } %25, i32 %24, 1 | |
resume { ptr, i32 } %26 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h42f17f0de1c69f8bE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 2 dereferenceable(2) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h8adddd6571af427dE"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 2 dereferenceable(2) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h8adddd6571af427dE"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !6, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !6, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h4c8fd6537f40d063E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(72) %1, i64 noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = getelementptr inbounds { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %2 | |
%8 = call { ptr, i64 } @"_ZN94_$LT$core..slice..iter..Windows$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17he9c291291828b44cE"(ptr noalias noundef align 8 dereferenceable(24) %1, i64 noundef %7) #13 | |
%9 = extractvalue { ptr, i64 } %8, 0 | |
%10 = extractvalue { ptr, i64 } %8, 1 | |
%11 = getelementptr inbounds { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%12 = call { ptr, i64 } @"_ZN94_$LT$core..slice..iter..Windows$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17he9c291291828b44cE"(ptr noalias noundef align 8 dereferenceable(24) %11, i64 noundef %7) #13 | |
%13 = extractvalue { ptr, i64 } %12, 0 | |
%14 = extractvalue { ptr, i64 } %12, 1 | |
br label %15 | |
15: ; preds = %3 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 0 | |
store ptr %9, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 1 | |
store i64 %10, ptr %17, align 8 | |
%18 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 } }, ptr %0, i32 0, i32 1 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %18, i32 0, i32 0 | |
store ptr %13, ptr %19, align 8 | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %18, i32 0, i32 1 | |
store i64 %14, ptr %20, align 8 | |
ret void | |
21: ; No predecessors! | |
%22 = load ptr, ptr %4, align 8, !noundef !3 | |
%23 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%24 = load i32, ptr %23, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%25 = insertvalue { ptr, i32 } poison, ptr %22, 0 | |
%26 = insertvalue { ptr, i32 } %25, i32 %24, 1 | |
resume { ptr, i32 } %26 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h85a88da443340e3fE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 1 dereferenceable(1) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h28dfdb727c7651b4E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 1 dereferenceable(1) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h4b9fe176183bb556E"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !4, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !4, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h8b1c2180cbdcf7c6E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 1 dereferenceable(1) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h4b9fe176183bb556E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 1 dereferenceable(1) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h4b9fe176183bb556E"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !4, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !4, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17h91dda27d7b7bf0c7E"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !8, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17hb119f2183e32df1fE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }) align 8 dereferenceable(64) %0, ptr noalias noundef align 8 dereferenceable(168) %1, i64 noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca { { ptr, i64 }, { ptr, i64 } }, align 8 | |
%6 = alloca { { ptr, i64 }, { ptr, i64 } }, align 8 | |
%7 = getelementptr inbounds { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%8 = load i64, ptr %7, align 8, !noundef !3 | |
%9 = add i64 %8, %2 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %6) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h1461198d98311c93E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(32) %6, ptr noalias noundef align 8 dereferenceable(72) %1, i64 noundef %9) #13 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%10 = getelementptr inbounds { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h1461198d98311c93E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(32) %5, ptr noalias noundef align 8 dereferenceable(72) %10, i64 noundef %9) #13 | |
br label %11 | |
11: ; preds = %3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %6, i64 32, i1 false) | |
%12 = getelementptr inbounds { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }, ptr %0, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %5, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %6) | |
ret void | |
13: ; No predecessors! | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17he07fac9aece8ac0cE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 2 dereferenceable(2) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h3a275b727ba11aedE"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !6, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !8, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$13get_unchecked17hf285e5f8200186eaE"(ptr noalias noundef align 8 dereferenceable(56) %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = add i64 %6, %1 | |
%8 = call noundef align 4 dereferenceable(4) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h83d1f020fe484409E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %7) #13 | |
%9 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call noundef align 4 dereferenceable(4) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h83d1f020fe484409E"(ptr noalias noundef align 8 dereferenceable(16) %9, i64 noundef %7) #13 | |
br label %11 | |
11: ; preds = %2 | |
store ptr %8, ptr %4, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %10, ptr %12, align 8 | |
%13 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%14 = load ptr, ptr %13, align 8, !nonnull !3, !align !8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%16 = load ptr, ptr %15, align 8, !nonnull !3, !align !8, !noundef !3 | |
%17 = insertvalue { ptr, ptr } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, ptr } %17, ptr %16, 1 | |
ret { ptr, ptr } %18 | |
19: ; No predecessors! | |
%20 = load ptr, ptr %3, align 8, !noundef !3 | |
%21 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%22 = load i32, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%23 = insertvalue { ptr, i32 } poison, ptr %20, 0 | |
%24 = insertvalue { ptr, i32 } %23, i32 %22, 1 | |
resume { ptr, i32 } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h0cfb87760815d857E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca i8, align 1 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
br i1 false, label %23, label %22 | |
12: ; preds = %1 | |
%13 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%16 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %14) #13 | |
%20 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%21 = call noundef align 1 dereferenceable(1) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h4b9fe176183bb556E"(ptr noalias noundef align 8 dereferenceable(16) %20, i64 noundef %14) #13 | |
br label %54 | |
22: ; preds = %11 | |
store i8 0, ptr %3, align 1 | |
br label %30 | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 4 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %25, %27 | |
%29 = zext i1 %28 to i8 | |
store i8 %29, ptr %3, align 1 | |
br label %30 | |
30: ; preds = %23, %22 | |
%31 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%32 = trunc i8 %31 to i1 | |
br i1 %32, label %34, label %33 | |
33: ; preds = %30 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
34: ; preds = %30 | |
%35 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%36 = load i64, ptr %35, align 8, !noundef !3 | |
%37 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%38 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%39 = load i64, ptr %38, align 8, !noundef !3 | |
%40 = add i64 %39, 1 | |
store i64 %40, ptr %37, align 8 | |
%41 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%42 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %36) #13 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
46: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
br label %47 | |
47: ; preds = %54, %46 | |
%48 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%49 = load ptr, ptr %48, align 8, !align !8, !noundef !3 | |
%50 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%51 = load ptr, ptr %50, align 8 | |
%52 = insertvalue { ptr, ptr } poison, ptr %49, 0 | |
%53 = insertvalue { ptr, ptr } %52, ptr %51, 1 | |
ret { ptr, ptr } %53 | |
54: ; preds = %12 | |
store ptr %19, ptr %4, align 8 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%57 = load ptr, ptr %56, align 8, !nonnull !3, !align !8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%59 = load ptr, ptr %58, align 8, !nonnull !3, !align !4, !noundef !3 | |
%60 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %57, ptr %60, align 8 | |
%61 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %59, ptr %61, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %47 | |
62: ; No predecessors! | |
%63 = load ptr, ptr %2, align 8, !noundef !3 | |
%64 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%65 = load i32, ptr %64, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%66 = insertvalue { ptr, i32 } poison, ptr %63, 0 | |
%67 = insertvalue { ptr, i32 } %66, i32 %65, 1 | |
resume { ptr, i32 } %67 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h114810255852b0ddE"(ptr noalias nocapture noundef sret({ ptr, [11 x i64] }) align 8 dereferenceable(96) %0, ptr noalias noundef align 8 dereferenceable(328) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%8 = alloca { { { ptr, ptr }, { ptr, ptr } }, { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } } }, align 8 | |
%9 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%12 = load i64, ptr %11, align 8, !noundef !3 | |
%13 = icmp ult i64 %10, %12 | |
br i1 %13, label %15, label %14 | |
14: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %5) | |
br i1 false, label %24, label %23 | |
15: ; preds = %2 | |
%16 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%19 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%20 = load i64, ptr %19, align 8, !noundef !3 | |
%21 = add i64 %20, 1 | |
store i64 %21, ptr %18, align 8 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hec0c68f4eb01bdedE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %7, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %17) #13 | |
call void @llvm.lifetime.start.p0(i64 64, ptr %6) | |
%22 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h7083ae95a41f078cE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }) align 8 dereferenceable(64) %6, ptr noalias noundef align 8 dereferenceable(168) %22, i64 noundef %17) #13 | |
br label %48 | |
23: ; preds = %14 | |
store i8 0, ptr %5, align 1 | |
br label %31 | |
24: ; preds = %14 | |
%25 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%26 = load i64, ptr %25, align 8, !noundef !3 | |
%27 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%28 = load i64, ptr %27, align 8, !noundef !3 | |
%29 = icmp ult i64 %26, %28 | |
%30 = zext i1 %29 to i8 | |
store i8 %30, ptr %5, align 1 | |
br label %31 | |
31: ; preds = %24, %23 | |
%32 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%33 = trunc i8 %32 to i1 | |
br i1 %33, label %35, label %34 | |
34: ; preds = %31 | |
store ptr null, ptr %0, align 8 | |
br label %46 | |
35: ; preds = %31 | |
%36 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%37 = load i64, ptr %36, align 8, !noundef !3 | |
%38 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%39 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = add i64 %40, 1 | |
store i64 %41, ptr %38, align 8 | |
%42 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%43 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%44 = load i64, ptr %43, align 8, !noundef !3 | |
%45 = add i64 %44, 1 | |
store i64 %45, ptr %42, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hec0c68f4eb01bdedE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %4, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %37) #13 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
store ptr null, ptr %0, align 8 | |
br label %46 | |
46: ; preds = %35, %34 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %5) | |
br label %47 | |
47: ; preds = %48, %46 | |
ret void | |
48: ; preds = %15 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 32, i1 false) | |
%49 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr } }, { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } } }, ptr %8, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %49, ptr align 8 %6, i64 64, i1 false) | |
call void @llvm.lifetime.end.p0(i64 64, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %8, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %8) | |
br label %47 | |
50: ; No predecessors! | |
%51 = load ptr, ptr %3, align 8, !noundef !3 | |
%52 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%53 = load i32, ptr %52, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%54 = insertvalue { ptr, i32 } poison, ptr %51, 0 | |
%55 = insertvalue { ptr, i32 } %54, i32 %53, 1 | |
resume { ptr, i32 } %55 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h2351143feb92f468E"(ptr noalias nocapture noundef sret({ ptr, [4 x i64] }) align 8 dereferenceable(40) %0, ptr noalias noundef align 8 dereferenceable(192) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%5 = alloca { ptr, { { ptr, ptr }, { ptr, ptr } } }, align 8 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%7 = alloca { ptr, [3 x i64] }, align 8 | |
%8 = alloca { ptr, [3 x i64] }, align 8 | |
%9 = alloca ptr, align 8 | |
%10 = alloca ptr, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %9) | |
%11 = call noundef align 2 dereferenceable_or_null(2) ptr @"_ZN94_$LT$rav1e..lrf..HorzPaddedIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he29d3a1205a3c6c2E"(ptr noalias noundef align 8 dereferenceable(32) %1) #13 | |
store ptr %11, ptr %9, align 8 | |
%12 = load ptr, ptr %9, align 8, !noundef !3 | |
%13 = ptrtoint ptr %12 to i64 | |
%14 = icmp eq i64 %13, 0 | |
%15 = select i1 %14, i64 0, i64 1 | |
switch i64 %15, label %16 [ | |
i64 0, label %17 | |
i64 1, label %18 | |
] | |
16: ; preds = %36, %29, %20, %2 | |
unreachable | |
17: ; preds = %2 | |
store ptr null, ptr %10, align 8 | |
br label %20 | |
18: ; preds = %2 | |
%19 = load ptr, ptr %9, align 8, !nonnull !3, !align !6, !noundef !3 | |
store ptr %19, ptr %10, align 8 | |
br label %20 | |
20: ; preds = %18, %17 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %9) | |
%21 = load ptr, ptr %10, align 8, !noundef !3 | |
%22 = ptrtoint ptr %21 to i64 | |
%23 = icmp eq i64 %22, 0 | |
%24 = select i1 %23, i64 1, i64 0 | |
switch i64 %24, label %16 [ | |
i64 0, label %25 | |
i64 1, label %28 | |
] | |
25: ; preds = %20 | |
%26 = load ptr, ptr %10, align 8, !nonnull !3, !align !6, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
%27 = getelementptr inbounds { { { ptr, i64 }, i64, i64 }, { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2749a207a6a0f9baE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %7, ptr noalias noundef align 8 dereferenceable(136) %27) #13 | |
br label %29 | |
28: ; preds = %20 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %45 | |
29: ; preds = %25 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
%30 = load ptr, ptr %7, align 8, !noundef !3 | |
%31 = ptrtoint ptr %30 to i64 | |
%32 = icmp eq i64 %31, 0 | |
%33 = select i1 %32, i64 0, i64 1 | |
switch i64 %33, label %16 [ | |
i64 0, label %34 | |
i64 1, label %35 | |
] | |
34: ; preds = %29 | |
store ptr null, ptr %8, align 8 | |
br label %36 | |
35: ; preds = %29 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %7, i64 32, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 32, i1 false) | |
br label %36 | |
36: ; preds = %35, %34 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
%37 = load ptr, ptr %8, align 8, !noundef !3 | |
%38 = ptrtoint ptr %37 to i64 | |
%39 = icmp eq i64 %38, 0 | |
%40 = select i1 %39, i64 1, i64 0 | |
switch i64 %40, label %16 [ | |
i64 0, label %41 | |
i64 1, label %43 | |
] | |
41: ; preds = %36 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %8, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 40, ptr %5) | |
store ptr %26, ptr %5, align 8 | |
%42 = getelementptr inbounds { ptr, { { ptr, ptr }, { ptr, ptr } } }, ptr %5, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %42, ptr align 8 %6, i64 32, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 40, ptr %5) | |
br label %44 | |
43: ; preds = %36 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %8) | |
br label %45 | |
44: ; preds = %45, %41 | |
ret void | |
45: ; preds = %43, %28 | |
br label %44 | |
46: ; No predecessors! | |
%47 = load ptr, ptr %3, align 8, !noundef !3 | |
%48 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%49 = load i32, ptr %48, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%50 = insertvalue { ptr, i32 } poison, ptr %47, 0 | |
%51 = insertvalue { ptr, i32 } %50, i32 %49, 1 | |
resume { ptr, i32 } %51 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h24c60f69b9748102E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca { { ptr, ptr }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %4) | |
br i1 false, label %25, label %24 | |
12: ; preds = %2 | |
%13 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%16 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %5) | |
%19 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h507e88fd1e566867E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %14) #13 | |
%20 = extractvalue { ptr, ptr } %19, 0 | |
%21 = extractvalue { ptr, ptr } %19, 1 | |
%22 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%23 = call noundef align 1 dereferenceable(1) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h4b9fe176183bb556E"(ptr noalias noundef align 8 dereferenceable(16) %22, i64 noundef %14) #13 | |
br label %52 | |
24: ; preds = %11 | |
store i8 0, ptr %4, align 1 | |
br label %32 | |
25: ; preds = %11 | |
%26 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%29 = load i64, ptr %28, align 8, !noundef !3 | |
%30 = icmp ult i64 %27, %29 | |
%31 = zext i1 %30 to i8 | |
store i8 %31, ptr %4, align 1 | |
br label %32 | |
32: ; preds = %25, %24 | |
%33 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%34 = trunc i8 %33 to i1 | |
br i1 %34, label %36, label %35 | |
35: ; preds = %32 | |
store ptr null, ptr %0, align 8 | |
br label %50 | |
36: ; preds = %32 | |
%37 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%38 = load i64, ptr %37, align 8, !noundef !3 | |
%39 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%41 = load i64, ptr %40, align 8, !noundef !3 | |
%42 = add i64 %41, 1 | |
store i64 %42, ptr %39, align 8 | |
%43 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%44 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%45 = load i64, ptr %44, align 8, !noundef !3 | |
%46 = add i64 %45, 1 | |
store i64 %46, ptr %43, align 8 | |
%47 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h507e88fd1e566867E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %38) #13 | |
%48 = extractvalue { ptr, ptr } %47, 0 | |
%49 = extractvalue { ptr, ptr } %47, 1 | |
store ptr null, ptr %0, align 8 | |
br label %50 | |
50: ; preds = %36, %35 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %4) | |
br label %51 | |
51: ; preds = %52, %50 | |
ret void | |
52: ; preds = %12 | |
%53 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %20, ptr %53, align 8 | |
%54 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %21, ptr %54, align 8 | |
%55 = getelementptr inbounds { { ptr, ptr }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %23, ptr %55, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %5) | |
br label %51 | |
56: ; No predecessors! | |
%57 = load ptr, ptr %3, align 8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%59 = load i32, ptr %58, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%60 = insertvalue { ptr, i32 } poison, ptr %57, 0 | |
%61 = insertvalue { ptr, i32 } %60, i32 %59, 1 | |
resume { ptr, i32 } %61 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h34d5314cb962e575E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca i8, align 1 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
br i1 false, label %23, label %22 | |
12: ; preds = %1 | |
%13 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%16 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %14) #13 | |
%20 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%21 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %20, i64 noundef %14) #13 | |
br label %54 | |
22: ; preds = %11 | |
store i8 0, ptr %3, align 1 | |
br label %30 | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 4 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %25, %27 | |
%29 = zext i1 %28 to i8 | |
store i8 %29, ptr %3, align 1 | |
br label %30 | |
30: ; preds = %23, %22 | |
%31 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%32 = trunc i8 %31 to i1 | |
br i1 %32, label %34, label %33 | |
33: ; preds = %30 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
34: ; preds = %30 | |
%35 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%36 = load i64, ptr %35, align 8, !noundef !3 | |
%37 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%38 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%39 = load i64, ptr %38, align 8, !noundef !3 | |
%40 = add i64 %39, 1 | |
store i64 %40, ptr %37, align 8 | |
%41 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%42 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %36) #13 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
46: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
br label %47 | |
47: ; preds = %54, %46 | |
%48 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%49 = load ptr, ptr %48, align 8, !align !8, !noundef !3 | |
%50 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%51 = load ptr, ptr %50, align 8 | |
%52 = insertvalue { ptr, ptr } poison, ptr %49, 0 | |
%53 = insertvalue { ptr, ptr } %52, ptr %51, 1 | |
ret { ptr, ptr } %53 | |
54: ; preds = %12 | |
store ptr %19, ptr %4, align 8 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%57 = load ptr, ptr %56, align 8, !nonnull !3, !align !8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%59 = load ptr, ptr %58, align 8, !nonnull !3, !align !8, !noundef !3 | |
%60 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %57, ptr %60, align 8 | |
%61 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %59, ptr %61, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %47 | |
62: ; No predecessors! | |
%63 = load ptr, ptr %2, align 8, !noundef !3 | |
%64 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%65 = load i32, ptr %64, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%66 = insertvalue { ptr, i32 } poison, ptr %63, 0 | |
%67 = insertvalue { ptr, i32 } %66, i32 %65, 1 | |
resume { ptr, i32 } %67 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h565484b564930708E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(112) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, { ptr, ptr } }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca ptr, align 8 | |
%8 = alloca ptr, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %7) | |
%9 = call noundef align 1 dereferenceable_or_null(1) ptr @"_ZN94_$LT$rav1e..lrf..HorzPaddedIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h54313dde4be88c03E"(ptr noalias noundef align 8 dereferenceable(32) %1) #13 | |
store ptr %9, ptr %7, align 8 | |
%10 = load ptr, ptr %7, align 8, !noundef !3 | |
%11 = ptrtoint ptr %10 to i64 | |
%12 = icmp eq i64 %11, 0 | |
%13 = select i1 %12, i64 0, i64 1 | |
switch i64 %13, label %14 [ | |
i64 0, label %15 | |
i64 1, label %16 | |
] | |
14: ; preds = %41, %28, %18, %2 | |
unreachable | |
15: ; preds = %2 | |
store ptr null, ptr %8, align 8 | |
br label %18 | |
16: ; preds = %2 | |
%17 = load ptr, ptr %7, align 8, !nonnull !3, !align !4, !noundef !3 | |
store ptr %17, ptr %8, align 8 | |
br label %18 | |
18: ; preds = %16, %15 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %7) | |
%19 = load ptr, ptr %8, align 8, !noundef !3 | |
%20 = ptrtoint ptr %19 to i64 | |
%21 = icmp eq i64 %20, 0 | |
%22 = select i1 %21, i64 1, i64 0 | |
switch i64 %22, label %14 [ | |
i64 0, label %23 | |
i64 1, label %27 | |
] | |
23: ; preds = %18 | |
%24 = load ptr, ptr %8, align 8, !nonnull !3, !align !4, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
%25 = getelementptr inbounds { { { ptr, i64 }, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%26 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1e2485751ce555a3E"(ptr noalias noundef align 8 dereferenceable(56) %25) #13 | |
store { ptr, ptr } %26, ptr %5, align 8 | |
br label %28 | |
27: ; preds = %18 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %8) | |
br label %56 | |
28: ; preds = %23 | |
%29 = load ptr, ptr %5, align 8, !noundef !3 | |
%30 = ptrtoint ptr %29 to i64 | |
%31 = icmp eq i64 %30, 0 | |
%32 = select i1 %31, i64 0, i64 1 | |
switch i64 %32, label %14 [ | |
i64 0, label %33 | |
i64 1, label %34 | |
] | |
33: ; preds = %28 | |
store ptr null, ptr %6, align 8 | |
br label %41 | |
34: ; preds = %28 | |
%35 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%36 = load ptr, ptr %35, align 8, !nonnull !3, !align !8, !noundef !3 | |
%37 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%38 = load ptr, ptr %37, align 8, !nonnull !3, !align !8, !noundef !3 | |
%39 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
store ptr %36, ptr %39, align 8 | |
%40 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %38, ptr %40, align 8 | |
br label %41 | |
41: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%42 = load ptr, ptr %6, align 8, !noundef !3 | |
%43 = ptrtoint ptr %42 to i64 | |
%44 = icmp eq i64 %43, 0 | |
%45 = select i1 %44, i64 1, i64 0 | |
switch i64 %45, label %14 [ | |
i64 0, label %46 | |
i64 1, label %54 | |
] | |
46: ; preds = %41 | |
%47 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%48 = load ptr, ptr %47, align 8, !nonnull !3, !align !8, !noundef !3 | |
%49 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%50 = load ptr, ptr %49, align 8, !nonnull !3, !align !8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %4) | |
store ptr %24, ptr %4, align 8 | |
%51 = getelementptr inbounds { ptr, { ptr, ptr } }, ptr %4, i32 0, i32 1 | |
%52 = getelementptr inbounds { ptr, ptr }, ptr %51, i32 0, i32 0 | |
store ptr %48, ptr %52, align 8 | |
%53 = getelementptr inbounds { ptr, ptr }, ptr %51, i32 0, i32 1 | |
store ptr %50, ptr %53, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %4) | |
br label %55 | |
54: ; preds = %41 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %56 | |
55: ; preds = %56, %46 | |
ret void | |
56: ; preds = %54, %27 | |
br label %55 | |
57: ; No predecessors! | |
%58 = load ptr, ptr %3, align 8, !noundef !3 | |
%59 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%60 = load i32, ptr %59, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%61 = insertvalue { ptr, i32 } poison, ptr %58, 0 | |
%62 = insertvalue { ptr, i32 } %61, i32 %60, 1 | |
resume { ptr, i32 } %62 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h6e28b0f69ab87215E"(ptr noalias nocapture noundef sret({ ptr, [11 x i64] }) align 8 dereferenceable(96) %0, ptr noalias noundef align 8 dereferenceable(328) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%8 = alloca { { { ptr, ptr }, { ptr, ptr } }, { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } } }, align 8 | |
%9 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%12 = load i64, ptr %11, align 8, !noundef !3 | |
%13 = icmp ult i64 %10, %12 | |
br i1 %13, label %15, label %14 | |
14: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %5) | |
br i1 false, label %24, label %23 | |
15: ; preds = %2 | |
%16 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%19 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%20 = load i64, ptr %19, align 8, !noundef !3 | |
%21 = add i64 %20, 1 | |
store i64 %21, ptr %18, align 8 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h5228ed82a69da2a5E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %7, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %17) #13 | |
call void @llvm.lifetime.start.p0(i64 64, ptr %6) | |
%22 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h7083ae95a41f078cE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } }) align 8 dereferenceable(64) %6, ptr noalias noundef align 8 dereferenceable(168) %22, i64 noundef %17) #13 | |
br label %48 | |
23: ; preds = %14 | |
store i8 0, ptr %5, align 1 | |
br label %31 | |
24: ; preds = %14 | |
%25 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%26 = load i64, ptr %25, align 8, !noundef !3 | |
%27 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%28 = load i64, ptr %27, align 8, !noundef !3 | |
%29 = icmp ult i64 %26, %28 | |
%30 = zext i1 %29 to i8 | |
store i8 %30, ptr %5, align 1 | |
br label %31 | |
31: ; preds = %24, %23 | |
%32 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%33 = trunc i8 %32 to i1 | |
br i1 %33, label %35, label %34 | |
34: ; preds = %31 | |
store ptr null, ptr %0, align 8 | |
br label %46 | |
35: ; preds = %31 | |
%36 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%37 = load i64, ptr %36, align 8, !noundef !3 | |
%38 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%39 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = add i64 %40, 1 | |
store i64 %41, ptr %38, align 8 | |
%42 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%43 = getelementptr inbounds { { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%44 = load i64, ptr %43, align 8, !noundef !3 | |
%45 = add i64 %44, 1 | |
store i64 %45, ptr %42, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h5228ed82a69da2a5E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr } }) align 8 dereferenceable(32) %4, ptr noalias noundef align 8 dereferenceable(136) %1, i64 noundef %37) #13 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
store ptr null, ptr %0, align 8 | |
br label %46 | |
46: ; preds = %35, %34 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %5) | |
br label %47 | |
47: ; preds = %48, %46 | |
ret void | |
48: ; preds = %15 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 32, i1 false) | |
%49 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr } }, { { { ptr, i64 }, { ptr, i64 } }, { { ptr, i64 }, { ptr, i64 } } } }, ptr %8, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %49, ptr align 8 %6, i64 64, i1 false) | |
call void @llvm.lifetime.end.p0(i64 64, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %8, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %8) | |
br label %47 | |
50: ; No predecessors! | |
%51 = load ptr, ptr %3, align 8, !noundef !3 | |
%52 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%53 = load i32, ptr %52, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%54 = insertvalue { ptr, i32 } poison, ptr %51, 0 | |
%55 = insertvalue { ptr, i32 } %54, i32 %53, 1 | |
resume { ptr, i32 } %55 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h6f7eebdd5248b030E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(96) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca { { ptr, ptr }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %4) | |
br i1 false, label %25, label %24 | |
12: ; preds = %2 | |
%13 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%16 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %5) | |
%19 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h507e88fd1e566867E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %14) #13 | |
%20 = extractvalue { ptr, ptr } %19, 0 | |
%21 = extractvalue { ptr, ptr } %19, 1 | |
%22 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%23 = call noundef align 2 dereferenceable(2) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h8adddd6571af427dE"(ptr noalias noundef align 8 dereferenceable(16) %22, i64 noundef %14) #13 | |
br label %52 | |
24: ; preds = %11 | |
store i8 0, ptr %4, align 1 | |
br label %32 | |
25: ; preds = %11 | |
%26 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%29 = load i64, ptr %28, align 8, !noundef !3 | |
%30 = icmp ult i64 %27, %29 | |
%31 = zext i1 %30 to i8 | |
store i8 %31, ptr %4, align 1 | |
br label %32 | |
32: ; preds = %25, %24 | |
%33 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%34 = trunc i8 %33 to i1 | |
br i1 %34, label %36, label %35 | |
35: ; preds = %32 | |
store ptr null, ptr %0, align 8 | |
br label %50 | |
36: ; preds = %32 | |
%37 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%38 = load i64, ptr %37, align 8, !noundef !3 | |
%39 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%41 = load i64, ptr %40, align 8, !noundef !3 | |
%42 = add i64 %41, 1 | |
store i64 %42, ptr %39, align 8 | |
%43 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%44 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%45 = load i64, ptr %44, align 8, !noundef !3 | |
%46 = add i64 %45, 1 | |
store i64 %46, ptr %43, align 8 | |
%47 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h507e88fd1e566867E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %38) #13 | |
%48 = extractvalue { ptr, ptr } %47, 0 | |
%49 = extractvalue { ptr, ptr } %47, 1 | |
store ptr null, ptr %0, align 8 | |
br label %50 | |
50: ; preds = %36, %35 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %4) | |
br label %51 | |
51: ; preds = %52, %50 | |
ret void | |
52: ; preds = %12 | |
%53 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %20, ptr %53, align 8 | |
%54 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %21, ptr %54, align 8 | |
%55 = getelementptr inbounds { { ptr, ptr }, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %23, ptr %55, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %5) | |
br label %51 | |
56: ; No predecessors! | |
%57 = load ptr, ptr %3, align 8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%59 = load i32, ptr %58, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%60 = insertvalue { ptr, i32 } poison, ptr %57, 0 | |
%61 = insertvalue { ptr, i32 } %60, i32 %59, 1 | |
resume { ptr, i32 } %61 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h84f9be5631f5fd03E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca i8, align 1 | |
%4 = alloca { i64, ptr }, align 8 | |
%5 = alloca { i64, ptr }, align 8 | |
%6 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
br i1 false, label %23, label %22 | |
12: ; preds = %1 | |
%13 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%16 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%20 = call noundef i64 @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$24__iterator_get_unchecked17ha7f06c7da88c61d7E"(ptr noalias noundef align 8 dereferenceable(16) %19, i64 noundef %14) #13 | |
%21 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h7c4711e03e8b4097E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %14) #13 | |
br label %57 | |
22: ; preds = %11 | |
store i8 0, ptr %3, align 1 | |
br label %30 | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 4 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %25, %27 | |
%29 = zext i1 %28 to i8 | |
store i8 %29, ptr %3, align 1 | |
br label %30 | |
30: ; preds = %23, %22 | |
%31 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%32 = trunc i8 %31 to i1 | |
br i1 %32, label %35, label %33 | |
33: ; preds = %30 | |
%34 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 1 | |
store ptr null, ptr %34, align 8 | |
br label %49 | |
35: ; preds = %30 | |
%36 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%37 = load i64, ptr %36, align 8, !noundef !3 | |
%38 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%39 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = add i64 %40, 1 | |
store i64 %41, ptr %38, align 8 | |
%42 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%43 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%44 = load i64, ptr %43, align 8, !noundef !3 | |
%45 = add i64 %44, 1 | |
store i64 %45, ptr %42, align 8 | |
%46 = getelementptr inbounds { { ptr, ptr }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%47 = call noundef i64 @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$24__iterator_get_unchecked17ha7f06c7da88c61d7E"(ptr noalias noundef align 8 dereferenceable(16) %46, i64 noundef %37) #13 | |
%48 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 1 | |
store ptr null, ptr %48, align 8 | |
br label %49 | |
49: ; preds = %35, %33 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
br label %50 | |
50: ; preds = %57, %49 | |
%51 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 0 | |
%52 = load i64, ptr %51, align 8 | |
%53 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 1 | |
%54 = load ptr, ptr %53, align 8, !align !8, !noundef !3 | |
%55 = insertvalue { i64, ptr } poison, i64 %52, 0 | |
%56 = insertvalue { i64, ptr } %55, ptr %54, 1 | |
ret { i64, ptr } %56 | |
57: ; preds = %12 | |
store i64 %20, ptr %4, align 8 | |
%58 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %58, align 8 | |
%59 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 0 | |
%60 = load i64, ptr %59, align 8, !noundef !3 | |
%61 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 1 | |
%62 = load ptr, ptr %61, align 8, !nonnull !3, !align !8, !noundef !3 | |
%63 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 0 | |
store i64 %60, ptr %63, align 8 | |
%64 = getelementptr inbounds { i64, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %62, ptr %64, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %50 | |
65: ; No predecessors! | |
%66 = load ptr, ptr %2, align 8, !noundef !3 | |
%67 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%68 = load i32, ptr %67, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%69 = insertvalue { ptr, i32 } poison, ptr %66, 0 | |
%70 = insertvalue { ptr, i32 } %69, i32 %68, 1 | |
resume { ptr, i32 } %70 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h90edce2244186996E"(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %0, ptr noalias noundef align 8 dereferenceable(112) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { ptr, { ptr, ptr } }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca ptr, align 8 | |
%8 = alloca ptr, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %7) | |
%9 = call noundef align 2 dereferenceable_or_null(2) ptr @"_ZN94_$LT$rav1e..lrf..HorzPaddedIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17he29d3a1205a3c6c2E"(ptr noalias noundef align 8 dereferenceable(32) %1) #13 | |
store ptr %9, ptr %7, align 8 | |
%10 = load ptr, ptr %7, align 8, !noundef !3 | |
%11 = ptrtoint ptr %10 to i64 | |
%12 = icmp eq i64 %11, 0 | |
%13 = select i1 %12, i64 0, i64 1 | |
switch i64 %13, label %14 [ | |
i64 0, label %15 | |
i64 1, label %16 | |
] | |
14: ; preds = %41, %28, %18, %2 | |
unreachable | |
15: ; preds = %2 | |
store ptr null, ptr %8, align 8 | |
br label %18 | |
16: ; preds = %2 | |
%17 = load ptr, ptr %7, align 8, !nonnull !3, !align !6, !noundef !3 | |
store ptr %17, ptr %8, align 8 | |
br label %18 | |
18: ; preds = %16, %15 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %7) | |
%19 = load ptr, ptr %8, align 8, !noundef !3 | |
%20 = ptrtoint ptr %19 to i64 | |
%21 = icmp eq i64 %20, 0 | |
%22 = select i1 %21, i64 1, i64 0 | |
switch i64 %22, label %14 [ | |
i64 0, label %23 | |
i64 1, label %27 | |
] | |
23: ; preds = %18 | |
%24 = load ptr, ptr %8, align 8, !nonnull !3, !align !6, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
%25 = getelementptr inbounds { { { ptr, i64 }, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%26 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h1e2485751ce555a3E"(ptr noalias noundef align 8 dereferenceable(56) %25) #13 | |
store { ptr, ptr } %26, ptr %5, align 8 | |
br label %28 | |
27: ; preds = %18 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %8) | |
br label %56 | |
28: ; preds = %23 | |
%29 = load ptr, ptr %5, align 8, !noundef !3 | |
%30 = ptrtoint ptr %29 to i64 | |
%31 = icmp eq i64 %30, 0 | |
%32 = select i1 %31, i64 0, i64 1 | |
switch i64 %32, label %14 [ | |
i64 0, label %33 | |
i64 1, label %34 | |
] | |
33: ; preds = %28 | |
store ptr null, ptr %6, align 8 | |
br label %41 | |
34: ; preds = %28 | |
%35 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%36 = load ptr, ptr %35, align 8, !nonnull !3, !align !8, !noundef !3 | |
%37 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%38 = load ptr, ptr %37, align 8, !nonnull !3, !align !8, !noundef !3 | |
%39 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
store ptr %36, ptr %39, align 8 | |
%40 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %38, ptr %40, align 8 | |
br label %41 | |
41: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%42 = load ptr, ptr %6, align 8, !noundef !3 | |
%43 = ptrtoint ptr %42 to i64 | |
%44 = icmp eq i64 %43, 0 | |
%45 = select i1 %44, i64 1, i64 0 | |
switch i64 %45, label %14 [ | |
i64 0, label %46 | |
i64 1, label %54 | |
] | |
46: ; preds = %41 | |
%47 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%48 = load ptr, ptr %47, align 8, !nonnull !3, !align !8, !noundef !3 | |
%49 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%50 = load ptr, ptr %49, align 8, !nonnull !3, !align !8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %4) | |
store ptr %24, ptr %4, align 8 | |
%51 = getelementptr inbounds { ptr, { ptr, ptr } }, ptr %4, i32 0, i32 1 | |
%52 = getelementptr inbounds { ptr, ptr }, ptr %51, i32 0, i32 0 | |
store ptr %48, ptr %52, align 8 | |
%53 = getelementptr inbounds { ptr, ptr }, ptr %51, i32 0, i32 1 | |
store ptr %50, ptr %53, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %4) | |
br label %55 | |
54: ; preds = %41 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %56 | |
55: ; preds = %56, %46 | |
ret void | |
56: ; preds = %54, %27 | |
br label %55 | |
57: ; No predecessors! | |
%58 = load ptr, ptr %3, align 8, !noundef !3 | |
%59 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%60 = load i32, ptr %59, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%61 = insertvalue { ptr, i32 } poison, ptr %58, 0 | |
%62 = insertvalue { ptr, i32 } %61, i32 %60, 1 | |
resume { ptr, i32 } %62 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17h9882d855b4596900E"(ptr noalias noundef align 8 dereferenceable(80) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca { i64, ptr }, align 8 | |
%4 = alloca ptr, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca { i64, i64 }, align 8 | |
%7 = alloca { i64, i64 }, align 8 | |
%8 = alloca { i64, ptr }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%9 = getelementptr inbounds { { { ptr, { {}, ptr, i64, i64 } }, i64 }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call { i64, i64 } @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h89a7c4814ec424d8E"(ptr noalias noundef align 8 dereferenceable(16) %9) #13 | |
store { i64, i64 } %10, ptr %6, align 8 | |
%11 = load i64, ptr %6, align 8, !range !7, !noundef !3 | |
switch i64 %11, label %12 [ | |
i64 0, label %13 | |
i64 1, label %14 | |
] | |
12: ; preds = %34, %26, %18, %1 | |
unreachable | |
13: ; preds = %1 | |
store i64 1, ptr %7, align 8 | |
br label %18 | |
14: ; preds = %1 | |
%15 = getelementptr inbounds { i64, i64 }, ptr %6, i32 0, i32 1 | |
%16 = load i64, ptr %15, align 8, !noundef !3 | |
%17 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %16, ptr %17, align 8 | |
store i64 0, ptr %7, align 8 | |
br label %18 | |
18: ; preds = %14, %13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%19 = load i64, ptr %7, align 8, !range !7, !noundef !3 | |
switch i64 %19, label %12 [ | |
i64 0, label %20 | |
i64 1, label %24 | |
] | |
20: ; preds = %18 | |
%21 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
%22 = load i64, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
%23 = call noundef align 2 dereferenceable_or_null(2) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h8a951680d3082d8eE"(ptr noalias noundef align 8 dereferenceable(40) %0) #13 | |
store ptr %23, ptr %4, align 8 | |
br label %26 | |
24: ; preds = %18 | |
%25 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
store ptr null, ptr %25, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
br label %57 | |
26: ; preds = %20 | |
%27 = load ptr, ptr %4, align 8, !noundef !3 | |
%28 = ptrtoint ptr %27 to i64 | |
%29 = icmp eq i64 %28, 0 | |
%30 = select i1 %29, i64 0, i64 1 | |
switch i64 %30, label %12 [ | |
i64 0, label %31 | |
i64 1, label %32 | |
] | |
31: ; preds = %26 | |
store ptr null, ptr %5, align 8 | |
br label %34 | |
32: ; preds = %26 | |
%33 = load ptr, ptr %4, align 8, !nonnull !3, !align !6, !noundef !3 | |
store ptr %33, ptr %5, align 8 | |
br label %34 | |
34: ; preds = %32, %31 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
%35 = load ptr, ptr %5, align 8, !noundef !3 | |
%36 = ptrtoint ptr %35 to i64 | |
%37 = icmp eq i64 %36, 0 | |
%38 = select i1 %37, i64 1, i64 0 | |
switch i64 %38, label %12 [ | |
i64 0, label %39 | |
i64 1, label %48 | |
] | |
39: ; preds = %34 | |
%40 = load ptr, ptr %5, align 8, !nonnull !3, !align !6, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
store i64 %22, ptr %3, align 8 | |
%41 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %40, ptr %41, align 8 | |
%42 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 0 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
%45 = load ptr, ptr %44, align 8, !nonnull !3, !align !6, !noundef !3 | |
%46 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 0 | |
store i64 %43, ptr %46, align 8 | |
%47 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
store ptr %45, ptr %47, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
br label %50 | |
48: ; preds = %34 | |
%49 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
store ptr null, ptr %49, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
br label %57 | |
50: ; preds = %57, %39 | |
%51 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 0 | |
%52 = load i64, ptr %51, align 8 | |
%53 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
%54 = load ptr, ptr %53, align 8, !align !6, !noundef !3 | |
%55 = insertvalue { i64, ptr } poison, i64 %52, 0 | |
%56 = insertvalue { i64, ptr } %55, ptr %54, 1 | |
ret { i64, ptr } %56 | |
57: ; preds = %48, %24 | |
br label %50 | |
58: ; No predecessors! | |
%59 = load ptr, ptr %2, align 8, !noundef !3 | |
%60 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%61 = load i32, ptr %60, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%62 = insertvalue { ptr, i32 } poison, ptr %59, 0 | |
%63 = insertvalue { ptr, i32 } %62, i32 %61, 1 | |
resume { ptr, i32 } %63 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hac1e762370b9293eE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%6 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %4) | |
br i1 false, label %27, label %26 | |
12: ; preds = %2 | |
%13 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%16 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%19 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hd16706c6e9d0a444E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %14) #13 | |
%20 = extractvalue { ptr, ptr } %19, 0 | |
%21 = extractvalue { ptr, ptr } %19, 1 | |
%22 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%23 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h6ece77b79967d658E"(ptr noalias noundef align 8 dereferenceable(56) %22, i64 noundef %14) #13 | |
%24 = extractvalue { ptr, ptr } %23, 0 | |
%25 = extractvalue { ptr, ptr } %23, 1 | |
br label %54 | |
26: ; preds = %11 | |
store i8 0, ptr %4, align 1 | |
br label %34 | |
27: ; preds = %11 | |
%28 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%29 = load i64, ptr %28, align 8, !noundef !3 | |
%30 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%31 = load i64, ptr %30, align 8, !noundef !3 | |
%32 = icmp ult i64 %29, %31 | |
%33 = zext i1 %32 to i8 | |
store i8 %33, ptr %4, align 1 | |
br label %34 | |
34: ; preds = %27, %26 | |
%35 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%36 = trunc i8 %35 to i1 | |
br i1 %36, label %38, label %37 | |
37: ; preds = %34 | |
store ptr null, ptr %0, align 8 | |
br label %52 | |
38: ; preds = %34 | |
%39 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%42 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%46 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%47 = load i64, ptr %46, align 8, !noundef !3 | |
%48 = add i64 %47, 1 | |
store i64 %48, ptr %45, align 8 | |
%49 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hd16706c6e9d0a444E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %40) #13 | |
%50 = extractvalue { ptr, ptr } %49, 0 | |
%51 = extractvalue { ptr, ptr } %49, 1 | |
store ptr null, ptr %0, align 8 | |
br label %52 | |
52: ; preds = %38, %37 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %4) | |
br label %53 | |
53: ; preds = %54, %52 | |
ret void | |
54: ; preds = %12 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %20, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %21, ptr %56, align 8 | |
%57 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr } }, ptr %5, i32 0, i32 1 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %57, i32 0, i32 0 | |
store ptr %24, ptr %58, align 8 | |
%59 = getelementptr inbounds { ptr, ptr }, ptr %57, i32 0, i32 1 | |
store ptr %25, ptr %59, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
br label %53 | |
60: ; No predecessors! | |
%61 = load ptr, ptr %3, align 8, !noundef !3 | |
%62 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%63 = load i32, ptr %62, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%64 = insertvalue { ptr, i32 } poison, ptr %61, 0 | |
%65 = insertvalue { ptr, i32 } %64, i32 %63, 1 | |
resume { ptr, i32 } %65 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hb152db2fc72ce33bE"(ptr noalias noundef align 8 dereferenceable(80) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca { i64, ptr }, align 8 | |
%4 = alloca ptr, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca { i64, i64 }, align 8 | |
%7 = alloca { i64, i64 }, align 8 | |
%8 = alloca { i64, ptr }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%9 = getelementptr inbounds { { { ptr, { {}, ptr, i64, i64 } }, i64 }, { i64, i64 }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%10 = call { i64, i64 } @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h89a7c4814ec424d8E"(ptr noalias noundef align 8 dereferenceable(16) %9) #13 | |
store { i64, i64 } %10, ptr %6, align 8 | |
%11 = load i64, ptr %6, align 8, !range !7, !noundef !3 | |
switch i64 %11, label %12 [ | |
i64 0, label %13 | |
i64 1, label %14 | |
] | |
12: ; preds = %34, %26, %18, %1 | |
unreachable | |
13: ; preds = %1 | |
store i64 1, ptr %7, align 8 | |
br label %18 | |
14: ; preds = %1 | |
%15 = getelementptr inbounds { i64, i64 }, ptr %6, i32 0, i32 1 | |
%16 = load i64, ptr %15, align 8, !noundef !3 | |
%17 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %16, ptr %17, align 8 | |
store i64 0, ptr %7, align 8 | |
br label %18 | |
18: ; preds = %14, %13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%19 = load i64, ptr %7, align 8, !range !7, !noundef !3 | |
switch i64 %19, label %12 [ | |
i64 0, label %20 | |
i64 1, label %24 | |
] | |
20: ; preds = %18 | |
%21 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
%22 = load i64, ptr %21, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
%23 = call noundef align 1 dereferenceable_or_null(1) ptr @"_ZN100_$LT$core..iter..adapters..take..Take$LT$I$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h088a3efd70679c11E"(ptr noalias noundef align 8 dereferenceable(40) %0) #13 | |
store ptr %23, ptr %4, align 8 | |
br label %26 | |
24: ; preds = %18 | |
%25 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
store ptr null, ptr %25, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
br label %57 | |
26: ; preds = %20 | |
%27 = load ptr, ptr %4, align 8, !noundef !3 | |
%28 = ptrtoint ptr %27 to i64 | |
%29 = icmp eq i64 %28, 0 | |
%30 = select i1 %29, i64 0, i64 1 | |
switch i64 %30, label %12 [ | |
i64 0, label %31 | |
i64 1, label %32 | |
] | |
31: ; preds = %26 | |
store ptr null, ptr %5, align 8 | |
br label %34 | |
32: ; preds = %26 | |
%33 = load ptr, ptr %4, align 8, !nonnull !3, !align !4, !noundef !3 | |
store ptr %33, ptr %5, align 8 | |
br label %34 | |
34: ; preds = %32, %31 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
%35 = load ptr, ptr %5, align 8, !noundef !3 | |
%36 = ptrtoint ptr %35 to i64 | |
%37 = icmp eq i64 %36, 0 | |
%38 = select i1 %37, i64 1, i64 0 | |
switch i64 %38, label %12 [ | |
i64 0, label %39 | |
i64 1, label %48 | |
] | |
39: ; preds = %34 | |
%40 = load ptr, ptr %5, align 8, !nonnull !3, !align !4, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
store i64 %22, ptr %3, align 8 | |
%41 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %40, ptr %41, align 8 | |
%42 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 0 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
%45 = load ptr, ptr %44, align 8, !nonnull !3, !align !4, !noundef !3 | |
%46 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 0 | |
store i64 %43, ptr %46, align 8 | |
%47 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
store ptr %45, ptr %47, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
br label %50 | |
48: ; preds = %34 | |
%49 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
store ptr null, ptr %49, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
br label %57 | |
50: ; preds = %57, %39 | |
%51 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 0 | |
%52 = load i64, ptr %51, align 8 | |
%53 = getelementptr inbounds { i64, ptr }, ptr %8, i32 0, i32 1 | |
%54 = load ptr, ptr %53, align 8, !align !4, !noundef !3 | |
%55 = insertvalue { i64, ptr } poison, i64 %52, 0 | |
%56 = insertvalue { i64, ptr } %55, ptr %54, 1 | |
ret { i64, ptr } %56 | |
57: ; preds = %48, %24 | |
br label %50 | |
58: ; No predecessors! | |
%59 = load ptr, ptr %2, align 8, !noundef !3 | |
%60 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%61 = load i32, ptr %60, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%62 = insertvalue { ptr, i32 } poison, ptr %59, 0 | |
%63 = insertvalue { ptr, i32 } %62, i32 %61, 1 | |
resume { ptr, i32 } %63 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hb4247c73323e681fE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%6 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %4) | |
br i1 false, label %27, label %26 | |
12: ; preds = %2 | |
%13 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%16 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%19 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h89de01d04b05c4a4E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %14) #13 | |
%20 = extractvalue { ptr, ptr } %19, 0 | |
%21 = extractvalue { ptr, ptr } %19, 1 | |
%22 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%23 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hd16706c6e9d0a444E"(ptr noalias noundef align 8 dereferenceable(56) %22, i64 noundef %14) #13 | |
%24 = extractvalue { ptr, ptr } %23, 0 | |
%25 = extractvalue { ptr, ptr } %23, 1 | |
br label %54 | |
26: ; preds = %11 | |
store i8 0, ptr %4, align 1 | |
br label %34 | |
27: ; preds = %11 | |
%28 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%29 = load i64, ptr %28, align 8, !noundef !3 | |
%30 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%31 = load i64, ptr %30, align 8, !noundef !3 | |
%32 = icmp ult i64 %29, %31 | |
%33 = zext i1 %32 to i8 | |
store i8 %33, ptr %4, align 1 | |
br label %34 | |
34: ; preds = %27, %26 | |
%35 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%36 = trunc i8 %35 to i1 | |
br i1 %36, label %38, label %37 | |
37: ; preds = %34 | |
store ptr null, ptr %0, align 8 | |
br label %52 | |
38: ; preds = %34 | |
%39 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%42 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%46 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%47 = load i64, ptr %46, align 8, !noundef !3 | |
%48 = add i64 %47, 1 | |
store i64 %48, ptr %45, align 8 | |
%49 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h89de01d04b05c4a4E"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %40) #13 | |
%50 = extractvalue { ptr, ptr } %49, 0 | |
%51 = extractvalue { ptr, ptr } %49, 1 | |
store ptr null, ptr %0, align 8 | |
br label %52 | |
52: ; preds = %38, %37 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %4) | |
br label %53 | |
53: ; preds = %54, %52 | |
ret void | |
54: ; preds = %12 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %20, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %21, ptr %56, align 8 | |
%57 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr } }, ptr %5, i32 0, i32 1 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %57, i32 0, i32 0 | |
store ptr %24, ptr %58, align 8 | |
%59 = getelementptr inbounds { ptr, ptr }, ptr %57, i32 0, i32 1 | |
store ptr %25, ptr %59, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
br label %53 | |
60: ; No predecessors! | |
%61 = load ptr, ptr %3, align 8, !noundef !3 | |
%62 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%63 = load i32, ptr %62, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%64 = insertvalue { ptr, i32 } poison, ptr %61, 0 | |
%65 = insertvalue { ptr, i32 } %64, i32 %63, 1 | |
resume { ptr, i32 } %65 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hb989259c27093a21E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca i8, align 1 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
br i1 false, label %23, label %22 | |
12: ; preds = %1 | |
%13 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%16 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %14) #13 | |
%20 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%21 = call noundef align 2 dereferenceable(2) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h8adddd6571af427dE"(ptr noalias noundef align 8 dereferenceable(16) %20, i64 noundef %14) #13 | |
br label %54 | |
22: ; preds = %11 | |
store i8 0, ptr %3, align 1 | |
br label %30 | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 4 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %25, %27 | |
%29 = zext i1 %28 to i8 | |
store i8 %29, ptr %3, align 1 | |
br label %30 | |
30: ; preds = %23, %22 | |
%31 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%32 = trunc i8 %31 to i1 | |
br i1 %32, label %34, label %33 | |
33: ; preds = %30 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
34: ; preds = %30 | |
%35 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%36 = load i64, ptr %35, align 8, !noundef !3 | |
%37 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%38 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%39 = load i64, ptr %38, align 8, !noundef !3 | |
%40 = add i64 %39, 1 | |
store i64 %40, ptr %37, align 8 | |
%41 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%42 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = call noundef align 4 dereferenceable(4) ptr @"_ZN94_$LT$core..slice..iter..IterMut$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17ha821cc8f1b9ad8b6E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %36) #13 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
46: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
br label %47 | |
47: ; preds = %54, %46 | |
%48 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%49 = load ptr, ptr %48, align 8, !align !8, !noundef !3 | |
%50 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%51 = load ptr, ptr %50, align 8 | |
%52 = insertvalue { ptr, ptr } poison, ptr %49, 0 | |
%53 = insertvalue { ptr, ptr } %52, ptr %51, 1 | |
ret { ptr, ptr } %53 | |
54: ; preds = %12 | |
store ptr %19, ptr %4, align 8 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%57 = load ptr, ptr %56, align 8, !nonnull !3, !align !8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%59 = load ptr, ptr %58, align 8, !nonnull !3, !align !6, !noundef !3 | |
%60 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %57, ptr %60, align 8 | |
%61 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %59, ptr %61, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %47 | |
62: ; No predecessors! | |
%63 = load ptr, ptr %2, align 8, !noundef !3 | |
%64 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%65 = load i32, ptr %64, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%66 = insertvalue { ptr, i32 } poison, ptr %63, 0 | |
%67 = insertvalue { ptr, i32 } %66, i32 %65, 1 | |
resume { ptr, i32 } %67 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hc136cbef4e23d645E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca i8, align 1 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
br i1 false, label %23, label %22 | |
12: ; preds = %1 | |
%13 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%16 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = call noundef align 4 dereferenceable(4) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h788a3d980cffb9a4E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %14) #13 | |
%20 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%21 = call noundef align 1 dereferenceable(1) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h4b9fe176183bb556E"(ptr noalias noundef align 8 dereferenceable(16) %20, i64 noundef %14) #13 | |
br label %54 | |
22: ; preds = %11 | |
store i8 0, ptr %3, align 1 | |
br label %30 | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 4 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %25, %27 | |
%29 = zext i1 %28 to i8 | |
store i8 %29, ptr %3, align 1 | |
br label %30 | |
30: ; preds = %23, %22 | |
%31 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%32 = trunc i8 %31 to i1 | |
br i1 %32, label %34, label %33 | |
33: ; preds = %30 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
34: ; preds = %30 | |
%35 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%36 = load i64, ptr %35, align 8, !noundef !3 | |
%37 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%38 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%39 = load i64, ptr %38, align 8, !noundef !3 | |
%40 = add i64 %39, 1 | |
store i64 %40, ptr %37, align 8 | |
%41 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%42 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = call noundef align 4 dereferenceable(4) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h788a3d980cffb9a4E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %36) #13 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
46: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
br label %47 | |
47: ; preds = %54, %46 | |
%48 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%49 = load ptr, ptr %48, align 8, !align !8, !noundef !3 | |
%50 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%51 = load ptr, ptr %50, align 8 | |
%52 = insertvalue { ptr, ptr } poison, ptr %49, 0 | |
%53 = insertvalue { ptr, ptr } %52, ptr %51, 1 | |
ret { ptr, ptr } %53 | |
54: ; preds = %12 | |
store ptr %19, ptr %4, align 8 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%57 = load ptr, ptr %56, align 8, !nonnull !3, !align !8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%59 = load ptr, ptr %58, align 8, !nonnull !3, !align !4, !noundef !3 | |
%60 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %57, ptr %60, align 8 | |
%61 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %59, ptr %61, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %47 | |
62: ; No predecessors! | |
%63 = load ptr, ptr %2, align 8, !noundef !3 | |
%64 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%65 = load i32, ptr %64, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%66 = insertvalue { ptr, i32 } poison, ptr %63, 0 | |
%67 = insertvalue { ptr, i32 } %66, i32 %65, 1 | |
resume { ptr, i32 } %67 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hc834c59bea345793E"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(136) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%6 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %4) | |
br i1 false, label %27, label %26 | |
12: ; preds = %2 | |
%13 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%16 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
%19 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hcd56f2d18b8cc11fE"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %14) #13 | |
%20 = extractvalue { ptr, ptr } %19, 0 | |
%21 = extractvalue { ptr, ptr } %19, 1 | |
%22 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
%23 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hd16706c6e9d0a444E"(ptr noalias noundef align 8 dereferenceable(56) %22, i64 noundef %14) #13 | |
%24 = extractvalue { ptr, ptr } %23, 0 | |
%25 = extractvalue { ptr, ptr } %23, 1 | |
br label %54 | |
26: ; preds = %11 | |
store i8 0, ptr %4, align 1 | |
br label %34 | |
27: ; preds = %11 | |
%28 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%29 = load i64, ptr %28, align 8, !noundef !3 | |
%30 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 4 | |
%31 = load i64, ptr %30, align 8, !noundef !3 | |
%32 = icmp ult i64 %29, %31 | |
%33 = zext i1 %32 to i8 | |
store i8 %33, ptr %4, align 1 | |
br label %34 | |
34: ; preds = %27, %26 | |
%35 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%36 = trunc i8 %35 to i1 | |
br i1 %36, label %38, label %37 | |
37: ; preds = %34 | |
store ptr null, ptr %0, align 8 | |
br label %52 | |
38: ; preds = %34 | |
%39 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%42 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 2 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%46 = getelementptr inbounds { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 3 | |
%47 = load i64, ptr %46, align 8, !noundef !3 | |
%48 = add i64 %47, 1 | |
store i64 %48, ptr %45, align 8 | |
%49 = call { ptr, ptr } @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17hcd56f2d18b8cc11fE"(ptr noalias noundef align 8 dereferenceable(56) %1, i64 noundef %40) #13 | |
%50 = extractvalue { ptr, ptr } %49, 0 | |
%51 = extractvalue { ptr, ptr } %49, 1 | |
store ptr null, ptr %0, align 8 | |
br label %52 | |
52: ; preds = %38, %37 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %4) | |
br label %53 | |
53: ; preds = %54, %52 | |
ret void | |
54: ; preds = %12 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %20, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %21, ptr %56, align 8 | |
%57 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr } }, ptr %5, i32 0, i32 1 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %57, i32 0, i32 0 | |
store ptr %24, ptr %58, align 8 | |
%59 = getelementptr inbounds { ptr, ptr }, ptr %57, i32 0, i32 1 | |
store ptr %25, ptr %59, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
br label %53 | |
60: ; No predecessors! | |
%61 = load ptr, ptr %3, align 8, !noundef !3 | |
%62 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%63 = load i32, ptr %62, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%64 = insertvalue { ptr, i32 } poison, ptr %61, 0 | |
%65 = insertvalue { ptr, i32 } %64, i32 %63, 1 | |
resume { ptr, i32 } %65 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hcfa08edd19c8f727E"(ptr noalias noundef align 8 dereferenceable(56) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca i8, align 1 | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = alloca { ptr, ptr }, align 8 | |
%6 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
%8 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp ult i64 %7, %9 | |
br i1 %10, label %12, label %11 | |
11: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
br i1 false, label %23, label %22 | |
12: ; preds = %1 | |
%13 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%16 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = add i64 %17, 1 | |
store i64 %18, ptr %15, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = call noundef align 4 dereferenceable(4) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h788a3d980cffb9a4E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %14) #13 | |
%20 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 1 | |
%21 = call noundef align 2 dereferenceable(2) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h8adddd6571af427dE"(ptr noalias noundef align 8 dereferenceable(16) %20, i64 noundef %14) #13 | |
br label %54 | |
22: ; preds = %11 | |
store i8 0, ptr %3, align 1 | |
br label %30 | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 4 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %25, %27 | |
%29 = zext i1 %28 to i8 | |
store i8 %29, ptr %3, align 1 | |
br label %30 | |
30: ; preds = %23, %22 | |
%31 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%32 = trunc i8 %31 to i1 | |
br i1 %32, label %34, label %33 | |
33: ; preds = %30 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
34: ; preds = %30 | |
%35 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%36 = load i64, ptr %35, align 8, !noundef !3 | |
%37 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%38 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 2 | |
%39 = load i64, ptr %38, align 8, !noundef !3 | |
%40 = add i64 %39, 1 | |
store i64 %40, ptr %37, align 8 | |
%41 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%42 = getelementptr inbounds { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, ptr %0, i32 0, i32 3 | |
%43 = load i64, ptr %42, align 8, !noundef !3 | |
%44 = add i64 %43, 1 | |
store i64 %44, ptr %41, align 8 | |
%45 = call noundef align 4 dereferenceable(4) ptr @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$24__iterator_get_unchecked17h788a3d980cffb9a4E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %36) #13 | |
store ptr null, ptr %5, align 8 | |
br label %46 | |
46: ; preds = %34, %33 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
br label %47 | |
47: ; preds = %54, %46 | |
%48 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
%49 = load ptr, ptr %48, align 8, !align !8, !noundef !3 | |
%50 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
%51 = load ptr, ptr %50, align 8 | |
%52 = insertvalue { ptr, ptr } poison, ptr %49, 0 | |
%53 = insertvalue { ptr, ptr } %52, ptr %51, 1 | |
ret { ptr, ptr } %53 | |
54: ; preds = %12 | |
store ptr %19, ptr %4, align 8 | |
%55 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %55, align 8 | |
%56 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%57 = load ptr, ptr %56, align 8, !nonnull !3, !align !8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%59 = load ptr, ptr %58, align 8, !nonnull !3, !align !6, !noundef !3 | |
%60 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 0 | |
store ptr %57, ptr %60, align 8 | |
%61 = getelementptr inbounds { ptr, ptr }, ptr %5, i32 0, i32 1 | |
store ptr %59, ptr %61, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %47 | |
62: ; No predecessors! | |
%63 = load ptr, ptr %2, align 8, !noundef !3 | |
%64 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%65 = load i32, ptr %64, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%66 = insertvalue { ptr, i32 } poison, ptr %63, 0 | |
%67 = insertvalue { ptr, i32 } %66, i32 %65, 1 | |
resume { ptr, i32 } %67 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$4next17hd9ae5bcbf53cd881E"(ptr noalias nocapture noundef sret({ ptr, [4 x i64] }) align 8 dereferenceable(40) %0, ptr noalias noundef align 8 dereferenceable(192) %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%5 = alloca { ptr, { { ptr, ptr }, { ptr, ptr } } }, align 8 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr } }, align 8 | |
%7 = alloca { ptr, [3 x i64] }, align 8 | |
%8 = alloca { ptr, [3 x i64] }, align 8 | |
%9 = alloca ptr, align 8 | |
%10 = alloca ptr, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %9) | |
%11 = call noundef align 1 dereferenceable_or_null(1) ptr @"_ZN94_$LT$rav1e..lrf..HorzPaddedIter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h54313dde4be88c03E"(ptr noalias noundef align 8 dereferenceable(32) %1) #13 | |
store ptr %11, ptr %9, align 8 | |
%12 = load ptr, ptr %9, align 8, !noundef !3 | |
%13 = ptrtoint ptr %12 to i64 | |
%14 = icmp eq i64 %13, 0 | |
%15 = select i1 %14, i64 0, i64 1 | |
switch i64 %15, label %16 [ | |
i64 0, label %17 | |
i64 1, label %18 | |
] | |
16: ; preds = %36, %29, %20, %2 | |
unreachable | |
17: ; preds = %2 | |
store ptr null, ptr %10, align 8 | |
br label %20 | |
18: ; preds = %2 | |
%19 = load ptr, ptr %9, align 8, !nonnull !3, !align !4, !noundef !3 | |
store ptr %19, ptr %10, align 8 | |
br label %20 | |
20: ; preds = %18, %17 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %9) | |
%21 = load ptr, ptr %10, align 8, !noundef !3 | |
%22 = ptrtoint ptr %21 to i64 | |
%23 = icmp eq i64 %22, 0 | |
%24 = select i1 %23, i64 1, i64 0 | |
switch i64 %24, label %16 [ | |
i64 0, label %25 | |
i64 1, label %28 | |
] | |
25: ; preds = %20 | |
%26 = load ptr, ptr %10, align 8, !nonnull !3, !align !4, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
%27 = getelementptr inbounds { { { ptr, i64 }, i64, i64 }, { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }, ptr %1, i32 0, i32 1 | |
call void @"_ZN102_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h2749a207a6a0f9baE"(ptr noalias nocapture noundef sret({ ptr, [3 x i64] }) align 8 dereferenceable(32) %7, ptr noalias noundef align 8 dereferenceable(136) %27) #13 | |
br label %29 | |
28: ; preds = %20 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %45 | |
29: ; preds = %25 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %4) | |
%30 = load ptr, ptr %7, align 8, !noundef !3 | |
%31 = ptrtoint ptr %30 to i64 | |
%32 = icmp eq i64 %31, 0 | |
%33 = select i1 %32, i64 0, i64 1 | |
switch i64 %33, label %16 [ | |
i64 0, label %34 | |
i64 1, label %35 | |
] | |
34: ; preds = %29 | |
store ptr null, ptr %8, align 8 | |
br label %36 | |
35: ; preds = %29 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %7, i64 32, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %4, i64 32, i1 false) | |
br label %36 | |
36: ; preds = %35, %34 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
%37 = load ptr, ptr %8, align 8, !noundef !3 | |
%38 = ptrtoint ptr %37 to i64 | |
%39 = icmp eq i64 %38, 0 | |
%40 = select i1 %39, i64 1, i64 0 | |
switch i64 %40, label %16 [ | |
i64 0, label %41 | |
i64 1, label %43 | |
] | |
41: ; preds = %36 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %8, i64 32, i1 false) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 40, ptr %5) | |
store ptr %26, ptr %5, align 8 | |
%42 = getelementptr inbounds { ptr, { { ptr, ptr }, { ptr, ptr } } }, ptr %5, i32 0, i32 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %42, ptr align 8 %6, i64 32, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %5, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 40, ptr %5) | |
br label %44 | |
43: ; preds = %36 | |
store ptr null, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %8) | |
br label %45 | |
44: ; preds = %45, %41 | |
ret void | |
45: ; preds = %43, %28 | |
br label %44 | |
46: ; No predecessors! | |
%47 = load ptr, ptr %3, align 8, !noundef !3 | |
%48 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%49 = load i32, ptr %48, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%50 = insertvalue { ptr, i32 } poison, ptr %47, 0 | |
%51 = insertvalue { ptr, i32 } %50, i32 %49, 1 | |
resume { ptr, i32 } %51 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17h050fec951d1d1830E"(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %1, i64 32, i1 false) | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h4e57fbbe5189b9cfE(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %7, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias nocapture noundef align 8 dereferenceable(32) %5) #13 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17h09ac9d186c456155E"(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %1, i64 32, i1 false) | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h838ffa6841d39f23E(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %7, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias nocapture noundef align 8 dereferenceable(32) %5) #13 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17h3ce6cf919550cbb6E"(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %1, i64 32, i1 false) | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h4044388942566515E(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %7, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias nocapture noundef align 8 dereferenceable(32) %5) #13 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17h5ab415a3e8ad153dE"(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { { {}, ptr, { ptr, i64 } }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { {}, ptr, { ptr, i64 } }, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %1, i64 32, i1 false) | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h402580c0f6a38b82E(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %7, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias nocapture noundef align 8 dereferenceable(32) %5) #13 | |
call void @llvm.lifetime.end.p0(i64 32, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17h5c6002117927b383E"(ptr noalias noundef readonly align 8 dereferenceable(40) %0, i64 noundef %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2) unnamed_addr #1 { | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h8a95a11895e1c92dE(i64 noundef %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2, ptr noalias noundef readonly align 8 dereferenceable(40) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17h785b60395caad793E"(ptr noalias noundef readonly align 8 dereferenceable(16) %0, i64 noundef %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h0c39437874c829b7E(i64 noundef %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17hb0336230eed7feedE"(ptr noalias noundef readonly align 8 dereferenceable(40) %0, i64 noundef %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2) unnamed_addr #1 { | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h44f74f100f40ce5fE(i64 noundef %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2, ptr noalias noundef readonly align 8 dereferenceable(40) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17hd4149f741f9a6d35E"(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(24) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 0 | |
%8 = load ptr, ptr %7, align 8, !nonnull !3, !align !4, !noundef !3 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 1 | |
%10 = load ptr, ptr %9, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17hcff9df108915e5edE(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %6, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias noundef nonnull readonly align 1 %8, ptr noalias noundef readonly align 8 dereferenceable(16) %10) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17he31c6a5cd10be16bE"(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %1, i64 48, i1 false) | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h86c333f056d3feffE(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %7, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias nocapture noundef align 8 dereferenceable(48) %5) #13 | |
call void @llvm.lifetime.end.p0(i64 48, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17he3dbca180b184a95E"(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, align 8 | |
%6 = getelementptr inbounds { { { ptr, { ptr, i64 }, { ptr, i64 } }, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%7 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %1, i64 48, i1 false) | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17ha4a6621ca4b95f35E(ptr noalias nocapture noundef sret({ { {}, ptr, i64, i64 }, { {}, ptr, i64, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %7, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias nocapture noundef align 8 dereferenceable(48) %5) #13 | |
call void @llvm.lifetime.end.p0(i64 48, ptr %5) | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17hea577cc1324b9b1aE"(ptr noalias noundef readonly align 8 dereferenceable(16) %0, i64 noundef %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17hfaf231fe38021218E(i64 noundef %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN117_$LT$rayon..iter..plumbing..bridge..Callback$LT$C$GT$$u20$as$u20$rayon..iter..plumbing..ProducerCallback$LT$I$GT$$GT$8callback17hfe1e67f50f3b55e6E"(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, ptr noalias nocapture noundef align 8 dereferenceable(24) %1, ptr noalias noundef nonnull align 8 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %1, i32 0, i32 1 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
%7 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 0 | |
%8 = load ptr, ptr %7, align 8, !nonnull !3, !align !4, !noundef !3 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %1, i32 0, i32 1 | |
%10 = load ptr, ptr %9, align 8, !nonnull !3, !align !5, !noundef !3 | |
call void @_ZN5rayon4iter8plumbing24bridge_producer_consumer17h7344c2cc2a4e8ca1E(ptr noalias nocapture noundef sret({ { {}, {}, ptr, ptr, i64 }, { {}, {}, ptr, ptr, i64 } }) align 8 dereferenceable(48) %0, i64 noundef %6, ptr noalias noundef nonnull align 8 %2, i64 noundef %3, ptr noalias noundef nonnull readonly align 1 %8, ptr noalias noundef readonly align 8 dereferenceable(16) %10) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, i64 } @"_ZN146_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..iter..adapters..step_by..SpecRangeSetup$LT$core..ops..range..Range$LT$usize$GT$$GT$$GT$5setup17h1cbeab346b663e68E"(i64 noundef %0, i64 noundef %1, i64 noundef %2) unnamed_addr #0 { | |
%4 = alloca { i64, { i64, i64 } }, align 8 | |
%5 = alloca { i64, i64 }, align 8 | |
%6 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 0 | |
store i64 %0, ptr %6, align 8 | |
%7 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %1, ptr %7, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %4) | |
call void @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9size_hint17h927ddd1aafe48816E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %4, ptr noalias noundef readonly align 8 dereferenceable(16) %5) #13 | |
%8 = load i64, ptr %4, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %4) | |
%9 = call noundef i64 @"_ZN4core3num23_$LT$impl$u20$usize$GT$8div_ceil17hf25c534123c539daE"(i64 noundef %8, i64 noundef %2) #13 | |
%10 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %9, ptr %10, align 8 | |
%11 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 0 | |
%12 = load i64, ptr %11, align 8, !noundef !3 | |
%13 = getelementptr inbounds { i64, i64 }, ptr %5, i32 0, i32 1 | |
%14 = load i64, ptr %13, align 8, !noundef !3 | |
%15 = insertvalue { i64, i64 } poison, i64 %12, 0 | |
%16 = insertvalue { i64, i64 } %15, i64 %14, 1 | |
ret { i64, i64 } %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h137ad72b2ef14d2eE"(ptr noundef nonnull align 4 %0, i1 noundef zeroext %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i8 }, align 8 | |
%4 = alloca ptr, align 8 | |
store ptr %0, ptr %4, align 8 | |
%5 = load ptr, ptr %4, align 8, !nonnull !3, !align !8, !noundef !3 | |
store ptr %5, ptr %3, align 8 | |
%6 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%7 = zext i1 %1 to i8 | |
store i8 %7, ptr %6, align 8 | |
%8 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 0 | |
%9 = load ptr, ptr %8, align 8, !nonnull !3, !align !8, !noundef !3 | |
%10 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%11 = load i8, ptr %10, align 8, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
%13 = zext i1 %12 to i8 | |
%14 = insertvalue { ptr, i8 } poison, ptr %9, 0 | |
%15 = insertvalue { ptr, i8 } %14, i8 %13, 1 | |
ret { ptr, i8 } %15 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h1a06d42030397c2aE"(ptr noundef nonnull align 8 %0, i1 noundef zeroext %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i8 }, align 8 | |
%4 = alloca ptr, align 8 | |
store ptr %0, ptr %4, align 8 | |
%5 = load ptr, ptr %4, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %5, ptr %3, align 8 | |
%6 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%7 = zext i1 %1 to i8 | |
store i8 %7, ptr %6, align 8 | |
%8 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 0 | |
%9 = load ptr, ptr %8, align 8, !nonnull !3, !align !5, !noundef !3 | |
%10 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%11 = load i8, ptr %10, align 8, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
%13 = zext i1 %12 to i8 | |
%14 = insertvalue { ptr, i8 } poison, ptr %9, 0 | |
%15 = insertvalue { ptr, i8 } %14, i8 %13, 1 | |
ret { ptr, i8 } %15 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h67d4cc556e508076E"(ptr noundef nonnull align 8 %0, i1 noundef zeroext %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i8 }, align 8 | |
%4 = alloca ptr, align 8 | |
store ptr %0, ptr %4, align 8 | |
%5 = load ptr, ptr %4, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %5, ptr %3, align 8 | |
%6 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%7 = zext i1 %1 to i8 | |
store i8 %7, ptr %6, align 8 | |
%8 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 0 | |
%9 = load ptr, ptr %8, align 8, !nonnull !3, !align !5, !noundef !3 | |
%10 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%11 = load i8, ptr %10, align 8, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
%13 = zext i1 %12 to i8 | |
%14 = insertvalue { ptr, i8 } poison, ptr %9, 0 | |
%15 = insertvalue { ptr, i8 } %14, i8 %13, 1 | |
ret { ptr, i8 } %15 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @_ZN3std4sync6poison10map_result17h04a8b088d3f149b0E(ptr noalias nocapture noundef sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %0, i1 noundef zeroext %1, ptr noundef nonnull align 8 %2) unnamed_addr #1 { | |
%4 = alloca { ptr, ptr }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = zext i1 %1 to i8 | |
store i8 %6, ptr %5, align 1 | |
%7 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%8 = trunc i8 %7 to i1 | |
%9 = zext i1 %8 to i64 | |
switch i64 %9, label %10 [ | |
i64 0, label %11 | |
i64 1, label %18 | |
] | |
10: ; preds = %3 | |
unreachable | |
11: ; preds = %3 | |
%12 = call { ptr, ptr } @"_ZN3std4sync6rwlock24RwLockReadGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h300c5eb6ead41919E"(ptr noundef nonnull align 8 %2) #13 | |
%13 = extractvalue { ptr, ptr } %12, 0 | |
%14 = extractvalue { ptr, ptr } %12, 1 | |
%15 = getelementptr inbounds { [1 x i64], { ptr, ptr } }, ptr %0, i32 0, i32 1 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 0 | |
store ptr %13, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
store ptr %14, ptr %17, align 8 | |
store i64 0, ptr %0, align 8 | |
br label %31 | |
18: ; preds = %3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%19 = call { ptr, ptr } @"_ZN3std4sync6rwlock24RwLockReadGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h300c5eb6ead41919E"(ptr noundef nonnull align 8 %2) #13 | |
%20 = extractvalue { ptr, ptr } %19, 0 | |
%21 = extractvalue { ptr, ptr } %19, 1 | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
store ptr %20, ptr %22, align 8 | |
%23 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %21, ptr %23, align 8 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 0 | |
%25 = load ptr, ptr %24, align 8, !nonnull !3, !noundef !3 | |
%26 = getelementptr inbounds { ptr, ptr }, ptr %4, i32 0, i32 1 | |
%27 = load ptr, ptr %26, align 8, !nonnull !3, !align !8, !noundef !3 | |
%28 = getelementptr inbounds { [1 x i64], { ptr, ptr } }, ptr %0, i32 0, i32 1 | |
%29 = getelementptr inbounds { ptr, ptr }, ptr %28, i32 0, i32 0 | |
store ptr %25, ptr %29, align 8 | |
%30 = getelementptr inbounds { ptr, ptr }, ptr %28, i32 0, i32 1 | |
store ptr %27, ptr %30, align 8 | |
store i64 1, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
br label %31 | |
31: ; preds = %18, %11 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @_ZN3std4sync6poison10map_result17h0877f2343546bd77E(ptr noalias nocapture noundef sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %0, i1 noundef zeroext %1, i8 noundef %2, ptr noundef nonnull align 8 %3) unnamed_addr #1 { | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, i8 }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca { i8, i8 }, align 1 | |
%9 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 0 | |
%10 = zext i1 %1 to i8 | |
store i8 %10, ptr %9, align 1 | |
%11 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
store i8 %2, ptr %11, align 1 | |
%12 = load i8, ptr %8, align 1, !range !9, !noundef !3 | |
%13 = trunc i8 %12 to i1 | |
%14 = zext i1 %13 to i64 | |
switch i64 %14, label %15 [ | |
i64 0, label %16 | |
i64 1, label %31 | |
] | |
15: ; preds = %4 | |
unreachable | |
16: ; preds = %4 | |
%17 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%18 = load i8, ptr %17, align 1, !range !9, !noundef !3 | |
%19 = trunc i8 %18 to i1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%20 = zext i1 %19 to i8 | |
store i8 %20, ptr %7, align 1 | |
%21 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%22 = trunc i8 %21 to i1 | |
%23 = call { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h67d4cc556e508076E"(ptr noundef nonnull align 8 %3, i1 noundef zeroext %22) #13 | |
%24 = extractvalue { ptr, i8 } %23, 0 | |
%25 = extractvalue { ptr, i8 } %23, 1 | |
%26 = trunc i8 %25 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%27 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%28 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 0 | |
store ptr %24, ptr %28, align 8 | |
%29 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 1 | |
%30 = zext i1 %26 to i8 | |
store i8 %30, ptr %29, align 8 | |
store i64 0, ptr %0, align 8 | |
br label %54 | |
31: ; preds = %4 | |
%32 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%33 = load i8, ptr %32, align 1, !range !9, !noundef !3 | |
%34 = trunc i8 %33 to i1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %5) | |
%35 = zext i1 %34 to i8 | |
store i8 %35, ptr %5, align 1 | |
%36 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
%38 = call { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h67d4cc556e508076E"(ptr noundef nonnull align 8 %3, i1 noundef zeroext %37) #13 | |
%39 = extractvalue { ptr, i8 } %38, 0 | |
%40 = extractvalue { ptr, i8 } %38, 1 | |
%41 = trunc i8 %40 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %5) | |
%42 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
store ptr %39, ptr %42, align 8 | |
%43 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%44 = zext i1 %41 to i8 | |
store i8 %44, ptr %43, align 8 | |
%45 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
%46 = load ptr, ptr %45, align 8, !nonnull !3, !align !5, !noundef !3 | |
%47 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%48 = load i8, ptr %47, align 8, !range !9, !noundef !3 | |
%49 = trunc i8 %48 to i1 | |
%50 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%51 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 0 | |
store ptr %46, ptr %51, align 8 | |
%52 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 1 | |
%53 = zext i1 %49 to i8 | |
store i8 %53, ptr %52, align 8 | |
store i64 1, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %54 | |
54: ; preds = %31, %16 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @_ZN3std4sync6poison10map_result17h82e564e72a2ff0cdE(ptr noalias nocapture noundef sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %0, i1 noundef zeroext %1, i8 noundef %2, ptr noundef nonnull align 4 %3) unnamed_addr #1 { | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, i8 }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca { i8, i8 }, align 1 | |
%9 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 0 | |
%10 = zext i1 %1 to i8 | |
store i8 %10, ptr %9, align 1 | |
%11 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
store i8 %2, ptr %11, align 1 | |
%12 = load i8, ptr %8, align 1, !range !9, !noundef !3 | |
%13 = trunc i8 %12 to i1 | |
%14 = zext i1 %13 to i64 | |
switch i64 %14, label %15 [ | |
i64 0, label %16 | |
i64 1, label %31 | |
] | |
15: ; preds = %4 | |
unreachable | |
16: ; preds = %4 | |
%17 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%18 = load i8, ptr %17, align 1, !range !9, !noundef !3 | |
%19 = trunc i8 %18 to i1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%20 = zext i1 %19 to i8 | |
store i8 %20, ptr %7, align 1 | |
%21 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%22 = trunc i8 %21 to i1 | |
%23 = call { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h137ad72b2ef14d2eE"(ptr noundef nonnull align 4 %3, i1 noundef zeroext %22) #13 | |
%24 = extractvalue { ptr, i8 } %23, 0 | |
%25 = extractvalue { ptr, i8 } %23, 1 | |
%26 = trunc i8 %25 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%27 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%28 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 0 | |
store ptr %24, ptr %28, align 8 | |
%29 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 1 | |
%30 = zext i1 %26 to i8 | |
store i8 %30, ptr %29, align 8 | |
store i64 0, ptr %0, align 8 | |
br label %54 | |
31: ; preds = %4 | |
%32 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%33 = load i8, ptr %32, align 1, !range !9, !noundef !3 | |
%34 = trunc i8 %33 to i1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %5) | |
%35 = zext i1 %34 to i8 | |
store i8 %35, ptr %5, align 1 | |
%36 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
%38 = call { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h137ad72b2ef14d2eE"(ptr noundef nonnull align 4 %3, i1 noundef zeroext %37) #13 | |
%39 = extractvalue { ptr, i8 } %38, 0 | |
%40 = extractvalue { ptr, i8 } %38, 1 | |
%41 = trunc i8 %40 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %5) | |
%42 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
store ptr %39, ptr %42, align 8 | |
%43 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%44 = zext i1 %41 to i8 | |
store i8 %44, ptr %43, align 8 | |
%45 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
%46 = load ptr, ptr %45, align 8, !nonnull !3, !align !8, !noundef !3 | |
%47 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%48 = load i8, ptr %47, align 8, !range !9, !noundef !3 | |
%49 = trunc i8 %48 to i1 | |
%50 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%51 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 0 | |
store ptr %46, ptr %51, align 8 | |
%52 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 1 | |
%53 = zext i1 %49 to i8 | |
store i8 %53, ptr %52, align 8 | |
store i64 1, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %54 | |
54: ; preds = %31, %16 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @_ZN3std4sync6poison10map_result17h97e5a938a1a1f390E(ptr noalias nocapture noundef sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %0, i1 noundef zeroext %1, i8 noundef %2, ptr noundef nonnull align 8 %3) unnamed_addr #1 { | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, i8 }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca { i8, i8 }, align 1 | |
%9 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 0 | |
%10 = zext i1 %1 to i8 | |
store i8 %10, ptr %9, align 1 | |
%11 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
store i8 %2, ptr %11, align 1 | |
%12 = load i8, ptr %8, align 1, !range !9, !noundef !3 | |
%13 = trunc i8 %12 to i1 | |
%14 = zext i1 %13 to i64 | |
switch i64 %14, label %15 [ | |
i64 0, label %16 | |
i64 1, label %31 | |
] | |
15: ; preds = %4 | |
unreachable | |
16: ; preds = %4 | |
%17 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%18 = load i8, ptr %17, align 1, !range !9, !noundef !3 | |
%19 = trunc i8 %18 to i1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%20 = zext i1 %19 to i8 | |
store i8 %20, ptr %7, align 1 | |
%21 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%22 = trunc i8 %21 to i1 | |
%23 = call { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h1a06d42030397c2aE"(ptr noundef nonnull align 8 %3, i1 noundef zeroext %22) #13 | |
%24 = extractvalue { ptr, i8 } %23, 0 | |
%25 = extractvalue { ptr, i8 } %23, 1 | |
%26 = trunc i8 %25 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%27 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%28 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 0 | |
store ptr %24, ptr %28, align 8 | |
%29 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 1 | |
%30 = zext i1 %26 to i8 | |
store i8 %30, ptr %29, align 8 | |
store i64 0, ptr %0, align 8 | |
br label %54 | |
31: ; preds = %4 | |
%32 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%33 = load i8, ptr %32, align 1, !range !9, !noundef !3 | |
%34 = trunc i8 %33 to i1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %5) | |
%35 = zext i1 %34 to i8 | |
store i8 %35, ptr %5, align 1 | |
%36 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
%38 = call { ptr, i8 } @"_ZN3std4sync5mutex19MutexGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h1a06d42030397c2aE"(ptr noundef nonnull align 8 %3, i1 noundef zeroext %37) #13 | |
%39 = extractvalue { ptr, i8 } %38, 0 | |
%40 = extractvalue { ptr, i8 } %38, 1 | |
%41 = trunc i8 %40 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %5) | |
%42 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
store ptr %39, ptr %42, align 8 | |
%43 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%44 = zext i1 %41 to i8 | |
store i8 %44, ptr %43, align 8 | |
%45 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
%46 = load ptr, ptr %45, align 8, !nonnull !3, !align !5, !noundef !3 | |
%47 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%48 = load i8, ptr %47, align 8, !range !9, !noundef !3 | |
%49 = trunc i8 %48 to i1 | |
%50 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%51 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 0 | |
store ptr %46, ptr %51, align 8 | |
%52 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 1 | |
%53 = zext i1 %49 to i8 | |
store i8 %53, ptr %52, align 8 | |
store i64 1, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %54 | |
54: ; preds = %31, %16 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @_ZN3std4sync6poison10map_result17he7cefcf9bebfd2f6E(ptr noalias nocapture noundef sret({ i64, [2 x i64] }) align 8 dereferenceable(24) %0, i1 noundef zeroext %1, i8 noundef %2, ptr noundef nonnull align 8 %3) unnamed_addr #1 { | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, i8 }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca { i8, i8 }, align 1 | |
%9 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 0 | |
%10 = zext i1 %1 to i8 | |
store i8 %10, ptr %9, align 1 | |
%11 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
store i8 %2, ptr %11, align 1 | |
%12 = load i8, ptr %8, align 1, !range !9, !noundef !3 | |
%13 = trunc i8 %12 to i1 | |
%14 = zext i1 %13 to i64 | |
switch i64 %14, label %15 [ | |
i64 0, label %16 | |
i64 1, label %31 | |
] | |
15: ; preds = %4 | |
unreachable | |
16: ; preds = %4 | |
%17 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%18 = load i8, ptr %17, align 1, !range !9, !noundef !3 | |
%19 = trunc i8 %18 to i1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%20 = zext i1 %19 to i8 | |
store i8 %20, ptr %7, align 1 | |
%21 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%22 = trunc i8 %21 to i1 | |
%23 = call { ptr, i8 } @"_ZN3std4sync6rwlock25RwLockWriteGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h4cc038feafbe3bb8E"(ptr noundef nonnull align 8 %3, i1 noundef zeroext %22) #13 | |
%24 = extractvalue { ptr, i8 } %23, 0 | |
%25 = extractvalue { ptr, i8 } %23, 1 | |
%26 = trunc i8 %25 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%27 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%28 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 0 | |
store ptr %24, ptr %28, align 8 | |
%29 = getelementptr inbounds { ptr, i8 }, ptr %27, i32 0, i32 1 | |
%30 = zext i1 %26 to i8 | |
store i8 %30, ptr %29, align 8 | |
store i64 0, ptr %0, align 8 | |
br label %54 | |
31: ; preds = %4 | |
%32 = getelementptr inbounds { i8, i8 }, ptr %8, i32 0, i32 1 | |
%33 = load i8, ptr %32, align 1, !range !9, !noundef !3 | |
%34 = trunc i8 %33 to i1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %5) | |
%35 = zext i1 %34 to i8 | |
store i8 %35, ptr %5, align 1 | |
%36 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
%38 = call { ptr, i8 } @"_ZN3std4sync6rwlock25RwLockWriteGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h4cc038feafbe3bb8E"(ptr noundef nonnull align 8 %3, i1 noundef zeroext %37) #13 | |
%39 = extractvalue { ptr, i8 } %38, 0 | |
%40 = extractvalue { ptr, i8 } %38, 1 | |
%41 = trunc i8 %40 to i1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %5) | |
%42 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
store ptr %39, ptr %42, align 8 | |
%43 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%44 = zext i1 %41 to i8 | |
store i8 %44, ptr %43, align 8 | |
%45 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 0 | |
%46 = load ptr, ptr %45, align 8, !nonnull !3, !align !5, !noundef !3 | |
%47 = getelementptr inbounds { ptr, i8 }, ptr %6, i32 0, i32 1 | |
%48 = load i8, ptr %47, align 8, !range !9, !noundef !3 | |
%49 = trunc i8 %48 to i1 | |
%50 = getelementptr inbounds { [1 x i64], { ptr, i8 } }, ptr %0, i32 0, i32 1 | |
%51 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 0 | |
store ptr %46, ptr %51, align 8 | |
%52 = getelementptr inbounds { ptr, i8 }, ptr %50, i32 0, i32 1 | |
%53 = zext i1 %49 to i8 | |
store i8 %53, ptr %52, align 8 | |
store i64 1, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %54 | |
54: ; preds = %31, %16 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @"_ZN3std4sync6rwlock24RwLockReadGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h300c5eb6ead41919E"(ptr noundef nonnull align 8 %0) unnamed_addr #0 { | |
%2 = alloca ptr, align 8 | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = alloca ptr, align 8 | |
store ptr %0, ptr %4, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %2) | |
%5 = load ptr, ptr %4, align 8, !nonnull !3, !align !5, !noundef !3 | |
%6 = getelementptr inbounds { { { i32 }, { i32 } }, { { i8 } }, [7 x i8], { [8 x { { ptr, i64 }, i64, i64 }] } }, ptr %5, i32 0, i32 3 | |
store ptr %6, ptr %2, align 8 | |
%7 = load ptr, ptr %4, align 8, !nonnull !3, !align !5, !noundef !3 | |
%8 = load ptr, ptr %2, align 8, !nonnull !3, !noundef !3 | |
store ptr %8, ptr %3, align 8 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %7, ptr %9, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %2) | |
%10 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%11 = load ptr, ptr %10, align 8, !nonnull !3, !noundef !3 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%13 = load ptr, ptr %12, align 8, !nonnull !3, !align !8, !noundef !3 | |
%14 = insertvalue { ptr, ptr } poison, ptr %11, 0 | |
%15 = insertvalue { ptr, ptr } %14, ptr %13, 1 | |
ret { ptr, ptr } %15 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, i8 } @"_ZN3std4sync6rwlock25RwLockWriteGuard$LT$T$GT$3new28_$u7b$$u7b$closure$u7d$$u7d$17h4cc038feafbe3bb8E"(ptr noundef nonnull align 8 %0, i1 noundef zeroext %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i8 }, align 8 | |
%4 = alloca ptr, align 8 | |
store ptr %0, ptr %4, align 8 | |
%5 = load ptr, ptr %4, align 8, !nonnull !3, !align !5, !noundef !3 | |
store ptr %5, ptr %3, align 8 | |
%6 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%7 = zext i1 %1 to i8 | |
store i8 %7, ptr %6, align 8 | |
%8 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 0 | |
%9 = load ptr, ptr %8, align 8, !nonnull !3, !align !5, !noundef !3 | |
%10 = getelementptr inbounds { ptr, i8 }, ptr %3, i32 0, i32 1 | |
%11 = load i8, ptr %10, align 8, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
%13 = zext i1 %12 to i8 | |
%14 = insertvalue { ptr, i8 } poison, ptr %9, 0 | |
%15 = insertvalue { ptr, i8 } %14, i8 %13, 1 | |
ret { ptr, i8 } %15 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN49_$LT$T$u20$as$u20$core..array..SpecArrayClone$GT$5clone17h16dc8991ddc4cb5cE"(ptr noalias nocapture noundef sret([3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }]) align 8 dereferenceable(288) %0, ptr noalias noundef readonly align 8 dereferenceable(288) %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = alloca { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca ptr, align 8 | |
%7 = alloca { ptr, ptr }, align 8 | |
%8 = alloca { ptr, ptr }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
br i1 false, label %11, label %9 | |
9: ; preds = %2 | |
%10 = getelementptr inbounds { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr %1, i64 3 | |
store ptr %10, ptr %6, align 8 | |
br label %12 | |
11: ; preds = %2 | |
store ptr inttoptr (i64 3 to ptr), ptr %6, align 8 | |
br label %12 | |
12: ; preds = %11, %9 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
store ptr %1, ptr %5, align 8 | |
%13 = load ptr, ptr %6, align 8, !noundef !3 | |
%14 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %14, ptr %7, align 8 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
store ptr %13, ptr %15, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !nonnull !3, !noundef !3 | |
%18 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
%19 = load ptr, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
store ptr %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !nonnull !3, !noundef !3 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
%25 = load ptr, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
store ptr %23, ptr %26, align 8 | |
%27 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %25, ptr %27, align 8 | |
%28 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%29 = load ptr, ptr %28, align 8, !nonnull !3, !noundef !3 | |
%30 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%31 = load ptr, ptr %30, align 8, !noundef !3 | |
call void @_ZN4core5array25try_from_trusted_iterator17h96b883d9c2b6c62cE(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %4, ptr noundef nonnull %29, ptr noundef %31) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %8) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN49_$LT$T$u20$as$u20$core..array..SpecArrayClone$GT$5clone17hb6e0caeb60adb367E"(ptr noalias nocapture noundef sret([3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }]) align 8 dereferenceable(288) %0, ptr noalias noundef readonly align 8 dereferenceable(288) %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = alloca { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca ptr, align 8 | |
%7 = alloca { ptr, ptr }, align 8 | |
%8 = alloca { ptr, ptr }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
br i1 false, label %11, label %9 | |
9: ; preds = %2 | |
%10 = getelementptr inbounds { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, ptr %1, i64 3 | |
store ptr %10, ptr %6, align 8 | |
br label %12 | |
11: ; preds = %2 | |
store ptr inttoptr (i64 3 to ptr), ptr %6, align 8 | |
br label %12 | |
12: ; preds = %11, %9 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
store ptr %1, ptr %5, align 8 | |
%13 = load ptr, ptr %6, align 8, !noundef !3 | |
%14 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %14, ptr %7, align 8 | |
%15 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
store ptr %13, ptr %15, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !nonnull !3, !noundef !3 | |
%18 = getelementptr inbounds { ptr, ptr }, ptr %7, i32 0, i32 1 | |
%19 = load ptr, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
store ptr %19, ptr %21, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !nonnull !3, !noundef !3 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
%25 = load ptr, ptr %24, align 8, !noundef !3 | |
%26 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
store ptr %23, ptr %26, align 8 | |
%27 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %25, ptr %27, align 8 | |
%28 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%29 = load ptr, ptr %28, align 8, !nonnull !3, !noundef !3 | |
%30 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%31 = load ptr, ptr %30, align 8, !noundef !3 | |
call void @_ZN4core5array25try_from_trusted_iterator17h5192ea6329bbf1aaE(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %4, ptr noundef nonnull %29, ptr noundef %31) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %4, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %4) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %8) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN49_$LT$isize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17ha66ff3745aedc319E"(i64 noundef %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = add nsw i64 %0, %1 | |
ret i64 %3 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, i64 } @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$13steps_between17h124743e14a81458dE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #0 { | |
%3 = alloca { i64, i64 }, align 8 | |
%4 = load i64, ptr %0, align 8, !noundef !3 | |
%5 = load i64, ptr %1, align 8, !noundef !3 | |
%6 = icmp ule i64 %4, %5 | |
br i1 %6, label %8, label %7 | |
7: ; preds = %2 | |
store i64 0, ptr %3, align 8 | |
br label %13 | |
8: ; preds = %2 | |
%9 = load i64, ptr %1, align 8, !noundef !3 | |
%10 = load i64, ptr %0, align 8, !noundef !3 | |
%11 = sub i64 %9, %10 | |
%12 = getelementptr inbounds { i64, i64 }, ptr %3, i32 0, i32 1 | |
store i64 %11, ptr %12, align 8 | |
store i64 1, ptr %3, align 8 | |
br label %13 | |
13: ; preds = %8, %7 | |
%14 = getelementptr inbounds { i64, i64 }, ptr %3, i32 0, i32 0 | |
%15 = load i64, ptr %14, align 8, !range !7, !noundef !3 | |
%16 = getelementptr inbounds { i64, i64 }, ptr %3, i32 0, i32 1 | |
%17 = load i64, ptr %16, align 8 | |
%18 = insertvalue { i64, i64 } poison, i64 %15, 0 | |
%19 = insertvalue { i64, i64 } %18, i64 %17, 1 | |
ret { i64, i64 } %19 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h70ee56afff9bf27fE"(i64 noundef %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = add nuw i64 %0, %1 | |
ret i64 %3 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$isize$GT$3cmp17h0e98cc3d5a0a6fffE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #0 { | |
%3 = alloca i8, align 1 | |
%4 = load i64, ptr %0, align 8, !noundef !3 | |
%5 = load i64, ptr %1, align 8, !noundef !3 | |
%6 = icmp slt i64 %4, %5 | |
br i1 %6, label %11, label %7 | |
7: ; preds = %2 | |
%8 = load i64, ptr %0, align 8, !noundef !3 | |
%9 = load i64, ptr %1, align 8, !noundef !3 | |
%10 = icmp eq i64 %8, %9 | |
br i1 %10, label %13, label %12 | |
11: ; preds = %2 | |
store i8 -1, ptr %3, align 1 | |
br label %15 | |
12: ; preds = %7 | |
store i8 1, ptr %3, align 1 | |
br label %14 | |
13: ; preds = %7 | |
store i8 0, ptr %3, align 1 | |
br label %14 | |
14: ; preds = %13, %12 | |
br label %15 | |
15: ; preds = %14, %11 | |
%16 = load i8, ptr %3, align 1, !range !10, !noundef !3 | |
ret i8 %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h6031158496dfaa48E"(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #0 { | |
%3 = alloca i8, align 1 | |
%4 = load i64, ptr %0, align 8, !noundef !3 | |
%5 = load i64, ptr %1, align 8, !noundef !3 | |
%6 = icmp ult i64 %4, %5 | |
br i1 %6, label %11, label %7 | |
7: ; preds = %2 | |
%8 = load i64, ptr %0, align 8, !noundef !3 | |
%9 = load i64, ptr %1, align 8, !noundef !3 | |
%10 = icmp eq i64 %8, %9 | |
br i1 %10, label %13, label %12 | |
11: ; preds = %2 | |
store i8 -1, ptr %3, align 1 | |
br label %15 | |
12: ; preds = %7 | |
store i8 1, ptr %3, align 1 | |
br label %14 | |
13: ; preds = %7 | |
store i8 0, ptr %3, align 1 | |
br label %14 | |
14: ; preds = %13, %12 | |
br label %15 | |
15: ; preds = %14, %11 | |
%16 = load i8, ptr %3, align 1, !range !10, !noundef !3 | |
ret i8 %16 | |
} | |
; Function Attrs: alwaysinline nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2lt17h85a37094cf41345fE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #2 { | |
%3 = load i64, ptr %0, align 8, !noundef !3 | |
%4 = load i64, ptr %1, align 8, !noundef !3 | |
%5 = icmp ult i64 %3, %4 | |
ret i1 %5 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @_ZN4core3cmp6max_by17h6bd5d9db07ead17dE(i64 noundef %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca i64, align 8 | |
%9 = alloca i64, align 8 | |
%10 = alloca i64, align 8 | |
store i64 %0, ptr %10, align 8 | |
store i64 %1, ptr %9, align 8 | |
store i8 1, ptr %4, align 1 | |
store i8 1, ptr %5, align 1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %10, ptr %6, align 8 | |
%11 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %9, ptr %11, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%13 = load ptr, ptr %12, align 8, !nonnull !3, !align !5, !noundef !3 | |
%14 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%16 = call noundef i8 @_ZN4core3ops8function6FnOnce9call_once17hbc2add814ca0af36E(ptr noalias noundef readonly align 8 dereferenceable(8) %13, ptr noalias noundef readonly align 8 dereferenceable(8) %15) #13, !range !10 | |
store i8 %16, ptr %7, align 1 | |
br label %17 | |
17: ; preds = %2 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%18 = load i8, ptr %7, align 1, !range !10, !noundef !3 | |
switch i8 %18, label %19 [ | |
i8 -1, label %20 | |
i8 0, label %20 | |
i8 1, label %22 | |
] | |
19: ; preds = %17 | |
unreachable | |
20: ; preds = %17, %17 | |
store i8 0, ptr %5, align 1 | |
%21 = load i64, ptr %9, align 8, !noundef !3 | |
store i64 %21, ptr %8, align 8 | |
br label %24 | |
22: ; preds = %17 | |
store i8 0, ptr %4, align 1 | |
%23 = load i64, ptr %10, align 8, !noundef !3 | |
store i64 %23, ptr %8, align 8 | |
br label %24 | |
24: ; preds = %22, %20 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%25 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%26 = trunc i8 %25 to i1 | |
br i1 %26, label %30, label %27 | |
27: ; preds = %30, %24 | |
%28 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%29 = trunc i8 %28 to i1 | |
br i1 %29, label %33, label %31 | |
30: ; preds = %24 | |
br label %27 | |
31: ; preds = %33, %27 | |
%32 = load i64, ptr %8, align 8, !noundef !3 | |
ret i64 %32 | |
33: ; preds = %27 | |
br label %31 | |
34: ; No predecessors! | |
br label %35 | |
35: ; preds = %34 | |
%36 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
br i1 %37, label %44, label %38 | |
38: ; preds = %44, %35 | |
%39 = load ptr, ptr %3, align 8, !noundef !3 | |
%40 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%41 = load i32, ptr %40, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%42 = insertvalue { ptr, i32 } poison, ptr %39, 0 | |
%43 = insertvalue { ptr, i32 } %42, i32 %41, 1 | |
resume { ptr, i32 } %43 | |
44: ; preds = %35 | |
br label %38 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @_ZN4core3cmp6max_by17ha897d5bbc57b999cE(i64 noundef %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca i64, align 8 | |
%9 = alloca i64, align 8 | |
%10 = alloca i64, align 8 | |
store i64 %0, ptr %10, align 8 | |
store i64 %1, ptr %9, align 8 | |
store i8 1, ptr %4, align 1 | |
store i8 1, ptr %5, align 1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %10, ptr %6, align 8 | |
%11 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %9, ptr %11, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%13 = load ptr, ptr %12, align 8, !nonnull !3, !align !5, !noundef !3 | |
%14 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%16 = call noundef i8 @_ZN4core3ops8function6FnOnce9call_once17h3a6f288406fa24eeE(ptr noalias noundef readonly align 8 dereferenceable(8) %13, ptr noalias noundef readonly align 8 dereferenceable(8) %15) #13, !range !10 | |
store i8 %16, ptr %7, align 1 | |
br label %17 | |
17: ; preds = %2 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%18 = load i8, ptr %7, align 1, !range !10, !noundef !3 | |
switch i8 %18, label %19 [ | |
i8 -1, label %20 | |
i8 0, label %20 | |
i8 1, label %22 | |
] | |
19: ; preds = %17 | |
unreachable | |
20: ; preds = %17, %17 | |
store i8 0, ptr %5, align 1 | |
%21 = load i64, ptr %9, align 8, !noundef !3 | |
store i64 %21, ptr %8, align 8 | |
br label %24 | |
22: ; preds = %17 | |
store i8 0, ptr %4, align 1 | |
%23 = load i64, ptr %10, align 8, !noundef !3 | |
store i64 %23, ptr %8, align 8 | |
br label %24 | |
24: ; preds = %22, %20 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%25 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%26 = trunc i8 %25 to i1 | |
br i1 %26, label %30, label %27 | |
27: ; preds = %30, %24 | |
%28 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%29 = trunc i8 %28 to i1 | |
br i1 %29, label %33, label %31 | |
30: ; preds = %24 | |
br label %27 | |
31: ; preds = %33, %27 | |
%32 = load i64, ptr %8, align 8, !noundef !3 | |
ret i64 %32 | |
33: ; preds = %27 | |
br label %31 | |
34: ; No predecessors! | |
br label %35 | |
35: ; preds = %34 | |
%36 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
br i1 %37, label %44, label %38 | |
38: ; preds = %44, %35 | |
%39 = load ptr, ptr %3, align 8, !noundef !3 | |
%40 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%41 = load i32, ptr %40, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%42 = insertvalue { ptr, i32 } poison, ptr %39, 0 | |
%43 = insertvalue { ptr, i32 } %42, i32 %41, 1 | |
resume { ptr, i32 } %43 | |
44: ; preds = %35 | |
br label %38 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @_ZN4core3cmp6min_by17h7fabcd7e6210d284E(i64 noundef %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca i64, align 8 | |
%9 = alloca i64, align 8 | |
%10 = alloca i64, align 8 | |
store i64 %0, ptr %10, align 8 | |
store i64 %1, ptr %9, align 8 | |
store i8 1, ptr %4, align 1 | |
store i8 1, ptr %5, align 1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %10, ptr %6, align 8 | |
%11 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %9, ptr %11, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%13 = load ptr, ptr %12, align 8, !nonnull !3, !align !5, !noundef !3 | |
%14 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%16 = call noundef i8 @_ZN4core3ops8function6FnOnce9call_once17h3a6f288406fa24eeE(ptr noalias noundef readonly align 8 dereferenceable(8) %13, ptr noalias noundef readonly align 8 dereferenceable(8) %15) #13, !range !10 | |
store i8 %16, ptr %7, align 1 | |
br label %17 | |
17: ; preds = %2 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%18 = load i8, ptr %7, align 1, !range !10, !noundef !3 | |
switch i8 %18, label %19 [ | |
i8 -1, label %20 | |
i8 0, label %20 | |
i8 1, label %22 | |
] | |
19: ; preds = %17 | |
unreachable | |
20: ; preds = %17, %17 | |
store i8 0, ptr %4, align 1 | |
%21 = load i64, ptr %10, align 8, !noundef !3 | |
store i64 %21, ptr %8, align 8 | |
br label %24 | |
22: ; preds = %17 | |
store i8 0, ptr %5, align 1 | |
%23 = load i64, ptr %9, align 8, !noundef !3 | |
store i64 %23, ptr %8, align 8 | |
br label %24 | |
24: ; preds = %22, %20 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%25 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%26 = trunc i8 %25 to i1 | |
br i1 %26, label %30, label %27 | |
27: ; preds = %30, %24 | |
%28 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%29 = trunc i8 %28 to i1 | |
br i1 %29, label %33, label %31 | |
30: ; preds = %24 | |
br label %27 | |
31: ; preds = %33, %27 | |
%32 = load i64, ptr %8, align 8, !noundef !3 | |
ret i64 %32 | |
33: ; preds = %27 | |
br label %31 | |
34: ; No predecessors! | |
br label %35 | |
35: ; preds = %34 | |
%36 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
br i1 %37, label %44, label %38 | |
38: ; preds = %44, %35 | |
%39 = load ptr, ptr %3, align 8, !noundef !3 | |
%40 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%41 = load i32, ptr %40, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%42 = insertvalue { ptr, i32 } poison, ptr %39, 0 | |
%43 = insertvalue { ptr, i32 } %42, i32 %41, 1 | |
resume { ptr, i32 } %43 | |
44: ; preds = %35 | |
br label %38 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @_ZN4core3cmp6min_by17ha9227e5b8b7715f9E(i64 noundef %0, i64 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i8, align 1 | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca i64, align 8 | |
%9 = alloca i64, align 8 | |
%10 = alloca i64, align 8 | |
store i64 %0, ptr %10, align 8 | |
store i64 %1, ptr %9, align 8 | |
store i8 1, ptr %4, align 1 | |
store i8 1, ptr %5, align 1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %10, ptr %6, align 8 | |
%11 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %9, ptr %11, align 8 | |
%12 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%13 = load ptr, ptr %12, align 8, !nonnull !3, !align !5, !noundef !3 | |
%14 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%16 = call noundef i8 @_ZN4core3ops8function6FnOnce9call_once17hbc2add814ca0af36E(ptr noalias noundef readonly align 8 dereferenceable(8) %13, ptr noalias noundef readonly align 8 dereferenceable(8) %15) #13, !range !10 | |
store i8 %16, ptr %7, align 1 | |
br label %17 | |
17: ; preds = %2 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%18 = load i8, ptr %7, align 1, !range !10, !noundef !3 | |
switch i8 %18, label %19 [ | |
i8 -1, label %20 | |
i8 0, label %20 | |
i8 1, label %22 | |
] | |
19: ; preds = %17 | |
unreachable | |
20: ; preds = %17, %17 | |
store i8 0, ptr %4, align 1 | |
%21 = load i64, ptr %10, align 8, !noundef !3 | |
store i64 %21, ptr %8, align 8 | |
br label %24 | |
22: ; preds = %17 | |
store i8 0, ptr %5, align 1 | |
%23 = load i64, ptr %9, align 8, !noundef !3 | |
store i64 %23, ptr %8, align 8 | |
br label %24 | |
24: ; preds = %22, %20 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%25 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%26 = trunc i8 %25 to i1 | |
br i1 %26, label %30, label %27 | |
27: ; preds = %30, %24 | |
%28 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%29 = trunc i8 %28 to i1 | |
br i1 %29, label %33, label %31 | |
30: ; preds = %24 | |
br label %27 | |
31: ; preds = %33, %27 | |
%32 = load i64, ptr %8, align 8, !noundef !3 | |
ret i64 %32 | |
33: ; preds = %27 | |
br label %31 | |
34: ; No predecessors! | |
br label %35 | |
35: ; preds = %34 | |
%36 = load i8, ptr %4, align 1, !range !9, !noundef !3 | |
%37 = trunc i8 %36 to i1 | |
br i1 %37, label %44, label %38 | |
38: ; preds = %44, %35 | |
%39 = load ptr, ptr %3, align 8, !noundef !3 | |
%40 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%41 = load i32, ptr %40, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%42 = insertvalue { ptr, i32 } poison, ptr %39, 0 | |
%43 = insertvalue { ptr, i32 } %42, i32 %41, 1 | |
resume { ptr, i32 } %43 | |
44: ; preds = %35 | |
br label %38 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2) unnamed_addr #0 { | |
%4 = alloca { ptr, i64 }, align 8 | |
%5 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%6 = icmp ugt i64 %2, 1 | |
br i1 %6, label %20, label %7 | |
7: ; preds = %3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
store ptr null, ptr %4, align 8 | |
%8 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 0 | |
store ptr %1, ptr %8, align 8 | |
%9 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 1 | |
store i64 %2, ptr %9, align 8 | |
%10 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 0 | |
%11 = load ptr, ptr %10, align 8, !align !5, !noundef !3 | |
%12 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 1 | |
%13 = load i64, ptr %12, align 8 | |
%14 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %0, i32 0, i32 2 | |
%15 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
store ptr %11, ptr %15, align 8 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
store i64 %13, ptr %16, align 8 | |
%17 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %0, i32 0, i32 1 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 0 | |
store ptr @0, ptr %18, align 8 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 1 | |
store i64 0, ptr %19, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
ret void | |
20: ; preds = %3 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %5) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %5, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN4core3num23_$LT$impl$u20$usize$GT$8div_ceil17hf25c534123c539daE"(i64 noundef %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = alloca i8, align 1 | |
%4 = alloca i64, align 8 | |
%5 = icmp eq i64 %1, 0 | |
%6 = call i1 @llvm.expect.i1(i1 %5, i1 false) | |
br i1 %6, label %11, label %7 | |
7: ; preds = %2 | |
%8 = udiv i64 %0, %1 | |
%9 = icmp eq i64 %1, 0 | |
%10 = call i1 @llvm.expect.i1(i1 %9, i1 false) | |
br i1 %10, label %15, label %12 | |
11: ; preds = %2 | |
call void @_ZN4core9panicking5panic17h5caa4064b91696faE(ptr noalias noundef nonnull readonly align 1 @str.0, i64 noundef 25, ptr noalias noundef readonly align 8 dereferenceable(24) @6) #14 | |
unreachable | |
12: ; preds = %7 | |
%13 = urem i64 %0, %1 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %3) | |
%14 = icmp ugt i64 %13, 0 | |
br i1 %14, label %17, label %16 | |
15: ; preds = %7 | |
call void @_ZN4core9panicking5panic17h5caa4064b91696faE(ptr noalias noundef nonnull readonly align 1 @str.1, i64 noundef 57, ptr noalias noundef readonly align 8 dereferenceable(24) @6) #14 | |
unreachable | |
16: ; preds = %12 | |
store i8 0, ptr %3, align 1 | |
br label %20 | |
17: ; preds = %12 | |
%18 = icmp ugt i64 %1, 0 | |
%19 = zext i1 %18 to i8 | |
store i8 %19, ptr %3, align 1 | |
br label %20 | |
20: ; preds = %17, %16 | |
%21 = load i8, ptr %3, align 1, !range !9, !noundef !3 | |
%22 = trunc i8 %21 to i1 | |
br i1 %22, label %24, label %23 | |
23: ; preds = %20 | |
store i64 %8, ptr %4, align 8 | |
br label %28 | |
24: ; preds = %20 | |
%25 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %8, i64 1) | |
%26 = extractvalue { i64, i1 } %25, 0 | |
%27 = extractvalue { i64, i1 } %25, 1 | |
store i64 %26, ptr %4, align 8 | |
br label %28 | |
28: ; preds = %24, %23 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %3) | |
%29 = load i64, ptr %4, align 8, !noundef !3 | |
ret i64 %29 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef double @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h01b0b5c0c7807fa5E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %1) unnamed_addr #1 { | |
%3 = alloca ptr, align 8 | |
store ptr %1, ptr %3, align 8 | |
%4 = load ptr, ptr %3, align 8, !nonnull !3, !align !5, !noundef !3 | |
%5 = call noundef double @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison28_$u7b$$u7b$closure$u7d$$u7d$17hf49e453f12e1d2d4E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %4) #13 | |
ret double %5 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef align 1 dereferenceable(1) ptr @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h19eb0909d6594e53E"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef nonnull align 1 %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { ptr, i64 }, align 8 | |
%5 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 0 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 1 | |
store i64 %2, ptr %6, align 8 | |
%7 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 0 | |
%8 = load ptr, ptr %7, align 8, !nonnull !3, !align !4, !noundef !3 | |
%9 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 1 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = call noundef align 1 dereferenceable(1) ptr @"_ZN5rav1e3lrf20wiener_stripe_filter28_$u7b$$u7b$closure$u7d$$u7d$17h0f91789662886344E"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef nonnull align 1 %8, i64 noundef %10) #13 | |
ret ptr %11 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h3713fb2604dcc4c7E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64, i64 }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull readonly align 2 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { ptr, i64 }, align 8 | |
%6 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
store ptr %2, ptr %6, align 8 | |
%7 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %3, ptr %7, align 8 | |
%8 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%9 = load ptr, ptr %8, align 8, !nonnull !3, !align !6, !noundef !3 | |
%10 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%11 = load i64, ptr %10, align 8, !noundef !3 | |
call void @"_ZN5rav1e3lrf20setup_integral_image28_$u7b$$u7b$closure$u7d$$u7d$17h4791f5a336a53902E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64, i64 }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull readonly align 2 %9, i64 noundef %11) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h60a72e2f91dbaff6E"(ptr noalias nocapture noundef sret({ ptr, ptr, ptr }) align 8 dereferenceable(24) %0, ptr noalias noundef nonnull align 1 %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2) unnamed_addr #1 { | |
%4 = alloca { { { ptr, ptr }, ptr } }, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %2, i64 24, i1 false) | |
call void @"_ZN5rav1e8activity12variance_8x828_$u7b$$u7b$closure$u7d$$u7d$17h64fdafba490a2bf7E"(ptr noalias nocapture noundef sret({ ptr, ptr, ptr }) align 8 dereferenceable(24) %0, ptr noalias noundef nonnull align 1 %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %4) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef double @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17h680b4fa04bdd3c32E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %1) unnamed_addr #1 { | |
%3 = alloca ptr, align 8 | |
store ptr %1, ptr %3, align 8 | |
%4 = load ptr, ptr %3, align 8, !nonnull !3, !align !5, !noundef !3 | |
%5 = call noundef double @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison28_$u7b$$u7b$closure$u7d$$u7d$17h6915113cdb8734e3E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %4) #13 | |
ret double %5 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17hadd2895302f93891E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64, i64 }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca { ptr, i64 }, align 8 | |
%6 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
store ptr %2, ptr %6, align 8 | |
%7 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
store i64 %3, ptr %7, align 8 | |
%8 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%9 = load ptr, ptr %8, align 8, !nonnull !3, !align !4, !noundef !3 | |
%10 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%11 = load i64, ptr %10, align 8, !noundef !3 | |
call void @"_ZN5rav1e3lrf20setup_integral_image28_$u7b$$u7b$closure$u7d$$u7d$17ha6df1cff32f9c4fdE"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64, i64 }) align 8 dereferenceable(32) %0, ptr noalias noundef align 8 dereferenceable(40) %1, ptr noalias noundef nonnull readonly align 1 %9, i64 noundef %11) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef align 2 dereferenceable(2) ptr @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17hbe446fdb2bec83feE"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef nonnull align 2 %1, i64 noundef %2) unnamed_addr #1 { | |
%4 = alloca { ptr, i64 }, align 8 | |
%5 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 0 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 1 | |
store i64 %2, ptr %6, align 8 | |
%7 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 0 | |
%8 = load ptr, ptr %7, align 8, !nonnull !3, !align !6, !noundef !3 | |
%9 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 1 | |
%10 = load i64, ptr %9, align 8, !noundef !3 | |
%11 = call noundef align 2 dereferenceable(2) ptr @"_ZN5rav1e3lrf20wiener_stripe_filter28_$u7b$$u7b$closure$u7d$$u7d$17hdd3ca97be6b7a3ffE"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef nonnull align 2 %8, i64 noundef %10) #13 | |
ret ptr %11 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ops8function5impls80_$LT$impl$u20$core..ops..function..FnOnce$LT$A$GT$$u20$for$u20$$RF$mut$u20$F$GT$9call_once17hee46838fa6aadb7bE"(ptr noalias nocapture noundef sret({ ptr, ptr, ptr }) align 8 dereferenceable(24) %0, ptr noalias noundef nonnull align 1 %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2) unnamed_addr #1 { | |
%4 = alloca { { { ptr, ptr }, ptr } }, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4, ptr align 8 %2, i64 24, i1 false) | |
call void @"_ZN5rav1e8activity12variance_8x828_$u7b$$u7b$closure$u7d$$u7d$17hb5c1e1b4c5d4245fE"(ptr noalias nocapture noundef sret({ ptr, ptr, ptr }) align 8 dereferenceable(24) %0, ptr noalias noundef nonnull align 1 %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %4) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i8 @_ZN4core3ops8function6FnOnce9call_once17h3a6f288406fa24eeE(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
store ptr %0, ptr %3, align 8 | |
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %1, ptr %4, align 8 | |
%5 = load ptr, ptr %3, align 8, !nonnull !3, !align !5, !noundef !3 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%7 = load ptr, ptr %6, align 8, !nonnull !3, !align !5, !noundef !3 | |
%8 = call noundef i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$usize$GT$3cmp17h6031158496dfaa48E"(ptr noalias noundef readonly align 8 dereferenceable(8) %5, ptr noalias noundef readonly align 8 dereferenceable(8) %7) #13, !range !10 | |
ret i8 %8 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i8 @_ZN4core3ops8function6FnOnce9call_once17hbc2add814ca0af36E(ptr noalias noundef readonly align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(8) %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
store ptr %0, ptr %3, align 8 | |
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %1, ptr %4, align 8 | |
%5 = load ptr, ptr %3, align 8, !nonnull !3, !align !5, !noundef !3 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%7 = load ptr, ptr %6, align 8, !nonnull !3, !align !5, !noundef !3 | |
%8 = call noundef i8 @"_ZN4core3cmp5impls50_$LT$impl$u20$core..cmp..Ord$u20$for$u20$isize$GT$3cmp17h0e98cc3d5a0a6fffE"(ptr noalias noundef readonly align 8 dereferenceable(8) %5, ptr noalias noundef readonly align 8 dereferenceable(8) %7) #13, !range !10 | |
ret i8 %8 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr100drop_in_place$LT$rayon..vec..DrainProducer$LT$rav1e..tiling..tiler..TileContextMut$LT$u8$GT$$GT$$GT$17hab7711453662888dE"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN76_$LT$rayon..vec..DrainProducer$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h58fd15dfaa7767bdE"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr101drop_in_place$LT$rayon..vec..DrainProducer$LT$rav1e..tiling..tiler..TileContextMut$LT$u16$GT$$GT$$GT$17h5772d079944540fbE"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN76_$LT$rayon..vec..DrainProducer$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h2f876aa22b412b75E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$$LP$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$$GT$17h0fafde64f7e5634eE"(ptr noalias noundef align 8 dereferenceable(200) %0) unnamed_addr #1 { | |
%2 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %0, i32 0, i32 1 | |
%3 = load i8, ptr %2, align 8, !range !11, !noundef !3 | |
%4 = icmp eq i8 %3, 2 | |
%5 = select i1 %4, i64 0, i64 1 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %8, %1 | |
ret void | |
8: ; preds = %1 | |
call void @"_ZN4core3ptr88drop_in_place$LT$$LP$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$17h4d4cb082c6d6e3b1E"(ptr noalias noundef align 8 dereferenceable(200) %0) #13 | |
br label %7 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr117drop_in_place$LT$core..option..Option$LT$$LP$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$$GT$17h2b9b07016adfb7beE"(ptr noalias noundef align 8 dereferenceable(200) %0) unnamed_addr #1 { | |
%2 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %0, i32 0, i32 1 | |
%3 = load i8, ptr %2, align 8, !range !11, !noundef !3 | |
%4 = icmp eq i8 %3, 2 | |
%5 = select i1 %4, i64 0, i64 1 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %8, %1 | |
ret void | |
8: ; preds = %1 | |
call void @"_ZN4core3ptr89drop_in_place$LT$$LP$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$17h62094af54ed4a21fE"(ptr noalias noundef align 8 dereferenceable(200) %0) #13 | |
br label %7 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr120drop_in_place$LT$alloc..sync..Arc$LT$core..mem..maybe_uninit..MaybeUninit$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$$GT$17hed25e12930b6adcdE"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h10230c5170a06295E"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr121drop_in_place$LT$alloc..sync..Arc$LT$core..mem..maybe_uninit..MaybeUninit$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$$GT$17hbdb7d029a334ef57E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h5b1330bdc63fd6cfE"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr122drop_in_place$LT$alloc..sync..Arc$LT$std..sync..rwlock..RwLock$LT$$u5b$rav1e..me..FrameMEStats$u3b$$u20$8$u5d$$GT$$GT$$GT$17h83f7e023054502fbE"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hddde0b20bc4b8be0E"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr125drop_in_place$LT$core..option..Option$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$u3b$$u20$2$u5d$$GT$$GT$17h5933843bcb50aaebE"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
%2 = load ptr, ptr %0, align 8, !noundef !3 | |
%3 = ptrtoint ptr %2 to i64 | |
%4 = icmp eq i64 %3, 0 | |
%5 = select i1 %4, i64 0, i64 1 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %8, %1 | |
ret void | |
8: ; preds = %1 | |
call void @"_ZN4core3ptr97drop_in_place$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$u3b$$u20$2$u5d$$GT$17h474028e805c53cddE"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
br label %7 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr126drop_in_place$LT$core..option..Option$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$u3b$$u20$2$u5d$$GT$$GT$17h53de1d31a98f91a0E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
%2 = load ptr, ptr %0, align 8, !noundef !3 | |
%3 = ptrtoint ptr %2 to i64 | |
%4 = icmp eq i64 %3, 0 | |
%5 = select i1 %4, i64 0, i64 1 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %8, %1 | |
ret void | |
8: ; preds = %1 | |
call void @"_ZN4core3ptr98drop_in_place$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$u3b$$u20$2$u5d$$GT$17h4e24ab565cc2282aE"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
br label %7 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr150drop_in_place$LT$core..option..Option$LT$alloc..sync..Arc$LT$std..sync..rwlock..RwLock$LT$$u5b$rav1e..me..FrameMEStats$u3b$$u20$8$u5d$$GT$$GT$$GT$$GT$17ha7ed9b384897ab21E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
%2 = load ptr, ptr %0, align 8, !noundef !3 | |
%3 = ptrtoint ptr %2 to i64 | |
%4 = icmp eq i64 %3, 0 | |
%5 = select i1 %4, i64 0, i64 1 | |
%6 = icmp eq i64 %5, 0 | |
br i1 %6, label %7, label %8 | |
7: ; preds = %8, %1 | |
ret void | |
8: ; preds = %1 | |
call void @"_ZN4core3ptr122drop_in_place$LT$alloc..sync..Arc$LT$std..sync..rwlock..RwLock$LT$$u5b$rav1e..me..FrameMEStats$u3b$$u20$8$u5d$$GT$$GT$$GT$17h83f7e023054502fbE"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
br label %7 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr162drop_in_place$LT$rayon..vec..DrainProducer$LT$$LP$rav1e..tiling..tiler..TileContextMut$LT$u8$GT$$C$$RF$mut$u20$rav1e..context..cdf_context..CDFContext$RP$$GT$$GT$17h567115d28e868d87E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN76_$LT$rayon..vec..DrainProducer$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h571fc28a0ec61d07E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr163drop_in_place$LT$rayon..vec..DrainProducer$LT$$LP$rav1e..tiling..tiler..TileContextMut$LT$u16$GT$$C$$RF$mut$u20$rav1e..context..cdf_context..CDFContext$RP$$GT$$GT$17h18b1227d9148a3c9E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN76_$LT$rayon..vec..DrainProducer$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd06783698f7d9c1dE"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u32$GT$$GT$17h9caefc831e681731E"(ptr noalias noundef align 8 dereferenceable(24) %0) unnamed_addr #1 { | |
call void @"_ZN70_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hb678f215b2727b05E"(ptr noalias noundef align 8 dereferenceable(24) %0) #13 | |
call void @"_ZN4core3ptr54drop_in_place$LT$alloc..raw_vec..RawVec$LT$u32$GT$$GT$17hd2bab3179acfd758E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr52drop_in_place$LT$rav1e..lrf..IntegralImageBuffer$GT$17h254a7edcce698420E"(ptr noalias noundef align 8 dereferenceable(48) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u32$GT$$GT$17h9caefc831e681731E"(ptr noalias noundef align 8 dereferenceable(24) %0) #13 | |
%2 = getelementptr inbounds { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 } }, ptr %0, i32 0, i32 1 | |
call void @"_ZN4core3ptr47drop_in_place$LT$alloc..vec..Vec$LT$u32$GT$$GT$17h9caefc831e681731E"(ptr noalias noundef align 8 dereferenceable(24) %2) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr52drop_in_place$LT$v_frame..frame..Frame$LT$u8$GT$$GT$17hddc13fa2ebc382c3E"(ptr noalias noundef align 8 dereferenceable(288) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr73drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$3$u5d$$GT$17hd0c5c37657d29168E"(ptr noalias noundef align 8 dereferenceable(288) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr52drop_in_place$LT$v_frame..plane..Plane$LT$u8$GT$$GT$17hab3b24e1a686ba7bE"(ptr noalias noundef align 8 dereferenceable(96) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr56drop_in_place$LT$v_frame..plane..PlaneData$LT$u8$GT$$GT$17hfa415bb91495e932E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr53drop_in_place$LT$v_frame..frame..Frame$LT$u16$GT$$GT$17h12bc957513ca8625E"(ptr noalias noundef align 8 dereferenceable(288) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr74drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$3$u5d$$GT$17h5e1367645d31971aE"(ptr noalias noundef align 8 dereferenceable(288) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr53drop_in_place$LT$v_frame..plane..Plane$LT$u16$GT$$GT$17hbea16931fa566ae9E"(ptr noalias noundef align 8 dereferenceable(96) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr57drop_in_place$LT$v_frame..plane..PlaneData$LT$u16$GT$$GT$17hbd10afa6badb1475E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr54drop_in_place$LT$alloc..raw_vec..RawVec$LT$u32$GT$$GT$17hd2bab3179acfd758E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN77_$LT$alloc..raw_vec..RawVec$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hfff72e2c989eddecE"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr56drop_in_place$LT$v_frame..plane..PlaneData$LT$u8$GT$$GT$17hfa415bb91495e932E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN76_$LT$v_frame..plane..PlaneData$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h93abcc8a928de840E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr57drop_in_place$LT$v_frame..plane..PlaneData$LT$u16$GT$$GT$17hbd10afa6badb1475E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
call void @"_ZN76_$LT$v_frame..plane..PlaneData$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hd7f607fc6ae123c4E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr73drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$2$u5d$$GT$17h3842d141d3de0937E"(ptr noalias noundef align 8 dereferenceable(192) %0) unnamed_addr #1 { | |
%2 = alloca i64, align 8 | |
store i64 0, ptr %2, align 8 | |
br label %3 | |
3: ; preds = %6, %1 | |
%4 = load i64, ptr %2, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 2 | |
br i1 %5, label %11, label %6 | |
6: ; preds = %3 | |
%7 = load i64, ptr %2, align 8, !noundef !3 | |
%8 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %7 | |
%9 = load i64, ptr %2, align 8, !noundef !3 | |
%10 = add i64 %9, 1 | |
store i64 %10, ptr %2, align 8 | |
call void @"_ZN4core3ptr52drop_in_place$LT$v_frame..plane..Plane$LT$u8$GT$$GT$17hab3b24e1a686ba7bE"(ptr noalias noundef align 8 dereferenceable(96) %8) #13 | |
br label %3 | |
11: ; preds = %3 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr73drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$3$u5d$$GT$17hd0c5c37657d29168E"(ptr noalias noundef align 8 dereferenceable(288) %0) unnamed_addr #1 { | |
%2 = alloca i64, align 8 | |
store i64 0, ptr %2, align 8 | |
br label %3 | |
3: ; preds = %6, %1 | |
%4 = load i64, ptr %2, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 3 | |
br i1 %5, label %11, label %6 | |
6: ; preds = %3 | |
%7 = load i64, ptr %2, align 8, !noundef !3 | |
%8 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %7 | |
%9 = load i64, ptr %2, align 8, !noundef !3 | |
%10 = add i64 %9, 1 | |
store i64 %10, ptr %2, align 8 | |
call void @"_ZN4core3ptr52drop_in_place$LT$v_frame..plane..Plane$LT$u8$GT$$GT$17hab3b24e1a686ba7bE"(ptr noalias noundef align 8 dereferenceable(96) %8) #13 | |
br label %3 | |
11: ; preds = %3 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr74drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$2$u5d$$GT$17hd00844463870215fE"(ptr noalias noundef align 8 dereferenceable(192) %0) unnamed_addr #1 { | |
%2 = alloca i64, align 8 | |
store i64 0, ptr %2, align 8 | |
br label %3 | |
3: ; preds = %6, %1 | |
%4 = load i64, ptr %2, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 2 | |
br i1 %5, label %11, label %6 | |
6: ; preds = %3 | |
%7 = load i64, ptr %2, align 8, !noundef !3 | |
%8 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %7 | |
%9 = load i64, ptr %2, align 8, !noundef !3 | |
%10 = add i64 %9, 1 | |
store i64 %10, ptr %2, align 8 | |
call void @"_ZN4core3ptr53drop_in_place$LT$v_frame..plane..Plane$LT$u16$GT$$GT$17hbea16931fa566ae9E"(ptr noalias noundef align 8 dereferenceable(96) %8) #13 | |
br label %3 | |
11: ; preds = %3 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr74drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$3$u5d$$GT$17h5e1367645d31971aE"(ptr noalias noundef align 8 dereferenceable(288) %0) unnamed_addr #1 { | |
%2 = alloca i64, align 8 | |
store i64 0, ptr %2, align 8 | |
br label %3 | |
3: ; preds = %6, %1 | |
%4 = load i64, ptr %2, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 3 | |
br i1 %5, label %11, label %6 | |
6: ; preds = %3 | |
%7 = load i64, ptr %2, align 8, !noundef !3 | |
%8 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %7 | |
%9 = load i64, ptr %2, align 8, !noundef !3 | |
%10 = add i64 %9, 1 | |
store i64 %10, ptr %2, align 8 | |
call void @"_ZN4core3ptr53drop_in_place$LT$v_frame..plane..Plane$LT$u16$GT$$GT$17hbea16931fa566ae9E"(ptr noalias noundef align 8 dereferenceable(96) %8) #13 | |
br label %3 | |
11: ; preds = %3 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr76drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17hb99adee657fc5b66E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h6988be92e453dbf3E"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h72bdb586bad2ecf3E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN71_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hfd2e1c74eb2b083bE"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Weak$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17h98139521eaf8c464E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN72_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h1e9af18319cf8fe5E"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Weak$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h9042a4bed431c757E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #1 { | |
call void @"_ZN72_$LT$alloc..sync..Weak$LT$T$C$A$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hdfcd0a98e664168cE"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr78drop_in_place$LT$core..array..Guard$LT$v_frame..plane..Plane$LT$u8$GT$$GT$$GT$17h9e222b7074505075E"(ptr noalias noundef align 8 dereferenceable(24) %0) unnamed_addr #1 { | |
call void @"_ZN69_$LT$core..array..Guard$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17hab0c22f18edc90d8E"(ptr noalias noundef align 8 dereferenceable(24) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr79drop_in_place$LT$core..array..Guard$LT$v_frame..plane..Plane$LT$u16$GT$$GT$$GT$17h7aa25840b894ec0cE"(ptr noalias noundef align 8 dereferenceable(24) %0) unnamed_addr #1 { | |
call void @"_ZN69_$LT$core..array..Guard$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$4drop17h66be7b20e47058e1E"(ptr noalias noundef align 8 dereferenceable(24) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr88drop_in_place$LT$$LP$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$17h4d4cb082c6d6e3b1E"(ptr noalias noundef align 8 dereferenceable(200) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr73drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$2$u5d$$GT$17h3842d141d3de0937E"(ptr noalias noundef align 8 dereferenceable(192) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr89drop_in_place$LT$$LP$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$17h62094af54ed4a21fE"(ptr noalias noundef align 8 dereferenceable(200) %0) unnamed_addr #1 { | |
call void @"_ZN4core3ptr74drop_in_place$LT$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$2$u5d$$GT$17hd00844463870215fE"(ptr noalias noundef align 8 dereferenceable(192) %0) #13 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr97drop_in_place$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$u3b$$u20$2$u5d$$GT$17h474028e805c53cddE"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
%2 = alloca i64, align 8 | |
store i64 0, ptr %2, align 8 | |
br label %3 | |
3: ; preds = %6, %1 | |
%4 = load i64, ptr %2, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 2 | |
br i1 %5, label %11, label %6 | |
6: ; preds = %3 | |
%7 = load i64, ptr %2, align 8, !noundef !3 | |
%8 = getelementptr inbounds [2 x ptr], ptr %0, i64 0, i64 %7 | |
%9 = load i64, ptr %2, align 8, !noundef !3 | |
%10 = add i64 %9, 1 | |
store i64 %10, ptr %2, align 8 | |
call void @"_ZN4core3ptr76drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17hb99adee657fc5b66E"(ptr noalias noundef align 8 dereferenceable(8) %8) #13 | |
br label %3 | |
11: ; preds = %3 | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN4core3ptr98drop_in_place$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$u3b$$u20$2$u5d$$GT$17h4e24ab565cc2282aE"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #1 { | |
%2 = alloca i64, align 8 | |
store i64 0, ptr %2, align 8 | |
br label %3 | |
3: ; preds = %6, %1 | |
%4 = load i64, ptr %2, align 8, !noundef !3 | |
%5 = icmp eq i64 %4, 2 | |
br i1 %5, label %11, label %6 | |
6: ; preds = %3 | |
%7 = load i64, ptr %2, align 8, !noundef !3 | |
%8 = getelementptr inbounds [2 x ptr], ptr %0, i64 0, i64 %7 | |
%9 = load i64, ptr %2, align 8, !noundef !3 | |
%10 = add i64 %9, 1 | |
store i64 %10, ptr %2, align 8 | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h72bdb586bad2ecf3E"(ptr noalias noundef align 8 dereferenceable(8) %8) #13 | |
br label %3 | |
11: ; preds = %3 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$24__iterator_get_unchecked17ha7f06c7da88c61d7E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %1) unnamed_addr #0 { | |
%3 = call noundef i64 @"_ZN4core5clone5impls54_$LT$impl$u20$core..clone..Clone$u20$for$u20$usize$GT$5clone17h64a647c99b5caf8fE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0) #13 | |
%4 = call noundef i64 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h70ee56afff9bf27fE"(i64 noundef %3, i64 noundef %1) #13 | |
ret i64 %4 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, i64 } @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$4next17h89a7c4814ec424d8E"(ptr noalias noundef align 8 dereferenceable(16) %0) unnamed_addr #0 { | |
%2 = call { i64, i64 } @"_ZN89_$LT$core..ops..range..Range$LT$T$GT$$u20$as$u20$core..iter..range..RangeIteratorImpl$GT$9spec_next17hc36284fea22aa2e1E"(ptr noalias noundef align 8 dereferenceable(16) %0) #13 | |
%3 = extractvalue { i64, i64 } %2, 0 | |
%4 = extractvalue { i64, i64 } %2, 1 | |
%5 = insertvalue { i64, i64 } poison, i64 %3, 0 | |
%6 = insertvalue { i64, i64 } %5, i64 %4, 1 | |
ret { i64, i64 } %6 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core4iter5range101_$LT$impl$u20$core..iter..traits..iterator..Iterator$u20$for$u20$core..ops..range..Range$LT$A$GT$$GT$9size_hint17h927ddd1aafe48816E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %0, ptr noalias noundef readonly align 8 dereferenceable(16) %1) unnamed_addr #0 { | |
%3 = alloca { i64, i64 }, align 8 | |
%4 = alloca { i64, i64 }, align 8 | |
%5 = alloca i64, align 8 | |
%6 = getelementptr inbounds { i64, i64 }, ptr %1, i32 0, i32 1 | |
%7 = call noundef zeroext i1 @"_ZN4core3cmp5impls57_$LT$impl$u20$core..cmp..PartialOrd$u20$for$u20$usize$GT$2lt17h85a37094cf41345fE"(ptr noalias noundef readonly align 8 dereferenceable(8) %1, ptr noalias noundef readonly align 8 dereferenceable(8) %6) #13 | |
br i1 %7, label %17, label %8 | |
8: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
%9 = getelementptr inbounds { i64, i64 }, ptr %3, i32 0, i32 1 | |
store i64 0, ptr %9, align 8 | |
store i64 1, ptr %3, align 8 | |
store i64 0, ptr %0, align 8 | |
%10 = getelementptr inbounds { i64, i64 }, ptr %3, i32 0, i32 0 | |
%11 = load i64, ptr %10, align 8, !range !7, !noundef !3 | |
%12 = getelementptr inbounds { i64, i64 }, ptr %3, i32 0, i32 1 | |
%13 = load i64, ptr %12, align 8 | |
%14 = getelementptr inbounds { i64, { i64, i64 } }, ptr %0, i32 0, i32 1 | |
%15 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 0 | |
store i64 %11, ptr %15, align 8 | |
%16 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 1 | |
store i64 %13, ptr %16, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
br label %25 | |
17: ; preds = %2 | |
%18 = getelementptr inbounds { i64, i64 }, ptr %1, i32 0, i32 1 | |
%19 = call { i64, i64 } @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$13steps_between17h124743e14a81458dE"(ptr noalias noundef readonly align 8 dereferenceable(8) %1, ptr noalias noundef readonly align 8 dereferenceable(8) %18) #13 | |
%20 = extractvalue { i64, i64 } %19, 0 | |
%21 = extractvalue { i64, i64 } %19, 1 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
%22 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 0 | |
store i64 %20, ptr %22, align 8 | |
%23 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 1 | |
store i64 %21, ptr %23, align 8 | |
%24 = load i64, ptr %4, align 8, !range !7, !noundef !3 | |
switch i64 %24, label %26 [ | |
i64 0, label %27 | |
i64 1, label %28 | |
] | |
25: ; preds = %31, %8 | |
ret void | |
26: ; preds = %17 | |
unreachable | |
27: ; preds = %17 | |
store i64 -1, ptr %5, align 8 | |
br label %31 | |
28: ; preds = %17 | |
%29 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 1 | |
%30 = load i64, ptr %29, align 8, !noundef !3 | |
store i64 %30, ptr %5, align 8 | |
br label %31 | |
31: ; preds = %28, %27 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%32 = load i64, ptr %5, align 8, !noundef !3 | |
store i64 %32, ptr %0, align 8 | |
%33 = getelementptr inbounds { i64, { i64, i64 } }, ptr %0, i32 0, i32 1 | |
%34 = getelementptr inbounds { i64, i64 }, ptr %33, i32 0, i32 0 | |
store i64 %20, ptr %34, align 8 | |
%35 = getelementptr inbounds { i64, i64 }, ptr %33, i32 0, i32 1 | |
store i64 %21, ptr %35, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
br label %25 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17h6a2a7b821592ea1cE(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
store ptr %0, ptr %4, align 8 | |
%5 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%7 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 | |
%8 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%9 = load ptr, ptr %8, align 8, !noundef !3 | |
%10 = insertvalue { ptr, ptr } poison, ptr %7, 0 | |
%11 = insertvalue { ptr, ptr } %10, ptr %9, 1 | |
ret { ptr, ptr } %11 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17h6f3590569b461620E(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
store ptr %0, ptr %4, align 8 | |
%5 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%7 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 | |
%8 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%9 = load ptr, ptr %8, align 8, !noundef !3 | |
%10 = insertvalue { ptr, ptr } poison, ptr %7, 0 | |
%11 = insertvalue { ptr, ptr } %10, ptr %9, 1 | |
ret { ptr, ptr } %11 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3map17h7d75cd51035bb9ceE(ptr noalias nocapture noundef sret({ { ptr, ptr }, ptr }) align 8 dereferenceable(24) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noalias noundef readonly align 8 dereferenceable(16) %3) unnamed_addr #0 { | |
%5 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %2, ptr %6, align 8 | |
%7 = getelementptr inbounds { { ptr, ptr }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %3, ptr %7, align 8 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17ha55d39f73635d6d1E(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
store ptr %0, ptr %4, align 8 | |
%5 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%7 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 | |
%8 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%9 = load ptr, ptr %8, align 8, !noundef !3 | |
%10 = insertvalue { ptr, ptr } poison, ptr %7, 0 | |
%11 = insertvalue { ptr, ptr } %10, ptr %9, 1 | |
ret { ptr, ptr } %11 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3map17hd74f1a01dcb9aa66E(ptr noalias nocapture noundef sret({ { ptr, ptr }, ptr }) align 8 dereferenceable(24) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noalias noundef readonly align 8 dereferenceable(16) %3) unnamed_addr #0 { | |
%5 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 0 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %2, ptr %6, align 8 | |
%7 = getelementptr inbounds { { ptr, ptr }, ptr }, ptr %0, i32 0, i32 1 | |
store ptr %3, ptr %7, align 8 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { ptr, ptr } @_ZN4core4iter6traits8iterator8Iterator3map17hf4bb88043900098eE(ptr noundef nonnull %0, ptr noundef %1) unnamed_addr #0 { | |
%3 = alloca { ptr, ptr }, align 8 | |
%4 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
store ptr %0, ptr %4, align 8 | |
%5 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %1, ptr %5, align 8 | |
%6 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 0 | |
%7 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 | |
%8 = getelementptr inbounds { ptr, ptr }, ptr %3, i32 0, i32 1 | |
%9 = load ptr, ptr %8, align 8, !noundef !3 | |
%10 = insertvalue { ptr, ptr } poison, ptr %7, 0 | |
%11 = insertvalue { ptr, ptr } %10, ptr %9, 1 | |
ret { ptr, ptr } %11 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h0ea67a1b3cc51db6E(ptr noalias nocapture noundef sret({ { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(328) %0, ptr noalias nocapture noundef align 8 dereferenceable(136) %1, ptr noalias nocapture noundef align 8 dereferenceable(168) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, align 8 | |
%7 = alloca { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 136, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 136, i1 false) | |
call void @llvm.lifetime.start.p0(i64 168, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h7210acfc52a0166dE"(ptr noalias nocapture noundef sret({ { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(168) %6, ptr noalias nocapture noundef align 8 dereferenceable(168) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h65ade934cf0c9269E"(ptr noalias nocapture noundef sret({ { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(328) %0, ptr noalias nocapture noundef align 8 dereferenceable(136) %7, ptr noalias nocapture noundef align 8 dereferenceable(168) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 168, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 136, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h134e26f25db6adf1E(ptr noalias nocapture noundef sret({ { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(328) %0, ptr noalias nocapture noundef align 8 dereferenceable(136) %1, ptr noalias nocapture noundef align 8 dereferenceable(168) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, align 8 | |
%7 = alloca { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 136, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 136, i1 false) | |
call void @llvm.lifetime.start.p0(i64 168, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h7210acfc52a0166dE"(ptr noalias nocapture noundef sret({ { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(168) %6, ptr noalias nocapture noundef align 8 dereferenceable(168) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h915d075d457173b9E"(ptr noalias nocapture noundef sret({ { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, { { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(328) %0, ptr noalias nocapture noundef align 8 dereferenceable(136) %7, ptr noalias nocapture noundef align 8 dereferenceable(168) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 168, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 136, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h15323907ec4dbc22E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h31b13cd813f92f57E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h098024a96fa40288E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h19386ade86e6e15aE(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h2a94cdf82042b31fE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hae3d5b5200caec4dE"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h1d6113517496b270E(ptr noalias nocapture noundef sret({ { { ptr, { {}, ptr, i64, i64 } }, i64 }, { i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(80) %0, i64 noundef %1, i64 noundef %2, ptr noalias nocapture noundef align 8 dereferenceable(40) %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca i8, align 1 | |
%7 = alloca { { ptr, { {}, ptr, i64, i64 } }, i64 }, align 8 | |
store i8 1, ptr %6, align 1 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %7) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h65dc47272f2e1717E"(ptr noalias nocapture noundef sret({ { ptr, { {}, ptr, i64, i64 } }, i64 }) align 8 dereferenceable(40) %7, ptr noalias nocapture noundef align 8 dereferenceable(40) %3) #13 | |
br label %8 | |
8: ; preds = %4 | |
store i8 0, ptr %6, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hcbd432488ca10937E"(ptr noalias nocapture noundef sret({ { { ptr, { {}, ptr, i64, i64 } }, i64 }, { i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(80) %0, i64 noundef %1, i64 noundef %2, ptr noalias nocapture noundef align 8 dereferenceable(40) %7) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %5, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h3001232a16f93616E(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(192) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, ptr noalias nocapture noundef align 8 dereferenceable(136) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 32, i1 false) | |
call void @llvm.lifetime.start.p0(i64 136, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17ha215d3360f337e21E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %6, ptr noalias nocapture noundef align 8 dereferenceable(136) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h80876d3b7668dc54E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(192) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %7, ptr noalias nocapture noundef align 8 dereferenceable(136) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 136, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h34313653e6237fc9E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hbb48b20d2afda567E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h1b3e1d1112a2dd8fE"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h354b34f034ea7b43E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h3f4fea59ea62b32cE"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hcbb2b80cf4cbcc8aE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h36c18d25b5791d7eE(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noalias noundef align 4 dereferenceable(32) %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca i8, align 1 | |
store i8 1, ptr %6, align 1 | |
%7 = call { ptr, ptr } @"_ZN4core5array106_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$mut$u20$$u5b$T$u3b$$u20$N$u5d$$GT$9into_iter17h401169c0433af59eE"(ptr noalias noundef align 4 dereferenceable(32) %3) #13 | |
%8 = extractvalue { ptr, ptr } %7, 0 | |
%9 = extractvalue { ptr, ptr } %7, 1 | |
br label %10 | |
10: ; preds = %4 | |
store i8 0, ptr %6, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h048a7bb531dfab41E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %8, ptr noundef %9) #13 | |
br label %11 | |
11: ; preds = %10 | |
ret void | |
12: ; No predecessors! | |
%13 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%14 = trunc i8 %13 to i1 | |
br i1 %14, label %21, label %15 | |
15: ; preds = %21, %12 | |
%16 = load ptr, ptr %5, align 8, !noundef !3 | |
%17 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%18 = load i32, ptr %17, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%19 = insertvalue { ptr, i32 } poison, ptr %16, 0 | |
%20 = insertvalue { ptr, i32 } %19, i32 %18, 1 | |
resume { ptr, i32 } %20 | |
21: ; preds = %12 | |
br label %15 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h45f6d43718e670f7E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias noundef nonnull readonly align 2 %2, i64 noundef %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca i8, align 1 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %6, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
%8 = call { ptr, ptr } @"_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17h329b2953ef1224c2E"(ptr noalias noundef nonnull readonly align 2 %2, i64 noundef %3) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %4 | |
store i8 0, ptr %6, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h46e59b32913142c7E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %5, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h61df3ee5c6285e89E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h40646bd6a0fb7c89E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hc321160b6b3c2517E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h6bb75328c18b9330E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h31b13cd813f92f57E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h3c6ce8faf00376f3E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h6c2c5a88a0887325E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb137d7188e0b4201E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h9059a396c5f8b003E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h84149c94b63cc1b0E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h3f4fea59ea62b32cE"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h8e61e5e136b9bdfaE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17h85f99a6159093479E(ptr noalias nocapture noundef sret({ { { ptr, { {}, ptr, i64, i64 } }, i64 }, { i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(80) %0, i64 noundef %1, i64 noundef %2, ptr noalias nocapture noundef align 8 dereferenceable(40) %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca i8, align 1 | |
%7 = alloca { { ptr, { {}, ptr, i64, i64 } }, i64 }, align 8 | |
store i8 1, ptr %6, align 1 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %7) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h3d06f09975deb175E"(ptr noalias nocapture noundef sret({ { ptr, { {}, ptr, i64, i64 } }, i64 }) align 8 dereferenceable(40) %7, ptr noalias nocapture noundef align 8 dereferenceable(40) %3) #13 | |
br label %8 | |
8: ; preds = %4 | |
store i8 0, ptr %6, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h54ad4526d0aaf674E"(ptr noalias nocapture noundef sret({ { { ptr, { {}, ptr, i64, i64 } }, i64 }, { i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(80) %0, i64 noundef %1, i64 noundef %2, ptr noalias nocapture noundef align 8 dereferenceable(40) %7) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %5, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hb0a290c83c95c724E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h3f4fea59ea62b32cE"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hc74541fef6d0bf7fE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hc024e023f205b6b6E(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(192) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, ptr noalias nocapture noundef align 8 dereferenceable(136) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 32, i1 false) | |
call void @llvm.lifetime.start.p0(i64 136, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17ha215d3360f337e21E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %6, ptr noalias nocapture noundef align 8 dereferenceable(136) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hdc687a8a7c59b20fE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(192) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %7, ptr noalias nocapture noundef align 8 dereferenceable(136) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 136, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hc6694d7732032eaaE(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb137d7188e0b4201E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17ha63c22b667852974E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hcb99b86321fe5821E(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }) align 8 dereferenceable(72) %0, ptr noalias nocapture noundef align 8 dereferenceable(24) %1, ptr noalias nocapture noundef align 8 dereferenceable(24) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, i64 }, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 24, i1 false) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17ha214cbbbee99d309E"(ptr noalias nocapture noundef sret({ { ptr, i64 }, i64 }) align 8 dereferenceable(24) %6, ptr noalias nocapture noundef align 8 dereferenceable(24) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hde89b6e6e357dbe1E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }) align 8 dereferenceable(72) %0, ptr noalias nocapture noundef align 8 dereferenceable(24) %7, ptr noalias nocapture noundef align 8 dereferenceable(24) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hd14efc289bd69e44E(ptr noalias nocapture noundef sret({ { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(168) %0, ptr noalias nocapture noundef align 8 dereferenceable(72) %1, ptr noalias nocapture noundef align 8 dereferenceable(72) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, align 8 | |
%7 = alloca { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 72, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 72, i1 false) | |
call void @llvm.lifetime.start.p0(i64 72, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hcb65c3d2401713e9E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }) align 8 dereferenceable(72) %6, ptr noalias nocapture noundef align 8 dereferenceable(72) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h7bf72f7f01b1f778E"(ptr noalias nocapture noundef sret({ { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, { { { ptr, i64 }, i64 }, { { ptr, i64 }, i64 }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(168) %0, ptr noalias nocapture noundef align 8 dereferenceable(72) %7, ptr noalias nocapture noundef align 8 dereferenceable(72) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 72, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 72, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hd5643d1b928a504fE(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb137d7188e0b4201E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h1bb799d7662fc2aaE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17he1d8c83cf24cd7a0E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h31b13cd813f92f57E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h6ea1d5c7ad58cee1E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17he28f822bb675ea48E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca i8, align 1 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %6, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
%8 = call { ptr, ptr } @"_ZN4core5slice4iter87_$LT$impl$u20$core..iter..traits..collect..IntoIterator$u20$for$u20$$RF$$u5b$T$u5d$$GT$9into_iter17hb679665e359495b2E"(ptr noalias noundef nonnull readonly align 1 %2, i64 noundef %3) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %4 | |
store i8 0, ptr %6, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h66859f83a40c0f4fE"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(96) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %5, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17he5f7616af7ca1f09E(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(112) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 32, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h2a94cdf82042b31fE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h7b4b3d47bde218a3E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(112) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hea4256a08eeb1f2fE(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb1a9830fab16fa20E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hfcd8fe6b460dac21E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17heee02c200a6f347aE(ptr noalias nocapture noundef sret({ { ptr, ptr }, { i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(56) %0, i64 noundef %1, i64 noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h73c7c91bf513c050E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hd6658ae9bb7e929aE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(56) %0, i64 noundef %1, i64 noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hf0fb34d8046f3192E(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 56, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 56, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h31b13cd813f92f57E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hcacbaebad2bd6e38E"(ptr noalias nocapture noundef sret({ { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(136) %0, ptr noalias nocapture noundef align 8 dereferenceable(56) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hfd03aaa2ca1e4095E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h72a7f5d8a2063e85E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hbf64307ae9f259d3E"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hfd4e02843a49b93bE(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(112) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %1, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 32, ptr %7) | |
store i8 1, ptr %5, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %1, i64 32, i1 false) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %6) | |
call void @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h2a94cdf82042b31fE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %6, ptr noalias nocapture noundef align 8 dereferenceable(56) %2) #13 | |
br label %8 | |
8: ; preds = %3 | |
store i8 0, ptr %5, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h426c6a2489cb03ffE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, i64, i64 }, { { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }, i64, i64, i64 }) align 8 dereferenceable(112) %0, ptr noalias nocapture noundef align 8 dereferenceable(32) %7, ptr noalias nocapture noundef align 8 dereferenceable(56) %6) #13 | |
br label %9 | |
9: ; preds = %8 | |
call void @llvm.lifetime.end.p0(i64 56, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 32, ptr %7) | |
ret void | |
10: ; No predecessors! | |
%11 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%12 = trunc i8 %11 to i1 | |
br i1 %12, label %19, label %13 | |
13: ; preds = %19, %10 | |
%14 = load ptr, ptr %4, align 8, !noundef !3 | |
%15 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%16 = load i32, ptr %15, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%17 = insertvalue { ptr, i32 } poison, ptr %14, 0 | |
%18 = insertvalue { ptr, i32 } %17, i32 %16, 1 | |
resume { ptr, i32 } %18 | |
19: ; preds = %10 | |
br label %13 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hfd4e2e39866ed9d5E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17hb137d7188e0b4201E"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17h5479c40c894be6abE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4iter6traits8iterator8Iterator3zip17hfd73808f2d616144E(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %3, ptr noundef %4) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%6 = alloca { ptr, i32 }, align 8 | |
%7 = alloca i8, align 1 | |
store i8 1, ptr %7, align 1 | |
%8 = call { ptr, ptr } @"_ZN63_$LT$I$u20$as$u20$core..iter..traits..collect..IntoIterator$GT$9into_iter17h3f4fea59ea62b32cE"(ptr noundef nonnull %3, ptr noundef %4) #13 | |
%9 = extractvalue { ptr, ptr } %8, 0 | |
%10 = extractvalue { ptr, ptr } %8, 1 | |
br label %11 | |
11: ; preds = %5 | |
store i8 0, ptr %7, align 1 | |
call void @"_ZN111_$LT$core..iter..adapters..zip..Zip$LT$A$C$B$GT$$u20$as$u20$core..iter..adapters..zip..ZipImpl$LT$A$C$B$GT$$GT$3new17hc8bb25cf726d73cfE"(ptr noalias nocapture noundef sret({ { ptr, ptr }, { ptr, ptr }, i64, i64, i64 }) align 8 dereferenceable(56) %0, ptr noundef nonnull %1, ptr noundef %2, ptr noundef nonnull %9, ptr noundef %10) #13 | |
br label %12 | |
12: ; preds = %11 | |
ret void | |
13: ; No predecessors! | |
%14 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%15 = trunc i8 %14 to i1 | |
br i1 %15, label %22, label %16 | |
16: ; preds = %22, %13 | |
%17 = load ptr, ptr %6, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i32 }, ptr %6, i32 0, i32 1 | |
%19 = load i32, ptr %18, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%20 = insertvalue { ptr, i32 } poison, ptr %17, 0 | |
%21 = insertvalue { ptr, i32 } %20, i32 %19, 1 | |
resume { ptr, i32 } %21 | |
22: ; preds = %13 | |
br label %16 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core4iter8adapters7step_by15StepBy$LT$I$GT$3new17head61bbcce883122E"(ptr noalias nocapture noundef sret({ { i64, i64 }, i64, i8, [7 x i8] }) align 8 dereferenceable(32) %0, i64 noundef %1, i64 noundef %2, i64 noundef %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca i8, align 1 | |
store i8 1, ptr %6, align 1 | |
%7 = icmp ne i64 %3, 0 | |
%8 = xor i1 %7, true | |
br i1 %8, label %13, label %9 | |
9: ; preds = %4 | |
store i8 0, ptr %6, align 1 | |
%10 = call { i64, i64 } @"_ZN146_$LT$core..ops..range..Range$LT$usize$GT$$u20$as$u20$core..iter..adapters..step_by..SpecRangeSetup$LT$core..ops..range..Range$LT$usize$GT$$GT$$GT$5setup17h1cbeab346b663e68E"(i64 noundef %1, i64 noundef %2, i64 noundef %3) #13 | |
%11 = extractvalue { i64, i64 } %10, 0 | |
%12 = extractvalue { i64, i64 } %10, 1 | |
br label %14 | |
13: ; preds = %4 | |
call void @_ZN4core9panicking5panic17h5caa4064b91696faE(ptr noalias noundef nonnull readonly align 1 @7, i64 noundef 27, ptr noalias noundef readonly align 8 dereferenceable(24) @9) #14 | |
unreachable | |
14: ; preds = %9 | |
%15 = sub i64 %3, 1 | |
%16 = getelementptr inbounds { i64, i64 }, ptr %0, i32 0, i32 0 | |
store i64 %11, ptr %16, align 8 | |
%17 = getelementptr inbounds { i64, i64 }, ptr %0, i32 0, i32 1 | |
store i64 %12, ptr %17, align 8 | |
%18 = getelementptr inbounds { { i64, i64 }, i64, i8, [7 x i8] }, ptr %0, i32 0, i32 1 | |
store i64 %15, ptr %18, align 8 | |
%19 = getelementptr inbounds { { i64, i64 }, i64, i8, [7 x i8] }, ptr %0, i32 0, i32 2 | |
store i8 1, ptr %19, align 8 | |
ret void | |
20: ; No predecessors! | |
%21 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%22 = trunc i8 %21 to i1 | |
br i1 %22, label %29, label %23 | |
23: ; preds = %29, %20 | |
%24 = load ptr, ptr %5, align 8, !noundef !3 | |
%25 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%26 = load i32, ptr %25, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%27 = insertvalue { ptr, i32 } poison, ptr %24, 0 | |
%28 = insertvalue { ptr, i32 } %27, i32 %26, 1 | |
resume { ptr, i32 } %28 | |
29: ; preds = %20 | |
br label %23 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef i64 @_ZN4core4sync6atomic11atomic_load17h24c4e15a6bba1f6aE(ptr noundef %0, i8 noundef %1) unnamed_addr #0 { | |
%3 = alloca { ptr, i64 }, align 8 | |
%4 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%5 = alloca { ptr, i64 }, align 8 | |
%6 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%7 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%8 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%9 = alloca i64, align 8 | |
%10 = alloca i8, align 1 | |
store i8 %1, ptr %10, align 1 | |
%11 = load i8, ptr %10, align 1, !range !12, !noundef !3 | |
%12 = zext i8 %11 to i64 | |
switch i64 %12, label %13 [ | |
i64 0, label %14 | |
i64 1, label %16 | |
i64 2, label %17 | |
i64 3, label %19 | |
i64 4, label %20 | |
] | |
13: ; preds = %2 | |
unreachable | |
14: ; preds = %2 | |
%15 = load atomic i64, ptr %0 monotonic, align 8 | |
store i64 %15, ptr %9, align 8 | |
br label %22 | |
16: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %8) | |
br i1 false, label %37, label %24 | |
17: ; preds = %2 | |
%18 = load atomic i64, ptr %0 acquire, align 8 | |
store i64 %18, ptr %9, align 8 | |
br label %22 | |
19: ; preds = %2 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
br i1 false, label %51, label %38 | |
20: ; preds = %2 | |
%21 = load atomic i64, ptr %0 seq_cst, align 8 | |
store i64 %21, ptr %9, align 8 | |
br label %22 | |
22: ; preds = %20, %17, %14 | |
%23 = load i64, ptr %9, align 8, !noundef !3 | |
ret i64 %23 | |
24: ; preds = %16 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %3) | |
store ptr null, ptr %3, align 8 | |
%25 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 0 | |
store ptr @11, ptr %25, align 8 | |
%26 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1 | |
store i64 1, ptr %26, align 8 | |
%27 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 0 | |
%28 = load ptr, ptr %27, align 8, !align !5, !noundef !3 | |
%29 = getelementptr inbounds { ptr, i64 }, ptr %3, i32 0, i32 1 | |
%30 = load i64, ptr %29, align 8 | |
%31 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %8, i32 0, i32 2 | |
%32 = getelementptr inbounds { ptr, i64 }, ptr %31, i32 0, i32 0 | |
store ptr %28, ptr %32, align 8 | |
%33 = getelementptr inbounds { ptr, i64 }, ptr %31, i32 0, i32 1 | |
store i64 %30, ptr %33, align 8 | |
%34 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %8, i32 0, i32 1 | |
%35 = getelementptr inbounds { ptr, i64 }, ptr %34, i32 0, i32 0 | |
store ptr @0, ptr %35, align 8 | |
%36 = getelementptr inbounds { ptr, i64 }, ptr %34, i32 0, i32 1 | |
store i64 0, ptr %36, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %8, ptr noalias noundef readonly align 8 dereferenceable(24) @13) #14 | |
unreachable | |
37: ; preds = %16 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %4) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %4, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %4, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
38: ; preds = %19 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %5) | |
store ptr null, ptr %5, align 8 | |
%39 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr @15, ptr %39, align 8 | |
%40 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 1, ptr %40, align 8 | |
%41 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 0 | |
%42 = load ptr, ptr %41, align 8, !align !5, !noundef !3 | |
%43 = getelementptr inbounds { ptr, i64 }, ptr %5, i32 0, i32 1 | |
%44 = load i64, ptr %43, align 8 | |
%45 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %7, i32 0, i32 2 | |
%46 = getelementptr inbounds { ptr, i64 }, ptr %45, i32 0, i32 0 | |
store ptr %42, ptr %46, align 8 | |
%47 = getelementptr inbounds { ptr, i64 }, ptr %45, i32 0, i32 1 | |
store i64 %44, ptr %47, align 8 | |
%48 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %7, i32 0, i32 1 | |
%49 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 0 | |
store ptr @0, ptr %49, align 8 | |
%50 = getelementptr inbounds { ptr, i64 }, ptr %48, i32 0, i32 1 | |
store i64 0, ptr %50, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %7, ptr noalias noundef readonly align 8 dereferenceable(24) @16) #14 | |
unreachable | |
51: ; preds = %19 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %6) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %6, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %6, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core4sync6atomic12atomic_store17h12730a5906b04930E(ptr noundef %0, i64 noundef %1, i8 noundef %2) unnamed_addr #0 { | |
%4 = alloca { ptr, i64 }, align 8 | |
%5 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%8 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%9 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%10 = alloca i8, align 1 | |
store i8 %2, ptr %10, align 1 | |
%11 = load i8, ptr %10, align 1, !range !12, !noundef !3 | |
%12 = zext i8 %11 to i64 | |
switch i64 %12, label %13 [ | |
i64 0, label %14 | |
i64 1, label %15 | |
i64 2, label %16 | |
i64 3, label %17 | |
i64 4, label %18 | |
] | |
13: ; preds = %3 | |
unreachable | |
14: ; preds = %3 | |
store atomic i64 %1, ptr %0 monotonic, align 8 | |
br label %19 | |
15: ; preds = %3 | |
store atomic i64 %1, ptr %0 release, align 8 | |
br label %19 | |
16: ; preds = %3 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %9) | |
br i1 false, label %33, label %20 | |
17: ; preds = %3 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %8) | |
br i1 false, label %47, label %34 | |
18: ; preds = %3 | |
store atomic i64 %1, ptr %0 seq_cst, align 8 | |
br label %19 | |
19: ; preds = %18, %15, %14 | |
ret void | |
20: ; preds = %16 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
store ptr null, ptr %4, align 8 | |
%21 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
store ptr @18, ptr %21, align 8 | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
store i64 1, ptr %22, align 8 | |
%23 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 0 | |
%24 = load ptr, ptr %23, align 8, !align !5, !noundef !3 | |
%25 = getelementptr inbounds { ptr, i64 }, ptr %4, i32 0, i32 1 | |
%26 = load i64, ptr %25, align 8 | |
%27 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %9, i32 0, i32 2 | |
%28 = getelementptr inbounds { ptr, i64 }, ptr %27, i32 0, i32 0 | |
store ptr %24, ptr %28, align 8 | |
%29 = getelementptr inbounds { ptr, i64 }, ptr %27, i32 0, i32 1 | |
store i64 %26, ptr %29, align 8 | |
%30 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %9, i32 0, i32 1 | |
%31 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 0 | |
store ptr @0, ptr %31, align 8 | |
%32 = getelementptr inbounds { ptr, i64 }, ptr %30, i32 0, i32 1 | |
store i64 0, ptr %32, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %9, ptr noalias noundef readonly align 8 dereferenceable(24) @19) #14 | |
unreachable | |
33: ; preds = %16 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %5) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %5, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %5, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
34: ; preds = %17 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr null, ptr %6, align 8 | |
%35 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 0 | |
store ptr @21, ptr %35, align 8 | |
%36 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1 | |
store i64 1, ptr %36, align 8 | |
%37 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%38 = load ptr, ptr %37, align 8, !align !5, !noundef !3 | |
%39 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%40 = load i64, ptr %39, align 8 | |
%41 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %8, i32 0, i32 2 | |
%42 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 0 | |
store ptr %38, ptr %42, align 8 | |
%43 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 1 | |
store i64 %40, ptr %43, align 8 | |
%44 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %8, i32 0, i32 1 | |
%45 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 0 | |
store ptr @0, ptr %45, align 8 | |
%46 = getelementptr inbounds { ptr, i64 }, ptr %44, i32 0, i32 1 | |
store i64 0, ptr %46, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %8, ptr noalias noundef readonly align 8 dereferenceable(24) @22) #14 | |
unreachable | |
47: ; preds = %17 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %7, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %7, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17hc59330ac955cc136E(ptr noundef %0, i64 noundef %1, i64 noundef %2, i8 noundef %3, i8 noundef %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%8 = alloca { ptr, i64 }, align 8 | |
%9 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%10 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%11 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%12 = alloca { i64, i8 }, align 8 | |
%13 = alloca { i64, i64 }, align 8 | |
%14 = alloca i8, align 1 | |
%15 = alloca i8, align 1 | |
store i8 %3, ptr %15, align 1 | |
store i8 %4, ptr %14, align 1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %12) | |
%16 = load i8, ptr %15, align 1, !range !12, !noundef !3 | |
%17 = zext i8 %16 to i64 | |
switch i64 %17, label %18 [ | |
i64 0, label %19 | |
i64 1, label %22 | |
i64 2, label %25 | |
i64 3, label %28 | |
i64 4, label %31 | |
] | |
18: ; preds = %34, %5 | |
unreachable | |
19: ; preds = %5 | |
%20 = load i8, ptr %14, align 1, !range !12, !noundef !3 | |
%21 = zext i8 %20 to i64 | |
switch i64 %21, label %34 [ | |
i64 0, label %37 | |
i64 2, label %43 | |
i64 4, label %49 | |
] | |
22: ; preds = %5 | |
%23 = load i8, ptr %14, align 1, !range !12, !noundef !3 | |
%24 = zext i8 %23 to i64 | |
switch i64 %24, label %34 [ | |
i64 0, label %60 | |
i64 2, label %66 | |
i64 4, label %72 | |
] | |
25: ; preds = %5 | |
%26 = load i8, ptr %14, align 1, !range !12, !noundef !3 | |
%27 = zext i8 %26 to i64 | |
switch i64 %27, label %34 [ | |
i64 0, label %78 | |
i64 2, label %84 | |
i64 4, label %90 | |
] | |
28: ; preds = %5 | |
%29 = load i8, ptr %14, align 1, !range !12, !noundef !3 | |
%30 = zext i8 %29 to i64 | |
switch i64 %30, label %34 [ | |
i64 0, label %96 | |
i64 2, label %102 | |
i64 4, label %108 | |
] | |
31: ; preds = %5 | |
%32 = load i8, ptr %14, align 1, !range !12, !noundef !3 | |
%33 = zext i8 %32 to i64 | |
switch i64 %33, label %34 [ | |
i64 0, label %114 | |
i64 2, label %120 | |
i64 4, label %126 | |
] | |
34: ; preds = %31, %28, %25, %22, %19 | |
%35 = load i8, ptr %14, align 1, !range !12, !noundef !3 | |
%36 = zext i8 %35 to i64 | |
switch i64 %36, label %18 [ | |
i64 1, label %143 | |
i64 3, label %144 | |
] | |
37: ; preds = %19 | |
%38 = cmpxchg ptr %0, i64 %1, i64 %2 monotonic monotonic, align 8 | |
%39 = extractvalue { i64, i1 } %38, 0 | |
%40 = extractvalue { i64, i1 } %38, 1 | |
%41 = zext i1 %40 to i8 | |
store i64 %39, ptr %12, align 8 | |
%42 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %41, ptr %42, align 8 | |
br label %55 | |
43: ; preds = %19 | |
%44 = cmpxchg ptr %0, i64 %1, i64 %2 monotonic acquire, align 8 | |
%45 = extractvalue { i64, i1 } %44, 0 | |
%46 = extractvalue { i64, i1 } %44, 1 | |
%47 = zext i1 %46 to i8 | |
store i64 %45, ptr %12, align 8 | |
%48 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %47, ptr %48, align 8 | |
br label %55 | |
49: ; preds = %19 | |
%50 = cmpxchg ptr %0, i64 %1, i64 %2 monotonic seq_cst, align 8 | |
%51 = extractvalue { i64, i1 } %50, 0 | |
%52 = extractvalue { i64, i1 } %50, 1 | |
%53 = zext i1 %52 to i8 | |
store i64 %51, ptr %12, align 8 | |
%54 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %53, ptr %54, align 8 | |
br label %55 | |
55: ; preds = %126, %120, %114, %108, %102, %96, %90, %84, %78, %72, %66, %60, %49, %43, %37 | |
%56 = load i64, ptr %12, align 8, !noundef !3 | |
%57 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
%58 = load i8, ptr %57, align 8, !range !9, !noundef !3 | |
%59 = trunc i8 %58 to i1 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %12) | |
br i1 %59, label %134, label %132 | |
60: ; preds = %22 | |
%61 = cmpxchg ptr %0, i64 %1, i64 %2 release monotonic, align 8 | |
%62 = extractvalue { i64, i1 } %61, 0 | |
%63 = extractvalue { i64, i1 } %61, 1 | |
%64 = zext i1 %63 to i8 | |
store i64 %62, ptr %12, align 8 | |
%65 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %64, ptr %65, align 8 | |
br label %55 | |
66: ; preds = %22 | |
%67 = cmpxchg ptr %0, i64 %1, i64 %2 release acquire, align 8 | |
%68 = extractvalue { i64, i1 } %67, 0 | |
%69 = extractvalue { i64, i1 } %67, 1 | |
%70 = zext i1 %69 to i8 | |
store i64 %68, ptr %12, align 8 | |
%71 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %70, ptr %71, align 8 | |
br label %55 | |
72: ; preds = %22 | |
%73 = cmpxchg ptr %0, i64 %1, i64 %2 release seq_cst, align 8 | |
%74 = extractvalue { i64, i1 } %73, 0 | |
%75 = extractvalue { i64, i1 } %73, 1 | |
%76 = zext i1 %75 to i8 | |
store i64 %74, ptr %12, align 8 | |
%77 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %76, ptr %77, align 8 | |
br label %55 | |
78: ; preds = %25 | |
%79 = cmpxchg ptr %0, i64 %1, i64 %2 acquire monotonic, align 8 | |
%80 = extractvalue { i64, i1 } %79, 0 | |
%81 = extractvalue { i64, i1 } %79, 1 | |
%82 = zext i1 %81 to i8 | |
store i64 %80, ptr %12, align 8 | |
%83 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %82, ptr %83, align 8 | |
br label %55 | |
84: ; preds = %25 | |
%85 = cmpxchg ptr %0, i64 %1, i64 %2 acquire acquire, align 8 | |
%86 = extractvalue { i64, i1 } %85, 0 | |
%87 = extractvalue { i64, i1 } %85, 1 | |
%88 = zext i1 %87 to i8 | |
store i64 %86, ptr %12, align 8 | |
%89 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %88, ptr %89, align 8 | |
br label %55 | |
90: ; preds = %25 | |
%91 = cmpxchg ptr %0, i64 %1, i64 %2 acquire seq_cst, align 8 | |
%92 = extractvalue { i64, i1 } %91, 0 | |
%93 = extractvalue { i64, i1 } %91, 1 | |
%94 = zext i1 %93 to i8 | |
store i64 %92, ptr %12, align 8 | |
%95 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %94, ptr %95, align 8 | |
br label %55 | |
96: ; preds = %28 | |
%97 = cmpxchg ptr %0, i64 %1, i64 %2 acq_rel monotonic, align 8 | |
%98 = extractvalue { i64, i1 } %97, 0 | |
%99 = extractvalue { i64, i1 } %97, 1 | |
%100 = zext i1 %99 to i8 | |
store i64 %98, ptr %12, align 8 | |
%101 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %100, ptr %101, align 8 | |
br label %55 | |
102: ; preds = %28 | |
%103 = cmpxchg ptr %0, i64 %1, i64 %2 acq_rel acquire, align 8 | |
%104 = extractvalue { i64, i1 } %103, 0 | |
%105 = extractvalue { i64, i1 } %103, 1 | |
%106 = zext i1 %105 to i8 | |
store i64 %104, ptr %12, align 8 | |
%107 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %106, ptr %107, align 8 | |
br label %55 | |
108: ; preds = %28 | |
%109 = cmpxchg ptr %0, i64 %1, i64 %2 acq_rel seq_cst, align 8 | |
%110 = extractvalue { i64, i1 } %109, 0 | |
%111 = extractvalue { i64, i1 } %109, 1 | |
%112 = zext i1 %111 to i8 | |
store i64 %110, ptr %12, align 8 | |
%113 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %112, ptr %113, align 8 | |
br label %55 | |
114: ; preds = %31 | |
%115 = cmpxchg ptr %0, i64 %1, i64 %2 seq_cst monotonic, align 8 | |
%116 = extractvalue { i64, i1 } %115, 0 | |
%117 = extractvalue { i64, i1 } %115, 1 | |
%118 = zext i1 %117 to i8 | |
store i64 %116, ptr %12, align 8 | |
%119 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %118, ptr %119, align 8 | |
br label %55 | |
120: ; preds = %31 | |
%121 = cmpxchg ptr %0, i64 %1, i64 %2 seq_cst acquire, align 8 | |
%122 = extractvalue { i64, i1 } %121, 0 | |
%123 = extractvalue { i64, i1 } %121, 1 | |
%124 = zext i1 %123 to i8 | |
store i64 %122, ptr %12, align 8 | |
%125 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %124, ptr %125, align 8 | |
br label %55 | |
126: ; preds = %31 | |
%127 = cmpxchg ptr %0, i64 %1, i64 %2 seq_cst seq_cst, align 8 | |
%128 = extractvalue { i64, i1 } %127, 0 | |
%129 = extractvalue { i64, i1 } %127, 1 | |
%130 = zext i1 %129 to i8 | |
store i64 %128, ptr %12, align 8 | |
%131 = getelementptr inbounds { i64, i8 }, ptr %12, i32 0, i32 1 | |
store i8 %130, ptr %131, align 8 | |
br label %55 | |
132: ; preds = %55 | |
%133 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 1 | |
store i64 %56, ptr %133, align 8 | |
store i64 1, ptr %13, align 8 | |
br label %136 | |
134: ; preds = %55 | |
%135 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 1 | |
store i64 %56, ptr %135, align 8 | |
store i64 0, ptr %13, align 8 | |
br label %136 | |
136: ; preds = %134, %132 | |
%137 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 0 | |
%138 = load i64, ptr %137, align 8, !range !7, !noundef !3 | |
%139 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 1 | |
%140 = load i64, ptr %139, align 8, !noundef !3 | |
%141 = insertvalue { i64, i64 } poison, i64 %138, 0 | |
%142 = insertvalue { i64, i64 } %141, i64 %140, 1 | |
ret { i64, i64 } %142 | |
143: ; preds = %34 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %10) | |
br i1 false, label %158, label %145 | |
144: ; preds = %34 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %11) | |
br i1 false, label %172, label %159 | |
145: ; preds = %143 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %8) | |
store ptr null, ptr %8, align 8 | |
%146 = getelementptr inbounds { ptr, i64 }, ptr %10, i32 0, i32 0 | |
store ptr @24, ptr %146, align 8 | |
%147 = getelementptr inbounds { ptr, i64 }, ptr %10, i32 0, i32 1 | |
store i64 1, ptr %147, align 8 | |
%148 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 0 | |
%149 = load ptr, ptr %148, align 8, !align !5, !noundef !3 | |
%150 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1 | |
%151 = load i64, ptr %150, align 8 | |
%152 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %10, i32 0, i32 2 | |
%153 = getelementptr inbounds { ptr, i64 }, ptr %152, i32 0, i32 0 | |
store ptr %149, ptr %153, align 8 | |
%154 = getelementptr inbounds { ptr, i64 }, ptr %152, i32 0, i32 1 | |
store i64 %151, ptr %154, align 8 | |
%155 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %10, i32 0, i32 1 | |
%156 = getelementptr inbounds { ptr, i64 }, ptr %155, i32 0, i32 0 | |
store ptr @0, ptr %156, align 8 | |
%157 = getelementptr inbounds { ptr, i64 }, ptr %155, i32 0, i32 1 | |
store i64 0, ptr %157, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %8) | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %10, ptr noalias noundef readonly align 8 dereferenceable(24) @25) #14 | |
unreachable | |
158: ; preds = %143 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %9) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %9, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %9, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
159: ; preds = %144 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr null, ptr %6, align 8 | |
%160 = getelementptr inbounds { ptr, i64 }, ptr %11, i32 0, i32 0 | |
store ptr @27, ptr %160, align 8 | |
%161 = getelementptr inbounds { ptr, i64 }, ptr %11, i32 0, i32 1 | |
store i64 1, ptr %161, align 8 | |
%162 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%163 = load ptr, ptr %162, align 8, !align !5, !noundef !3 | |
%164 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%165 = load i64, ptr %164, align 8 | |
%166 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %11, i32 0, i32 2 | |
%167 = getelementptr inbounds { ptr, i64 }, ptr %166, i32 0, i32 0 | |
store ptr %163, ptr %167, align 8 | |
%168 = getelementptr inbounds { ptr, i64 }, ptr %166, i32 0, i32 1 | |
store i64 %165, ptr %168, align 8 | |
%169 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %11, i32 0, i32 1 | |
%170 = getelementptr inbounds { ptr, i64 }, ptr %169, i32 0, i32 0 | |
store ptr @0, ptr %170, align 8 | |
%171 = getelementptr inbounds { ptr, i64 }, ptr %169, i32 0, i32 1 | |
store i64 0, ptr %171, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %11, ptr noalias noundef readonly align 8 dereferenceable(24) @28) #14 | |
unreachable | |
172: ; preds = %144 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %7) | |
call void @_ZN4core3fmt9Arguments9new_const17h22f1baa2268286beE(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(48) %7, ptr noalias noundef nonnull readonly align 8 @2, i64 noundef 1) #13 | |
call void @_ZN4core9panicking9panic_fmt17h24b3f94e75b12286E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %7, ptr noalias noundef readonly align 8 dereferenceable(24) @4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core5array11try_from_fn17h0adb5b8ac390549aE(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noundef nonnull %1, ptr noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca { [3 x { [12 x i64] }] }, align 8 | |
%6 = alloca { [36 x i64] }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca [3 x { [12 x i64] }], align 8 | |
%9 = alloca [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], align 8 | |
%10 = alloca { {} }, align 1 | |
%11 = alloca [3 x { [12 x i64] }], align 8 | |
call void @llvm.lifetime.start.p0(i64 288, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 288, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %5, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %6) | |
store i8 1, ptr %7, align 1 | |
call void @_ZN4core5array18try_from_fn_erased17h6c5daa97cd769ab1E(ptr noalias noundef nonnull align 8 %11, i64 noundef 3, ptr noundef nonnull %1, ptr noundef %2) #13 | |
br label %12 | |
12: ; preds = %3 | |
switch i64 0, label %13 [ | |
i64 0, label %14 | |
i64 1, label %15 | |
] | |
13: ; preds = %12 | |
unreachable | |
14: ; preds = %12 | |
call void @llvm.lifetime.start.p0(i64 288, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %8) | |
store i8 0, ptr %7, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %11, i64 288, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %8, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %8) | |
call void @"_ZN94_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..Try$GT$11from_output17h10c1fea848561b57E"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noalias nocapture noundef align 8 dereferenceable(288) %9) #13 | |
br label %16 | |
15: ; preds = %12 | |
call void @"_ZN103_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..FromResidual$GT$13from_residual17hd763336f334630dfE"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0) #13 | |
br label %20 | |
16: ; preds = %14 | |
call void @llvm.lifetime.end.p0(i64 288, ptr %9) | |
br label %17 | |
17: ; preds = %20, %16 | |
%18 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%19 = trunc i8 %18 to i1 | |
br i1 %19, label %22, label %21 | |
20: ; preds = %15 | |
br label %17 | |
21: ; preds = %22, %17 | |
call void @llvm.lifetime.end.p0(i64 288, ptr %11) | |
ret void | |
22: ; preds = %17 | |
br label %21 | |
23: ; No predecessors! | |
%24 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%25 = trunc i8 %24 to i1 | |
br i1 %25, label %27, label %26 | |
26: ; preds = %28, %27, %23 | |
br i1 false, label %35, label %29 | |
27: ; preds = %23 | |
br label %26 | |
28: ; No predecessors! | |
br label %26 | |
29: ; preds = %35, %26 | |
%30 = load ptr, ptr %4, align 8, !noundef !3 | |
%31 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%32 = load i32, ptr %31, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%33 = insertvalue { ptr, i32 } poison, ptr %30, 0 | |
%34 = insertvalue { ptr, i32 } %33, i32 %32, 1 | |
resume { ptr, i32 } %34 | |
35: ; preds = %26 | |
br label %29 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core5array11try_from_fn17hdc315f85679df359E(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noundef nonnull %1, ptr noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca { [3 x { [12 x i64] }] }, align 8 | |
%6 = alloca { [36 x i64] }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca [3 x { [12 x i64] }], align 8 | |
%9 = alloca [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], align 8 | |
%10 = alloca { {} }, align 1 | |
%11 = alloca [3 x { [12 x i64] }], align 8 | |
call void @llvm.lifetime.start.p0(i64 288, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %6) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %5) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %5, ptr align 8 %6, i64 288, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %11, ptr align 8 %5, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %6) | |
store i8 1, ptr %7, align 1 | |
call void @_ZN4core5array18try_from_fn_erased17he8e04bde90811cb5E(ptr noalias noundef nonnull align 8 %11, i64 noundef 3, ptr noundef nonnull %1, ptr noundef %2) #13 | |
br label %12 | |
12: ; preds = %3 | |
switch i64 0, label %13 [ | |
i64 0, label %14 | |
i64 1, label %15 | |
] | |
13: ; preds = %12 | |
unreachable | |
14: ; preds = %12 | |
call void @llvm.lifetime.start.p0(i64 288, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 288, ptr %8) | |
store i8 0, ptr %7, align 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %11, i64 288, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %8, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %8) | |
call void @"_ZN94_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..Try$GT$11from_output17ha25b67ca40f54ddbE"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noalias nocapture noundef align 8 dereferenceable(288) %9) #13 | |
br label %16 | |
15: ; preds = %12 | |
call void @"_ZN103_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..FromResidual$GT$13from_residual17h91492fdebafa6f90E"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0) #13 | |
br label %20 | |
16: ; preds = %14 | |
call void @llvm.lifetime.end.p0(i64 288, ptr %9) | |
br label %17 | |
17: ; preds = %20, %16 | |
%18 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%19 = trunc i8 %18 to i1 | |
br i1 %19, label %22, label %21 | |
20: ; preds = %15 | |
br label %17 | |
21: ; preds = %22, %17 | |
call void @llvm.lifetime.end.p0(i64 288, ptr %11) | |
ret void | |
22: ; preds = %17 | |
br label %21 | |
23: ; No predecessors! | |
%24 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%25 = trunc i8 %24 to i1 | |
br i1 %25, label %27, label %26 | |
26: ; preds = %28, %27, %23 | |
br i1 false, label %35, label %29 | |
27: ; preds = %23 | |
br label %26 | |
28: ; No predecessors! | |
br label %26 | |
29: ; preds = %35, %26 | |
%30 = load ptr, ptr %4, align 8, !noundef !3 | |
%31 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%32 = load i32, ptr %31, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%33 = insertvalue { ptr, i32 } poison, ptr %30, 0 | |
%34 = insertvalue { ptr, i32 } %33, i32 %32, 1 | |
resume { ptr, i32 } %34 | |
35: ; preds = %26 | |
br label %29 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core5array18try_from_fn_erased17h6c5daa97cd769ab1E(ptr noalias noundef nonnull align 8 %0, i64 noundef %1, ptr noundef nonnull %2, ptr noundef %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%7 = alloca { [12 x i64] }, align 8 | |
%8 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%9 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%10 = alloca i64, align 8 | |
%11 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%12 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%13 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%14 = alloca { { ptr, i64 }, i64 }, align 8 | |
%15 = alloca { ptr, ptr }, align 8 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 0 | |
store ptr %2, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
store ptr %3, ptr %17, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %14) | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
store ptr %0, ptr %18, align 8 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
store i64 %1, ptr %19, align 8 | |
%20 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
store i64 0, ptr %20, align 8 | |
br label %21 | |
21: ; preds = %41, %4 | |
%22 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
%25 = load ptr, ptr %24, align 8, !nonnull !3, !align !5, !noundef !3 | |
%26 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %23, %27 | |
br i1 %28, label %30, label %29 | |
29: ; preds = %21 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %14) | |
br label %34 | |
30: ; preds = %21 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %13) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%31 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%32 = load i64, ptr %31, align 8, !noundef !3 | |
store i64 %32, ptr %10, align 8 | |
%33 = load i64, ptr %10, align 8, !noundef !3 | |
call void @"_ZN4core5array25try_from_trusted_iterator4next28_$u7b$$u7b$closure$u7d$$u7d$17h7e7df4dc80553f52E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %11, ptr noalias noundef align 8 dereferenceable(16) %15, i64 noundef %33) #13 | |
br label %35 | |
34: ; preds = %54, %29 | |
ret void | |
35: ; preds = %30 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
call void @"_ZN94_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h14b3b019a6bec057E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %12, ptr noalias nocapture noundef align 8 dereferenceable(96) %11) #13 | |
br label %36 | |
36: ; preds = %35 | |
call void @llvm.lifetime.end.p0(i64 96, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %8) | |
switch i64 0, label %37 [ | |
i64 0, label %38 | |
i64 1, label %39 | |
] | |
37: ; preds = %40, %36 | |
unreachable | |
38: ; preds = %36 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %12, i64 96, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %8, i64 96, i1 false) | |
br label %40 | |
39: ; preds = %36 | |
call void @llvm.trap() | |
br label %40 | |
40: ; preds = %39, %38 | |
call void @llvm.lifetime.end.p0(i64 96, ptr %8) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %12) | |
switch i64 0, label %37 [ | |
i64 0, label %41 | |
i64 1, label %53 | |
] | |
41: ; preds = %40 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %13, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %13) | |
%42 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
%43 = load ptr, ptr %42, align 8, !nonnull !3, !align !5, !noundef !3 | |
%44 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
%45 = load i64, ptr %44, align 8, !noundef !3 | |
%46 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%47 = load i64, ptr %46, align 8, !noundef !3 | |
%48 = getelementptr inbounds { [12 x i64] }, ptr %43, i64 %47 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %9, i64 96, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %6, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %7, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %7) | |
%49 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%50 = load i64, ptr %49, align 8, !noundef !3 | |
%51 = add nuw i64 %50, 1 | |
%52 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
store i64 %51, ptr %52, align 8 | |
br label %21 | |
53: ; preds = %40 | |
call void @llvm.lifetime.end.p0(i64 96, ptr %13) | |
call void @"_ZN4core3ptr79drop_in_place$LT$core..array..Guard$LT$v_frame..plane..Plane$LT$u16$GT$$GT$$GT$17h7aa25840b894ec0cE"(ptr noalias noundef align 8 dereferenceable(24) %14) #13 | |
br label %54 | |
54: ; preds = %53 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %14) | |
br label %34 | |
55: ; No predecessors! | |
br i1 true, label %62, label %56 | |
56: ; preds = %62, %55 | |
%57 = load ptr, ptr %5, align 8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%59 = load i32, ptr %58, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%60 = insertvalue { ptr, i32 } poison, ptr %57, 0 | |
%61 = insertvalue { ptr, i32 } %60, i32 %59, 1 | |
resume { ptr, i32 } %61 | |
62: ; preds = %55 | |
call void @"_ZN4core3ptr79drop_in_place$LT$core..array..Guard$LT$v_frame..plane..Plane$LT$u16$GT$$GT$$GT$17h7aa25840b894ec0cE"(ptr noalias noundef align 8 dereferenceable(24) %14) #15 | |
br label %56 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core5array18try_from_fn_erased17he8e04bde90811cb5E(ptr noalias noundef nonnull align 8 %0, i64 noundef %1, ptr noundef nonnull %2, ptr noundef %3) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%5 = alloca { ptr, i32 }, align 8 | |
%6 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%7 = alloca { [12 x i64] }, align 8 | |
%8 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%9 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%10 = alloca i64, align 8 | |
%11 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%12 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%13 = alloca { { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }, align 8 | |
%14 = alloca { { ptr, i64 }, i64 }, align 8 | |
%15 = alloca { ptr, ptr }, align 8 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 0 | |
store ptr %2, ptr %16, align 8 | |
%17 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
store ptr %3, ptr %17, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %14) | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
store ptr %0, ptr %18, align 8 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
store i64 %1, ptr %19, align 8 | |
%20 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
store i64 0, ptr %20, align 8 | |
br label %21 | |
21: ; preds = %41, %4 | |
%22 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
%24 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
%25 = load ptr, ptr %24, align 8, !nonnull !3, !align !5, !noundef !3 | |
%26 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = icmp ult i64 %23, %27 | |
br i1 %28, label %30, label %29 | |
29: ; preds = %21 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %14) | |
br label %34 | |
30: ; preds = %21 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %13) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%31 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%32 = load i64, ptr %31, align 8, !noundef !3 | |
store i64 %32, ptr %10, align 8 | |
%33 = load i64, ptr %10, align 8, !noundef !3 | |
call void @"_ZN4core5array25try_from_trusted_iterator4next28_$u7b$$u7b$closure$u7d$$u7d$17h06bd2682799ea457E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %11, ptr noalias noundef align 8 dereferenceable(16) %15, i64 noundef %33) #13 | |
br label %35 | |
34: ; preds = %54, %29 | |
ret void | |
35: ; preds = %30 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
call void @"_ZN94_$LT$core..ops..try_trait..NeverShortCircuit$LT$T$GT$$u20$as$u20$core..ops..try_trait..Try$GT$6branch17h05184fd07a1c3290E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %12, ptr noalias nocapture noundef align 8 dereferenceable(96) %11) #13 | |
br label %36 | |
36: ; preds = %35 | |
call void @llvm.lifetime.end.p0(i64 96, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %8) | |
switch i64 0, label %37 [ | |
i64 0, label %38 | |
i64 1, label %39 | |
] | |
37: ; preds = %40, %36 | |
unreachable | |
38: ; preds = %36 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %12, i64 96, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %8, i64 96, i1 false) | |
br label %40 | |
39: ; preds = %36 | |
call void @llvm.trap() | |
br label %40 | |
40: ; preds = %39, %38 | |
call void @llvm.lifetime.end.p0(i64 96, ptr %8) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %12) | |
switch i64 0, label %37 [ | |
i64 0, label %41 | |
i64 1, label %53 | |
] | |
41: ; preds = %40 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %9, ptr align 8 %13, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %13) | |
%42 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 0 | |
%43 = load ptr, ptr %42, align 8, !nonnull !3, !align !5, !noundef !3 | |
%44 = getelementptr inbounds { ptr, i64 }, ptr %14, i32 0, i32 1 | |
%45 = load i64, ptr %44, align 8, !noundef !3 | |
%46 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%47 = load i64, ptr %46, align 8, !noundef !3 | |
%48 = getelementptr inbounds { [12 x i64] }, ptr %43, i64 %47 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %9, i64 96, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %6, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %48, ptr align 8 %7, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %7) | |
%49 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
%50 = load i64, ptr %49, align 8, !noundef !3 | |
%51 = add nuw i64 %50, 1 | |
%52 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %14, i32 0, i32 1 | |
store i64 %51, ptr %52, align 8 | |
br label %21 | |
53: ; preds = %40 | |
call void @llvm.lifetime.end.p0(i64 96, ptr %13) | |
call void @"_ZN4core3ptr78drop_in_place$LT$core..array..Guard$LT$v_frame..plane..Plane$LT$u8$GT$$GT$$GT$17h9e222b7074505075E"(ptr noalias noundef align 8 dereferenceable(24) %14) #13 | |
br label %54 | |
54: ; preds = %53 | |
call void @llvm.lifetime.end.p0(i64 24, ptr %14) | |
br label %34 | |
55: ; No predecessors! | |
br i1 true, label %62, label %56 | |
56: ; preds = %62, %55 | |
%57 = load ptr, ptr %5, align 8, !noundef !3 | |
%58 = getelementptr inbounds { ptr, i32 }, ptr %5, i32 0, i32 1 | |
%59 = load i32, ptr %58, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %5) | |
%60 = insertvalue { ptr, i32 } poison, ptr %57, 0 | |
%61 = insertvalue { ptr, i32 } %60, i32 %59, 1 | |
resume { ptr, i32 } %61 | |
62: ; preds = %55 | |
call void @"_ZN4core3ptr78drop_in_place$LT$core..array..Guard$LT$v_frame..plane..Plane$LT$u8$GT$$GT$$GT$17h9e222b7074505075E"(ptr noalias noundef align 8 dereferenceable(24) %14) #15 | |
br label %56 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core5array25try_from_trusted_iterator17h5192ea6329bbf1aaE(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noundef nonnull %1, ptr noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca { i64, { i64, i64 } }, align 8 | |
%8 = alloca { ptr, ptr }, align 8 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
store ptr %1, ptr %9, align 8 | |
%10 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
store ptr %2, ptr %10, align 8 | |
store i8 1, ptr %5, align 1 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %7) | |
call void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17he1659d42c67b3ba2E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %7, ptr noalias noundef readonly align 8 dereferenceable(16) %8) #13 | |
br label %11 | |
11: ; preds = %3 | |
%12 = load i64, ptr %7, align 8, !noundef !3 | |
%13 = icmp uge i64 %12, 3 | |
%14 = xor i1 %13, true | |
call void @llvm.lifetime.end.p0(i64 24, ptr %7) | |
br i1 %14, label %26, label %15 | |
15: ; preds = %11 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store i8 0, ptr %5, align 1 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !nonnull !3, !noundef !3 | |
%18 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
%19 = load ptr, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %19, ptr %21, align 8 | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !nonnull !3, !noundef !3 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%25 = load ptr, ptr %24, align 8, !noundef !3 | |
call void @_ZN4core5array11try_from_fn17hdc315f85679df359E(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noundef nonnull %23, ptr noundef %25) #13 | |
br label %27 | |
26: ; preds = %11 | |
call void @_ZN4core9panicking5panic17h5caa4064b91696faE(ptr noalias noundef nonnull readonly align 1 @29, i64 noundef 41, ptr noalias noundef readonly align 8 dereferenceable(24) @31) #14 | |
unreachable | |
27: ; preds = %15 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
ret void | |
28: ; No predecessors! | |
%29 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%30 = trunc i8 %29 to i1 | |
br i1 %30, label %37, label %31 | |
31: ; preds = %37, %28 | |
%32 = load ptr, ptr %4, align 8, !noundef !3 | |
%33 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%34 = load i32, ptr %33, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%35 = insertvalue { ptr, i32 } poison, ptr %32, 0 | |
%36 = insertvalue { ptr, i32 } %35, i32 %34, 1 | |
resume { ptr, i32 } %36 | |
37: ; preds = %28 | |
br label %31 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @_ZN4core5array25try_from_trusted_iterator17h96b883d9c2b6c62cE(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noundef nonnull %1, ptr noundef %2) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%4 = alloca { ptr, i32 }, align 8 | |
%5 = alloca i8, align 1 | |
%6 = alloca { ptr, ptr }, align 8 | |
%7 = alloca { i64, { i64, i64 } }, align 8 | |
%8 = alloca { ptr, ptr }, align 8 | |
%9 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
store ptr %1, ptr %9, align 8 | |
%10 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
store ptr %2, ptr %10, align 8 | |
store i8 1, ptr %5, align 1 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %7) | |
call void @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$9size_hint17h2c34c6a7cedfa270E"(ptr noalias nocapture noundef sret({ i64, { i64, i64 } }) align 8 dereferenceable(24) %7, ptr noalias noundef readonly align 8 dereferenceable(16) %8) #13 | |
br label %11 | |
11: ; preds = %3 | |
%12 = load i64, ptr %7, align 8, !noundef !3 | |
%13 = icmp uge i64 %12, 3 | |
%14 = xor i1 %13, true | |
call void @llvm.lifetime.end.p0(i64 24, ptr %7) | |
br i1 %14, label %26, label %15 | |
15: ; preds = %11 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store i8 0, ptr %5, align 1 | |
%16 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 0 | |
%17 = load ptr, ptr %16, align 8, !nonnull !3, !noundef !3 | |
%18 = getelementptr inbounds { ptr, ptr }, ptr %8, i32 0, i32 1 | |
%19 = load ptr, ptr %18, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
store ptr %17, ptr %20, align 8 | |
%21 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
store ptr %19, ptr %21, align 8 | |
%22 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 0 | |
%23 = load ptr, ptr %22, align 8, !nonnull !3, !noundef !3 | |
%24 = getelementptr inbounds { ptr, ptr }, ptr %6, i32 0, i32 1 | |
%25 = load ptr, ptr %24, align 8, !noundef !3 | |
call void @_ZN4core5array11try_from_fn17h0adb5b8ac390549aE(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %0, ptr noundef nonnull %23, ptr noundef %25) #13 | |
br label %27 | |
26: ; preds = %11 | |
call void @_ZN4core9panicking5panic17h5caa4064b91696faE(ptr noalias noundef nonnull readonly align 1 @29, i64 noundef 41, ptr noalias noundef readonly align 8 dereferenceable(24) @31) #14 | |
unreachable | |
27: ; preds = %15 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
ret void | |
28: ; No predecessors! | |
%29 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%30 = trunc i8 %29 to i1 | |
br i1 %30, label %37, label %31 | |
31: ; preds = %37, %28 | |
%32 = load ptr, ptr %4, align 8, !noundef !3 | |
%33 = getelementptr inbounds { ptr, i32 }, ptr %4, i32 0, i32 1 | |
%34 = load i32, ptr %33, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
%35 = insertvalue { ptr, i32 } poison, ptr %32, 0 | |
%36 = insertvalue { ptr, i32 } %35, i32 %34, 1 | |
resume { ptr, i32 } %36 | |
37: ; preds = %28 | |
br label %31 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5array25try_from_trusted_iterator4next28_$u7b$$u7b$closure$u7d$$u7d$17h06bd2682799ea457E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %0, ptr noalias noundef align 8 dereferenceable(16) %1, i64 noundef %2) unnamed_addr #0 { | |
call void @"_ZN121_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..unchecked_iterator..UncheckedIterator$GT$14next_unchecked17hafd3eb41d095d7d4E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %0, ptr noalias noundef align 8 dereferenceable(16) %1) #13 | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5array25try_from_trusted_iterator4next28_$u7b$$u7b$closure$u7d$$u7d$17h7e7df4dc80553f52E"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %0, ptr noalias noundef align 8 dereferenceable(16) %1, i64 noundef %2) unnamed_addr #0 { | |
call void @"_ZN121_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..unchecked_iterator..UncheckedIterator$GT$14next_unchecked17hac1c80262a98ddecE"(ptr noalias nocapture noundef sret({ { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } } }) align 8 dereferenceable(96) %0, ptr noalias noundef align 8 dereferenceable(16) %1) #13 | |
ret void | |
} | |
; Function Attrs: alwaysinline nounwind nonlazybind | |
define internal noundef i64 @"_ZN4core5clone5impls54_$LT$impl$u20$core..clone..Clone$u20$for$u20$usize$GT$5clone17h64a647c99b5caf8fE"(ptr noalias noundef readonly align 8 dereferenceable(8) %0) unnamed_addr #2 { | |
%2 = load i64, ptr %0, align 8, !noundef !3 | |
ret i64 %2 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$12split_at_mut17h61c64403fcb6d59dE"(ptr noalias nocapture noundef sret({ { ptr, i64 }, { ptr, i64 } }) align 8 dereferenceable(32) %0, ptr noalias noundef nonnull align 4 %1, i64 noundef %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = alloca { ptr, i64 }, align 8 | |
%9 = alloca { [2 x i64] }, align 8 | |
%10 = icmp ule i64 %3, %2 | |
%11 = xor i1 %10, true | |
br i1 %11, label %42, label %12 | |
12: ; preds = %5 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %8) | |
store ptr %1, ptr %8, align 8 | |
%13 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1 | |
store i64 %3, ptr %13, align 8 | |
%14 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 0 | |
%15 = load ptr, ptr %14, align 8, !noundef !3 | |
%16 = getelementptr inbounds { ptr, i64 }, ptr %8, i32 0, i32 1 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
store ptr %15, ptr %18, align 8 | |
%19 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
store i64 %17, ptr %19, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %8) | |
%20 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
%21 = load ptr, ptr %20, align 8, !noundef !3 | |
%22 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %9) | |
%24 = getelementptr inbounds i32, ptr %1, i64 %3 | |
%25 = sub i64 %2, %3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %24, ptr %6, align 8 | |
%26 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %25, ptr %26, align 8 | |
%27 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%28 = load ptr, ptr %27, align 8, !noundef !3 | |
%29 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%30 = load i64, ptr %29, align 8, !noundef !3 | |
%31 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %28, ptr %31, align 8 | |
%32 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %30, ptr %32, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%33 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%34 = load ptr, ptr %33, align 8, !noundef !3 | |
%35 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%36 = load i64, ptr %35, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%37 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 0 | |
store ptr %21, ptr %37, align 8 | |
%38 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 1 | |
store i64 %23, ptr %38, align 8 | |
%39 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 } }, ptr %0, i32 0, i32 1 | |
%40 = getelementptr inbounds { ptr, i64 }, ptr %39, i32 0, i32 0 | |
store ptr %34, ptr %40, align 8 | |
%41 = getelementptr inbounds { ptr, i64 }, ptr %39, i32 0, i32 1 | |
store i64 %36, ptr %41, align 8 | |
ret void | |
42: ; preds = %5 | |
call void @_ZN4core9panicking5panic17h5caa4064b91696faE(ptr noalias noundef nonnull readonly align 1 @32, i64 noundef 35, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h76ccd7e2d4f0bcc1E"(ptr noalias noundef nonnull align 8 %0, i64 noundef %1, i64 noundef %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { [12 x i64] }, align 8 | |
%7 = icmp ult i64 %2, %1 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %9, label %13 | |
9: ; preds = %5 | |
%10 = getelementptr inbounds [0 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %2 | |
%11 = icmp ult i64 %3, %1 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %14, label %16 | |
13: ; preds = %5 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %2, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
14: ; preds = %9 | |
%15 = getelementptr inbounds [0 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %3 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %10, i64 96, i1 false) | |
call void @llvm.memmove.p0.p0.i64(ptr align 8 %10, ptr align 8 %15, i64 96, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %6, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %6) | |
ret void | |
16: ; preds = %9 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %3, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h7887f6cfc86527ebE"(ptr noalias noundef nonnull align 8 %0, i64 noundef %1, i64 noundef %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca ptr, align 8 | |
%7 = icmp ult i64 %2, %1 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %9, label %13 | |
9: ; preds = %5 | |
%10 = getelementptr inbounds [0 x ptr], ptr %0, i64 0, i64 %2 | |
%11 = icmp ult i64 %3, %1 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %14, label %16 | |
13: ; preds = %5 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %2, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
14: ; preds = %9 | |
%15 = getelementptr inbounds [0 x ptr], ptr %0, i64 0, i64 %3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %10, i64 8, i1 false) | |
call void @llvm.memmove.p0.p0.i64(ptr align 8 %10, ptr align 8 %15, i64 8, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %6, i64 8, i1 false) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
ret void | |
16: ; preds = %9 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %3, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hc7de5397331d6a7aE"(ptr noalias noundef nonnull align 8 %0, i64 noundef %1, i64 noundef %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca { [12 x i64] }, align 8 | |
%7 = icmp ult i64 %2, %1 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %9, label %13 | |
9: ; preds = %5 | |
%10 = getelementptr inbounds [0 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %2 | |
%11 = icmp ult i64 %3, %1 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %14, label %16 | |
13: ; preds = %5 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %2, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
14: ; preds = %9 | |
%15 = getelementptr inbounds [0 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %0, i64 0, i64 %3 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %10, i64 96, i1 false) | |
call void @llvm.memmove.p0.p0.i64(ptr align 8 %10, ptr align 8 %15, i64 96, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %6, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %6) | |
ret void | |
16: ; preds = %9 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %3, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17he8f258dde4ce78bcE"(ptr noalias noundef nonnull align 8 %0, i64 noundef %1, i64 noundef %2, i64 noundef %3, ptr noalias noundef readonly align 8 dereferenceable(24) %4) unnamed_addr #0 { | |
%6 = alloca ptr, align 8 | |
%7 = icmp ult i64 %2, %1 | |
%8 = call i1 @llvm.expect.i1(i1 %7, i1 true) | |
br i1 %8, label %9, label %13 | |
9: ; preds = %5 | |
%10 = getelementptr inbounds [0 x ptr], ptr %0, i64 0, i64 %2 | |
%11 = icmp ult i64 %3, %1 | |
%12 = call i1 @llvm.expect.i1(i1 %11, i1 true) | |
br i1 %12, label %14, label %16 | |
13: ; preds = %5 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %2, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
14: ; preds = %9 | |
%15 = getelementptr inbounds [0 x ptr], ptr %0, i64 0, i64 %3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %10, i64 8, i1 false) | |
call void @llvm.memmove.p0.p0.i64(ptr align 8 %10, ptr align 8 %15, i64 8, i1 false) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %15, ptr align 8 %6, i64 8, i1 false) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
ret void | |
16: ; preds = %9 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %3, i64 noundef %1, ptr noalias noundef readonly align 8 dereferenceable(24) %4) #14 | |
unreachable | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN51_$LT$u32$u20$as$u20$alloc..vec..is_zero..IsZero$GT$7is_zero17h57935e86efd2124fE"(ptr noalias noundef readonly align 4 dereferenceable(4) %0) unnamed_addr #0 { | |
%2 = load i32, ptr %0, align 4, !noundef !3 | |
%3 = icmp eq i32 %2, 0 | |
ret i1 %3 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN53_$LT$T$u20$as$u20$alloc..alloc..WriteCloneIntoRaw$GT$20write_clone_into_raw17h88bad52a650c5b06E"(ptr noalias noundef readonly align 8 dereferenceable(288) %0, ptr noundef %1) unnamed_addr #0 { | |
%3 = alloca { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }, align 8 | |
call void @llvm.lifetime.start.p0(i64 288, ptr %3) | |
call void @"_ZN69_$LT$v_frame..frame..Frame$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17ha91d9573753f7108E"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %3, ptr noalias noundef readonly align 8 dereferenceable(288) %0) #13 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %3, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %3) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN53_$LT$T$u20$as$u20$alloc..alloc..WriteCloneIntoRaw$GT$20write_clone_into_raw17hc824494f0b18bda8E"(ptr noalias noundef readonly align 8 dereferenceable(288) %0, ptr noundef %1) unnamed_addr #0 { | |
%3 = alloca { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }, align 8 | |
call void @llvm.lifetime.start.p0(i64 288, ptr %3) | |
call void @"_ZN69_$LT$v_frame..frame..Frame$LT$T$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h8034a3aa638d772fE"(ptr noalias nocapture noundef sret({ [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] }) align 8 dereferenceable(288) %3, ptr noalias noundef readonly align 8 dereferenceable(288) %0) #13 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1, ptr align 8 %3, i64 288, i1 false) | |
call void @llvm.lifetime.end.p0(i64 288, ptr %3) | |
ret void | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) unnamed_addr #0 { | |
ret void | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden { i64, ptr } @"_ZN5alloc11collections5btree6search20SearchBound$LT$T$GT$10from_range17h4253ae71824d64a6E"(i64 noundef %0, ptr %1) unnamed_addr #1 { | |
%3 = alloca { i64, ptr }, align 8 | |
%4 = alloca { i64, ptr }, align 8 | |
%5 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 0 | |
store i64 %0, ptr %5, align 8 | |
%6 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 1 | |
store ptr %1, ptr %6, align 8 | |
%7 = load i64, ptr %4, align 8, !range !13, !noundef !3 | |
switch i64 %7, label %8 [ | |
i64 0, label %9 | |
i64 1, label %13 | |
i64 2, label %17 | |
] | |
8: ; preds = %2 | |
unreachable | |
9: ; preds = %2 | |
%10 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 1 | |
%11 = load ptr, ptr %10, align 8, !nonnull !3, !align !5, !noundef !3 | |
%12 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %11, ptr %12, align 8 | |
store i64 0, ptr %3, align 8 | |
br label %18 | |
13: ; preds = %2 | |
%14 = getelementptr inbounds { i64, ptr }, ptr %4, i32 0, i32 1 | |
%15 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%16 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
store ptr %15, ptr %16, align 8 | |
store i64 1, ptr %3, align 8 | |
br label %18 | |
17: ; preds = %2 | |
store i64 2, ptr %3, align 8 | |
br label %18 | |
18: ; preds = %17, %13, %9 | |
%19 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 0 | |
%20 = load i64, ptr %19, align 8, !range !14, !noundef !3 | |
%21 = getelementptr inbounds { i64, ptr }, ptr %3, i32 0, i32 1 | |
%22 = load ptr, ptr %21, align 8 | |
%23 = insertvalue { i64, ptr } poison, i64 %20, 0 | |
%24 = insertvalue { i64, ptr } %23, ptr %22, 1 | |
ret { i64, ptr } %24 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$4push17h87bbe1fee9a61e2bE"(ptr noalias noundef align 8 dereferenceable(24) %0, i32 noundef %1) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%3 = alloca { ptr, i32 }, align 8 | |
%4 = alloca i64, align 8 | |
%5 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i32 0, i32 1 | |
%6 = load i64, ptr %5, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
br i1 false, label %10, label %7 | |
7: ; preds = %2 | |
%8 = getelementptr inbounds { ptr, i64 }, ptr %0, i32 0, i32 1 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
store i64 %9, ptr %4, align 8 | |
br label %11 | |
10: ; preds = %2 | |
store i64 -1, ptr %4, align 8 | |
br label %11 | |
11: ; preds = %10, %7 | |
%12 = load i64, ptr %4, align 8, !noundef !3 | |
%13 = icmp eq i64 %6, %12 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
br i1 %13, label %23, label %14 | |
14: ; preds = %26, %11 | |
%15 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%16 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i32 0, i32 1 | |
%17 = load i64, ptr %16, align 8, !noundef !3 | |
%18 = getelementptr inbounds i32, ptr %15, i64 %17 | |
store i32 %1, ptr %18, align 4 | |
%19 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i32 0, i32 1 | |
%20 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i32 0, i32 1 | |
%21 = load i64, ptr %20, align 8, !noundef !3 | |
%22 = add i64 %21, 1 | |
store i64 %22, ptr %19, align 8 | |
ret void | |
23: ; preds = %11 | |
%24 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %0, i32 0, i32 1 | |
%25 = load i64, ptr %24, align 8, !noundef !3 | |
call void @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$16reserve_for_push17ha9d9e2704ebf5216E"(ptr noalias noundef align 8 dereferenceable(16) %0, i64 noundef %25) #13 | |
br label %26 | |
26: ; preds = %23 | |
br label %14 | |
27: ; No predecessors! | |
br i1 true, label %34, label %28 | |
28: ; preds = %34, %27 | |
%29 = load ptr, ptr %3, align 8, !noundef !3 | |
%30 = getelementptr inbounds { ptr, i32 }, ptr %3, i32 0, i32 1 | |
%31 = load i32, ptr %30, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %3) | |
%32 = insertvalue { ptr, i32 } poison, ptr %29, 0 | |
%33 = insertvalue { ptr, i32 } %32, i32 %31, 1 | |
resume { ptr, i32 } %33 | |
34: ; preds = %27 | |
br label %28 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef nonnull ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$13new_uninit_in17h6096c3b882b27269E"() unnamed_addr #0 personality ptr @rust_eh_personality { | |
%1 = alloca { ptr, i32 }, align 8 | |
%2 = alloca ptr, align 8 | |
%3 = alloca ptr, align 8 | |
%4 = alloca { i64, i64 }, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca {}, align 1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
call void @llvm.assume(i1 true) | |
call void @llvm.assume(i1 true) | |
%7 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 1 | |
store i64 288, ptr %7, align 8 | |
store i64 8, ptr %4, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
store ptr %6, ptr %3, align 8 | |
%8 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 0 | |
%9 = load i64, ptr %8, align 8, !range !15, !noundef !3 | |
%10 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 1 | |
%11 = load i64, ptr %10, align 8, !noundef !3 | |
%12 = load ptr, ptr %3, align 8, !nonnull !3, !align !4, !noundef !3 | |
%13 = call noundef ptr @"_ZN5alloc4sync12Arc$LT$T$GT$19allocate_for_layout17hd03b5aae48be8680E"(i64 noundef %9, i64 noundef %11, ptr noalias noundef nonnull readonly align 1 %12) #13 | |
br label %14 | |
14: ; preds = %0 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %2) | |
store ptr %13, ptr %2, align 8 | |
%15 = load ptr, ptr %2, align 8, !nonnull !3, !noundef !3 | |
store ptr %15, ptr %5, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %2) | |
%16 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
ret ptr %16 | |
17: ; No predecessors! | |
br i1 true, label %24, label %18 | |
18: ; preds = %24, %17 | |
%19 = load ptr, ptr %1, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i32 }, ptr %1, i32 0, i32 1 | |
%21 = load i32, ptr %20, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %1) | |
%22 = insertvalue { ptr, i32 } poison, ptr %19, 0 | |
%23 = insertvalue { ptr, i32 } %22, i32 %21, 1 | |
resume { ptr, i32 } %23 | |
24: ; preds = %17 | |
br label %18 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef nonnull ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$13new_uninit_in17h78bda6ac0cfb17dfE"() unnamed_addr #0 personality ptr @rust_eh_personality { | |
%1 = alloca { ptr, i32 }, align 8 | |
%2 = alloca ptr, align 8 | |
%3 = alloca ptr, align 8 | |
%4 = alloca { i64, i64 }, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca {}, align 1 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %4) | |
call void @llvm.assume(i1 true) | |
call void @llvm.assume(i1 true) | |
%7 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 1 | |
store i64 288, ptr %7, align 8 | |
store i64 8, ptr %4, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
store ptr %6, ptr %3, align 8 | |
%8 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 0 | |
%9 = load i64, ptr %8, align 8, !range !15, !noundef !3 | |
%10 = getelementptr inbounds { i64, i64 }, ptr %4, i32 0, i32 1 | |
%11 = load i64, ptr %10, align 8, !noundef !3 | |
%12 = load ptr, ptr %3, align 8, !nonnull !3, !align !4, !noundef !3 | |
%13 = call noundef ptr @"_ZN5alloc4sync12Arc$LT$T$GT$19allocate_for_layout17h4cfa2eccf6fe08dbE"(i64 noundef %9, i64 noundef %11, ptr noalias noundef nonnull readonly align 1 %12) #13 | |
br label %14 | |
14: ; preds = %0 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %4) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %2) | |
store ptr %13, ptr %2, align 8 | |
%15 = load ptr, ptr %2, align 8, !nonnull !3, !noundef !3 | |
store ptr %15, ptr %5, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %2) | |
%16 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
ret ptr %16 | |
17: ; No predecessors! | |
br i1 true, label %24, label %18 | |
18: ; preds = %24, %17 | |
%19 = load ptr, ptr %1, align 8, !noundef !3 | |
%20 = getelementptr inbounds { ptr, i32 }, ptr %1, i32 0, i32 1 | |
%21 = load i32, ptr %20, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %1) | |
%22 = insertvalue { ptr, i32 } poison, ptr %19, 0 | |
%23 = insertvalue { ptr, i32 } %22, i32 %21, 1 | |
resume { ptr, i32 } %23 | |
24: ; preds = %17 | |
br label %18 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 8 dereferenceable(288) ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$8make_mut17h2121d83b364ee299E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca ptr, align 8 | |
%4 = alloca ptr, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca ptr, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca ptr, align 8 | |
%9 = alloca ptr, align 8 | |
%10 = alloca ptr, align 8 | |
%11 = alloca ptr, align 8 | |
%12 = alloca ptr, align 8 | |
%13 = alloca { i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
%14 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%15 = call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17hc59330ac955cc136E(ptr noundef %14, i64 noundef 1, i64 noundef 0, i8 noundef 2, i8 noundef 0) #13 | |
store { i64, i64 } %15, ptr %13, align 8 | |
%16 = load i64, ptr %13, align 8, !range !7, !noundef !3 | |
%17 = icmp eq i64 %16, 0 | |
%18 = xor i1 %17, true | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
br i1 %18, label %24, label %19 | |
19: ; preds = %1 | |
%20 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%21 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %20, i32 0, i32 1 | |
%22 = call noundef i64 @_ZN4core4sync6atomic11atomic_load17h24c4e15a6bba1f6aE(ptr noundef %21, i8 noundef 0) #13 | |
%23 = icmp eq i64 %22, 1 | |
br i1 %23, label %30, label %32 | |
24: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %12) | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) #13 | |
%25 = call noundef nonnull ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$13new_uninit_in17h6096c3b882b27269E"() #13 | |
store ptr %25, ptr %12, align 8 | |
store i8 1, ptr %7, align 1 | |
%26 = load ptr, ptr %12, align 8, !nonnull !3, !noundef !3 | |
%27 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%28 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %27, i32 0, i32 2 | |
%29 = getelementptr inbounds { { i64 }, { i64 }, { [36 x i64] } }, ptr %26, i32 0, i32 2 | |
call void @"_ZN53_$LT$T$u20$as$u20$alloc..alloc..WriteCloneIntoRaw$GT$20write_clone_into_raw17h88bad52a650c5b06E"(ptr noalias noundef readonly align 8 dereferenceable(288) %28, ptr noundef %29) #13 | |
br label %58 | |
30: ; preds = %19 | |
%31 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
call void @_ZN4core4sync6atomic12atomic_store17h12730a5906b04930E(ptr noundef %31, i64 noundef 1, i8 noundef 1) #13 | |
br label %34 | |
32: ; preds = %19 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%33 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) #13 | |
store ptr %33, ptr %10, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %9) | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) #13 | |
br label %37 | |
34: ; preds = %63, %46, %30 | |
%35 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%36 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %35, i32 0, i32 2 | |
ret ptr %36 | |
37: ; preds = %32 | |
%38 = call noundef nonnull ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$13new_uninit_in17h6096c3b882b27269E"() #13 | |
store ptr %38, ptr %9, align 8 | |
br label %39 | |
39: ; preds = %37 | |
%40 = load ptr, ptr %9, align 8, !nonnull !3, !noundef !3 | |
%41 = getelementptr inbounds { { i64 }, { i64 }, { [36 x i64] } }, ptr %40, i32 0, i32 2 | |
%42 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%43 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %42, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %41, ptr align 8 %43, i64 288, i1 false) | |
%44 = load ptr, ptr %9, align 8, !nonnull !3, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
store ptr %44, ptr %4, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
%45 = load ptr, ptr %4, align 8, !nonnull !3, !noundef !3 | |
store ptr %45, ptr %3, align 8 | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %4) #13 | |
br label %46 | |
46: ; preds = %39 | |
%47 = load ptr, ptr %3, align 8, !nonnull !3, !noundef !3 | |
store ptr %47, ptr %8, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
%48 = load ptr, ptr %8, align 8, !nonnull !3, !noundef !3 | |
store ptr %48, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %9) | |
call void @"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Weak$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h9042a4bed431c757E"(ptr noalias noundef align 8 dereferenceable(8) %10) #13 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %34 | |
49: ; No predecessors! | |
br i1 false, label %51, label %50 | |
50: ; preds = %51, %49 | |
call void @"_ZN4core3ptr78drop_in_place$LT$alloc..sync..Weak$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h9042a4bed431c757E"(ptr noalias noundef align 8 dereferenceable(8) %10) #15 | |
br label %52 | |
51: ; preds = %49 | |
call void @"_ZN4core3ptr121drop_in_place$LT$alloc..sync..Arc$LT$core..mem..maybe_uninit..MaybeUninit$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$$GT$17hbdb7d029a334ef57E"(ptr noalias noundef align 8 dereferenceable(8) %9) #15 | |
br label %50 | |
52: ; preds = %70, %67, %50 | |
%53 = load ptr, ptr %2, align 8, !noundef !3 | |
%54 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%55 = load i32, ptr %54, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%56 = insertvalue { ptr, i32 } poison, ptr %53, 0 | |
%57 = insertvalue { ptr, i32 } %56, i32 %55, 1 | |
resume { ptr, i32 } %57 | |
58: ; preds = %24 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %11) | |
store i8 0, ptr %7, align 1 | |
%59 = load ptr, ptr %12, align 8, !nonnull !3, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
store ptr %59, ptr %6, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
%60 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 | |
store ptr %60, ptr %5, align 8 | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %6) #13 | |
br label %61 | |
61: ; preds = %58 | |
%62 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %62, ptr %11, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h72bdb586bad2ecf3E"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
br label %63 | |
63: ; preds = %61 | |
%64 = load ptr, ptr %11, align 8, !nonnull !3, !noundef !3 | |
store ptr %64, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %11) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %12) | |
br label %34 | |
65: ; No predecessors! | |
%66 = load ptr, ptr %11, align 8, !nonnull !3, !noundef !3 | |
store ptr %66, ptr %0, align 8 | |
br label %67 | |
67: ; preds = %65 | |
%68 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%69 = trunc i8 %68 to i1 | |
br i1 %69, label %70, label %52 | |
70: ; preds = %67 | |
call void @"_ZN4core3ptr121drop_in_place$LT$alloc..sync..Arc$LT$core..mem..maybe_uninit..MaybeUninit$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$$GT$17hbdb7d029a334ef57E"(ptr noalias noundef align 8 dereferenceable(8) %12) #15 | |
br label %52 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef align 8 dereferenceable(288) ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$8make_mut17h725ef28663040487E"(ptr noalias noundef align 8 dereferenceable(8) %0) unnamed_addr #0 personality ptr @rust_eh_personality { | |
%2 = alloca { ptr, i32 }, align 8 | |
%3 = alloca ptr, align 8 | |
%4 = alloca ptr, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca ptr, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca ptr, align 8 | |
%9 = alloca ptr, align 8 | |
%10 = alloca ptr, align 8 | |
%11 = alloca ptr, align 8 | |
%12 = alloca ptr, align 8 | |
%13 = alloca { i64, i64 }, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
%14 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%15 = call { i64, i64 } @_ZN4core4sync6atomic23atomic_compare_exchange17hc59330ac955cc136E(ptr noundef %14, i64 noundef 1, i64 noundef 0, i8 noundef 2, i8 noundef 0) #13 | |
store { i64, i64 } %15, ptr %13, align 8 | |
%16 = load i64, ptr %13, align 8, !range !7, !noundef !3 | |
%17 = icmp eq i64 %16, 0 | |
%18 = xor i1 %17, true | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
br i1 %18, label %24, label %19 | |
19: ; preds = %1 | |
%20 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%21 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %20, i32 0, i32 1 | |
%22 = call noundef i64 @_ZN4core4sync6atomic11atomic_load17h24c4e15a6bba1f6aE(ptr noundef %21, i8 noundef 0) #13 | |
%23 = icmp eq i64 %22, 1 | |
br i1 %23, label %30, label %32 | |
24: ; preds = %1 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %12) | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) #13 | |
%25 = call noundef nonnull ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$13new_uninit_in17h78bda6ac0cfb17dfE"() #13 | |
store ptr %25, ptr %12, align 8 | |
store i8 1, ptr %7, align 1 | |
%26 = load ptr, ptr %12, align 8, !nonnull !3, !noundef !3 | |
%27 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%28 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %27, i32 0, i32 2 | |
%29 = getelementptr inbounds { { i64 }, { i64 }, { [36 x i64] } }, ptr %26, i32 0, i32 2 | |
call void @"_ZN53_$LT$T$u20$as$u20$alloc..alloc..WriteCloneIntoRaw$GT$20write_clone_into_raw17hc824494f0b18bda8E"(ptr noalias noundef readonly align 8 dereferenceable(288) %28, ptr noundef %29) #13 | |
br label %58 | |
30: ; preds = %19 | |
%31 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
call void @_ZN4core4sync6atomic12atomic_store17h12730a5906b04930E(ptr noundef %31, i64 noundef 1, i8 noundef 1) #13 | |
br label %34 | |
32: ; preds = %19 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%33 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) #13 | |
store ptr %33, ptr %10, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %9) | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %0) #13 | |
br label %37 | |
34: ; preds = %63, %46, %30 | |
%35 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%36 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %35, i32 0, i32 2 | |
ret ptr %36 | |
37: ; preds = %32 | |
%38 = call noundef nonnull ptr @"_ZN5alloc4sync16Arc$LT$T$C$A$GT$13new_uninit_in17h78bda6ac0cfb17dfE"() #13 | |
store ptr %38, ptr %9, align 8 | |
br label %39 | |
39: ; preds = %37 | |
%40 = load ptr, ptr %9, align 8, !nonnull !3, !noundef !3 | |
%41 = getelementptr inbounds { { i64 }, { i64 }, { [36 x i64] } }, ptr %40, i32 0, i32 2 | |
%42 = load ptr, ptr %0, align 8, !nonnull !3, !noundef !3 | |
%43 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %42, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %41, ptr align 8 %43, i64 288, i1 false) | |
%44 = load ptr, ptr %9, align 8, !nonnull !3, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
store ptr %44, ptr %4, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
%45 = load ptr, ptr %4, align 8, !nonnull !3, !noundef !3 | |
store ptr %45, ptr %3, align 8 | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %4) #13 | |
br label %46 | |
46: ; preds = %39 | |
%47 = load ptr, ptr %3, align 8, !nonnull !3, !noundef !3 | |
store ptr %47, ptr %8, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
%48 = load ptr, ptr %8, align 8, !nonnull !3, !noundef !3 | |
store ptr %48, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %9) | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Weak$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17h98139521eaf8c464E"(ptr noalias noundef align 8 dereferenceable(8) %10) #13 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %34 | |
49: ; No predecessors! | |
br i1 false, label %51, label %50 | |
50: ; preds = %51, %49 | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Weak$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17h98139521eaf8c464E"(ptr noalias noundef align 8 dereferenceable(8) %10) #15 | |
br label %52 | |
51: ; preds = %49 | |
call void @"_ZN4core3ptr120drop_in_place$LT$alloc..sync..Arc$LT$core..mem..maybe_uninit..MaybeUninit$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$$GT$17hed25e12930b6adcdE"(ptr noalias noundef align 8 dereferenceable(8) %9) #15 | |
br label %50 | |
52: ; preds = %70, %67, %50 | |
%53 = load ptr, ptr %2, align 8, !noundef !3 | |
%54 = getelementptr inbounds { ptr, i32 }, ptr %2, i32 0, i32 1 | |
%55 = load i32, ptr %54, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %2) | |
%56 = insertvalue { ptr, i32 } poison, ptr %53, 0 | |
%57 = insertvalue { ptr, i32 } %56, i32 %55, 1 | |
resume { ptr, i32 } %57 | |
58: ; preds = %24 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %11) | |
store i8 0, ptr %7, align 1 | |
%59 = load ptr, ptr %12, align 8, !nonnull !3, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
store ptr %59, ptr %6, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
%60 = load ptr, ptr %6, align 8, !nonnull !3, !noundef !3 | |
store ptr %60, ptr %5, align 8 | |
call void @"_ZN59_$LT$alloc..alloc..Global$u20$as$u20$core..clone..Clone$GT$5clone17hbca569b17258c258E"(ptr noalias noundef nonnull readonly align 1 %6) #13 | |
br label %61 | |
61: ; preds = %58 | |
%62 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %62, ptr %11, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
call void @"_ZN4core3ptr76drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17hb99adee657fc5b66E"(ptr noalias noundef align 8 dereferenceable(8) %0) #13 | |
br label %63 | |
63: ; preds = %61 | |
%64 = load ptr, ptr %11, align 8, !nonnull !3, !noundef !3 | |
store ptr %64, ptr %0, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %11) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %12) | |
br label %34 | |
65: ; No predecessors! | |
%66 = load ptr, ptr %11, align 8, !nonnull !3, !noundef !3 | |
store ptr %66, ptr %0, align 8 | |
br label %67 | |
67: ; preds = %65 | |
%68 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%69 = trunc i8 %68 to i1 | |
br i1 %69, label %70, label %52 | |
70: ; preds = %67 | |
call void @"_ZN4core3ptr120drop_in_place$LT$alloc..sync..Arc$LT$core..mem..maybe_uninit..MaybeUninit$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$$GT$17hed25e12930b6adcdE"(ptr noalias noundef align 8 dereferenceable(8) %12) #15 | |
br label %52 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison17ha95ba896c5319333E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %1, ptr noundef nonnull %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca ptr, align 8 | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = alloca { double, double, double, double, double }, align 8 | |
%9 = alloca i8, align 1 | |
%10 = alloca { i64, i64 }, align 8 | |
%11 = alloca { i64, i64 }, align 8 | |
%12 = alloca { i64, i64 }, align 8 | |
%13 = alloca { i64, double }, align 8 | |
%14 = alloca { {}, { { ptr, ptr }, i64 } }, align 8 | |
%15 = alloca { ptr, ptr }, align 8 | |
%16 = alloca { { ptr, ptr }, i64 }, align 8 | |
%17 = alloca { {}, { { ptr, ptr }, i64 } }, align 8 | |
%18 = alloca double, align 8 | |
%19 = alloca i8, align 1 | |
%20 = alloca { double, double, double, double, double }, align 8 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %20) | |
%21 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 15 | |
%22 = load i8, ptr %21, align 8, !range !11, !noundef !3 | |
%23 = zext i8 %22 to i64 | |
%24 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%25 = zext i8 %24 to i64 | |
%26 = icmp eq i64 %23, %25 | |
br i1 %26, label %28, label %27 | |
27: ; preds = %4 | |
call void @"_ZN5rav1e11scenechange8standard66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13cost_scenecut17h61f3f7bf4e5b205bE"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %20, ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %1, ptr noundef nonnull %2, i64 noundef %3) #13 | |
br label %29 | |
28: ; preds = %4 | |
call void @"_ZN5rav1e11scenechange4fast66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13fast_scenecut17h64a920f16f77f883E"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %20, ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %1, ptr noundef nonnull %2) #13 | |
br label %29 | |
29: ; preds = %28, %27 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %19) | |
%30 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 15 | |
%31 = load i8, ptr %30, align 8, !range !11, !noundef !3 | |
%32 = zext i8 %31 to i64 | |
%33 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%34 = zext i8 %33 to i64 | |
%35 = icmp eq i64 %32, %34 | |
%36 = xor i1 %35, true | |
br i1 %36, label %38, label %37 | |
37: ; preds = %29 | |
store i8 0, ptr %19, align 1 | |
br label %43 | |
38: ; preds = %29 | |
%39 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = icmp ugt i64 %40, 0 | |
%42 = zext i1 %41 to i8 | |
store i8 %42, ptr %19, align 1 | |
br label %43 | |
43: ; preds = %38, %37 | |
%44 = load i8, ptr %19, align 1, !range !9, !noundef !3 | |
%45 = trunc i8 %44 to i1 | |
br i1 %45, label %48, label %46 | |
46: ; preds = %107, %43 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %19) | |
%47 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %8) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %20, i64 40, i1 false) | |
call void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h7d66011cedb90fa0E"(ptr noalias noundef align 8 dereferenceable(24) %47, i64 noundef 0, ptr noalias nocapture noundef align 8 dereferenceable(40) %8) #13 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %8) | |
call void @llvm.lifetime.end.p0(i64 40, ptr %20) | |
ret void | |
48: ; preds = %43 | |
%49 = icmp eq i64 %3, 1 | |
br i1 %49, label %50, label %52 | |
50: ; preds = %48 | |
%51 = getelementptr inbounds { double, double, double, double, double }, ptr %20, i32 0, i32 2 | |
store double 0.000000e+00, ptr %51, align 8 | |
br label %81 | |
52: ; preds = %48 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %18) | |
store double 0x7FEFFFFFFFFFFFFF, ptr %18, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %16) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %15) | |
%53 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%54 = load ptr, ptr %53, align 8, !nonnull !3, !noundef !3 | |
%55 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%56 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %55, i32 0, i32 1 | |
%57 = load i64, ptr %56, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %54, ptr %6, align 8 | |
%58 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %57, ptr %58, align 8 | |
%59 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%60 = load ptr, ptr %59, align 8, !noundef !3 | |
%61 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%62 = load i64, ptr %61, align 8, !noundef !3 | |
%63 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %60, ptr %63, align 8 | |
%64 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %62, ptr %64, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%65 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%66 = load ptr, ptr %65, align 8, !noundef !3 | |
%67 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%68 = load i64, ptr %67, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%69 = getelementptr inbounds { double, double, double, double, double }, ptr %66, i64 %68 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
store ptr %66, ptr %5, align 8 | |
%70 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %70, ptr %15, align 8 | |
%71 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
store ptr %69, ptr %71, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
%72 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%73 = load i64, ptr %72, align 8, !noundef !3 | |
%74 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 0 | |
%75 = load ptr, ptr %74, align 8, !nonnull !3, !noundef !3 | |
%76 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
%77 = load ptr, ptr %76, align 8, !noundef !3 | |
%78 = getelementptr inbounds { ptr, ptr }, ptr %16, i32 0, i32 0 | |
store ptr %75, ptr %78, align 8 | |
%79 = getelementptr inbounds { ptr, ptr }, ptr %16, i32 0, i32 1 | |
store ptr %77, ptr %79, align 8 | |
%80 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %16, i32 0, i32 1 | |
store i64 %73, ptr %80, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %15) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %16, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %16) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %14) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %17, i64 24, i1 false) | |
br label %87 | |
81: ; preds = %91, %50 | |
%82 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%83 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %82, i32 0, i32 1 | |
%84 = load i64, ptr %83, align 8, !noundef !3 | |
%85 = icmp eq i64 %84, 0 | |
%86 = xor i1 %85, true | |
br i1 %86, label %108, label %107 | |
87: ; preds = %105, %52 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
%88 = call { i64, double } @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h5d4015e5854fbc7dE"(ptr noalias noundef align 8 dereferenceable(24) %14) #13 | |
store { i64, double } %88, ptr %13, align 8 | |
%89 = load i64, ptr %13, align 8, !range !7, !noundef !3 | |
switch i64 %89, label %90 [ | |
i64 0, label %91 | |
i64 1, label %94 | |
] | |
90: ; preds = %132, %87 | |
unreachable | |
91: ; preds = %106, %87 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %14) | |
%92 = load double, ptr %18, align 8, !noundef !3 | |
%93 = getelementptr inbounds { double, double, double, double, double }, ptr %20, i32 0, i32 2 | |
store double %92, ptr %93, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %18) | |
br label %81 | |
94: ; preds = %87 | |
%95 = getelementptr inbounds { i64, double }, ptr %13, i32 0, i32 1 | |
%96 = load double, ptr %95, align 8, !noundef !3 | |
%97 = load double, ptr %20, align 8, !noundef !3 | |
%98 = fsub double %97, %96 | |
%99 = load double, ptr %18, align 8, !noundef !3 | |
%100 = fcmp olt double %98, %99 | |
br i1 %100, label %104, label %101 | |
101: ; preds = %104, %94 | |
%102 = load double, ptr %18, align 8, !noundef !3 | |
%103 = fcmp olt double %102, 0.000000e+00 | |
br i1 %103, label %106, label %105 | |
104: ; preds = %94 | |
store double %98, ptr %18, align 8 | |
br label %101 | |
105: ; preds = %101 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
br label %87 | |
106: ; preds = %101 | |
store double 0.000000e+00, ptr %18, align 8 | |
br label %91 | |
107: ; preds = %134, %81 | |
br label %46 | |
108: ; preds = %81 | |
%109 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%110 = load i64, ptr %109, align 8, !noundef !3 | |
%111 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%112 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %111, i32 0, i32 1 | |
%113 = load i64, ptr %112, align 8, !noundef !3 | |
%114 = call noundef i64 @_ZN4core3cmp6min_by17h7fabcd7e6210d284E(i64 noundef %110, i64 noundef %113) #13 | |
store i64 0, ptr %12, align 8 | |
%115 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 1 | |
store i64 %114, ptr %115, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %11) | |
%116 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 0 | |
%117 = load i64, ptr %116, align 8, !noundef !3 | |
%118 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 1 | |
%119 = load i64, ptr %118, align 8, !noundef !3 | |
%120 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 0 | |
store i64 %117, ptr %120, align 8 | |
%121 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 1 | |
store i64 %119, ptr %121, align 8 | |
br label %122 | |
122: ; preds = %165, %108 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %10) | |
%123 = load i64, ptr %11, align 8, !noundef !3 | |
%124 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 1 | |
%125 = load i64, ptr %124, align 8, !noundef !3 | |
%126 = icmp ult i64 %123, %125 | |
br i1 %126, label %128, label %127 | |
127: ; preds = %122 | |
store i64 0, ptr %10, align 8 | |
br label %132 | |
128: ; preds = %122 | |
%129 = load i64, ptr %11, align 8, !noundef !3 | |
%130 = call noundef i64 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h70ee56afff9bf27fE"(i64 noundef %129, i64 noundef 1) #13 | |
store i64 %130, ptr %11, align 8 | |
%131 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1 | |
store i64 %129, ptr %131, align 8 | |
store i64 1, ptr %10, align 8 | |
br label %132 | |
132: ; preds = %128, %127 | |
%133 = load i64, ptr %10, align 8, !range !7, !noundef !3 | |
switch i64 %133, label %90 [ | |
i64 0, label %134 | |
i64 1, label %135 | |
] | |
134: ; preds = %132 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %11) | |
br label %107 | |
135: ; preds = %132 | |
%136 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1 | |
%137 = load i64, ptr %136, align 8, !noundef !3 | |
%138 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%139 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %138, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @35) #13 | |
%140 = load double, ptr %139, align 8, !noundef !3 | |
%141 = load double, ptr %20, align 8, !noundef !3 | |
%142 = fsub double %140, %141 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %9) | |
%143 = icmp eq i64 %137, 0 | |
br i1 %143, label %144, label %145 | |
144: ; preds = %135 | |
store i8 1, ptr %9, align 1 | |
br label %152 | |
145: ; preds = %135 | |
%146 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%147 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %146, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @36) #13 | |
%148 = getelementptr inbounds { double, double, double, double, double }, ptr %147, i32 0, i32 3 | |
%149 = load double, ptr %148, align 8, !noundef !3 | |
%150 = fcmp olt double %142, %149 | |
%151 = zext i1 %150 to i8 | |
store i8 %151, ptr %9, align 1 | |
br label %152 | |
152: ; preds = %145, %144 | |
%153 = load i8, ptr %9, align 1, !range !9, !noundef !3 | |
%154 = trunc i8 %153 to i1 | |
br i1 %154, label %161, label %155 | |
155: ; preds = %161, %152 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %9) | |
%156 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%157 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %156, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @38) #13 | |
%158 = getelementptr inbounds { double, double, double, double, double }, ptr %157, i32 0, i32 3 | |
%159 = load double, ptr %158, align 8, !noundef !3 | |
%160 = fcmp olt double %159, 0.000000e+00 | |
br i1 %160, label %166, label %165 | |
161: ; preds = %152 | |
%162 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%163 = call noundef align 8 dereferenceable(40) ptr @"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17h9ed87fd9c5fe982eE"(ptr noalias noundef align 8 dereferenceable(24) %162, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @37) #13 | |
%164 = getelementptr inbounds { double, double, double, double, double }, ptr %163, i32 0, i32 3 | |
store double %142, ptr %164, align 8 | |
br label %155 | |
165: ; preds = %166, %155 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
br label %122 | |
166: ; preds = %155 | |
%167 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%168 = call noundef align 8 dereferenceable(40) ptr @"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17h9ed87fd9c5fe982eE"(ptr noalias noundef align 8 dereferenceable(24) %167, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @39) #13 | |
%169 = getelementptr inbounds { double, double, double, double, double }, ptr %168, i32 0, i32 3 | |
store double 0.000000e+00, ptr %169, align 8 | |
br label %165 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison17he4d76d8ce82d7934E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %1, ptr noundef nonnull %2, i64 noundef %3) unnamed_addr #1 { | |
%5 = alloca ptr, align 8 | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca { [2 x i64] }, align 8 | |
%8 = alloca { double, double, double, double, double }, align 8 | |
%9 = alloca i8, align 1 | |
%10 = alloca { i64, i64 }, align 8 | |
%11 = alloca { i64, i64 }, align 8 | |
%12 = alloca { i64, i64 }, align 8 | |
%13 = alloca { i64, double }, align 8 | |
%14 = alloca { {}, { { ptr, ptr }, i64 } }, align 8 | |
%15 = alloca { ptr, ptr }, align 8 | |
%16 = alloca { { ptr, ptr }, i64 }, align 8 | |
%17 = alloca { {}, { { ptr, ptr }, i64 } }, align 8 | |
%18 = alloca double, align 8 | |
%19 = alloca i8, align 1 | |
%20 = alloca { double, double, double, double, double }, align 8 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %20) | |
%21 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 15 | |
%22 = load i8, ptr %21, align 8, !range !11, !noundef !3 | |
%23 = zext i8 %22 to i64 | |
%24 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%25 = zext i8 %24 to i64 | |
%26 = icmp eq i64 %23, %25 | |
br i1 %26, label %28, label %27 | |
27: ; preds = %4 | |
call void @"_ZN5rav1e11scenechange8standard66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13cost_scenecut17hdcefb81c271d9bbaE"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %20, ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %1, ptr noundef nonnull %2, i64 noundef %3) #13 | |
br label %29 | |
28: ; preds = %4 | |
call void @"_ZN5rav1e11scenechange4fast66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13fast_scenecut17h72dea206465a4de2E"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %20, ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %1, ptr noundef nonnull %2) #13 | |
br label %29 | |
29: ; preds = %28, %27 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %19) | |
%30 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 15 | |
%31 = load i8, ptr %30, align 8, !range !11, !noundef !3 | |
%32 = zext i8 %31 to i64 | |
%33 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%34 = zext i8 %33 to i64 | |
%35 = icmp eq i64 %32, %34 | |
%36 = xor i1 %35, true | |
br i1 %36, label %38, label %37 | |
37: ; preds = %29 | |
store i8 0, ptr %19, align 1 | |
br label %43 | |
38: ; preds = %29 | |
%39 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%40 = load i64, ptr %39, align 8, !noundef !3 | |
%41 = icmp ugt i64 %40, 0 | |
%42 = zext i1 %41 to i8 | |
store i8 %42, ptr %19, align 1 | |
br label %43 | |
43: ; preds = %38, %37 | |
%44 = load i8, ptr %19, align 1, !range !9, !noundef !3 | |
%45 = trunc i8 %44 to i1 | |
br i1 %45, label %48, label %46 | |
46: ; preds = %107, %43 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %19) | |
%47 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %8) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %20, i64 40, i1 false) | |
call void @"_ZN5alloc3vec16Vec$LT$T$C$A$GT$6insert17h7d66011cedb90fa0E"(ptr noalias noundef align 8 dereferenceable(24) %47, i64 noundef 0, ptr noalias nocapture noundef align 8 dereferenceable(40) %8) #13 | |
call void @llvm.lifetime.end.p0(i64 40, ptr %8) | |
call void @llvm.lifetime.end.p0(i64 40, ptr %20) | |
ret void | |
48: ; preds = %43 | |
%49 = icmp eq i64 %3, 1 | |
br i1 %49, label %50, label %52 | |
50: ; preds = %48 | |
%51 = getelementptr inbounds { double, double, double, double, double }, ptr %20, i32 0, i32 2 | |
store double 0.000000e+00, ptr %51, align 8 | |
br label %81 | |
52: ; preds = %48 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %18) | |
store double 0x7FEFFFFFFFFFFFFF, ptr %18, align 8 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %16) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %15) | |
%53 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%54 = load ptr, ptr %53, align 8, !nonnull !3, !noundef !3 | |
%55 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%56 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %55, i32 0, i32 1 | |
%57 = load i64, ptr %56, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
store ptr %54, ptr %6, align 8 | |
%58 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %57, ptr %58, align 8 | |
%59 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%60 = load ptr, ptr %59, align 8, !noundef !3 | |
%61 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%62 = load i64, ptr %61, align 8, !noundef !3 | |
%63 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
store ptr %60, ptr %63, align 8 | |
%64 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %62, ptr %64, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%65 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%66 = load ptr, ptr %65, align 8, !noundef !3 | |
%67 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%68 = load i64, ptr %67, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%69 = getelementptr inbounds { double, double, double, double, double }, ptr %66, i64 %68 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
store ptr %66, ptr %5, align 8 | |
%70 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %70, ptr %15, align 8 | |
%71 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
store ptr %69, ptr %71, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
%72 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%73 = load i64, ptr %72, align 8, !noundef !3 | |
%74 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 0 | |
%75 = load ptr, ptr %74, align 8, !nonnull !3, !noundef !3 | |
%76 = getelementptr inbounds { ptr, ptr }, ptr %15, i32 0, i32 1 | |
%77 = load ptr, ptr %76, align 8, !noundef !3 | |
%78 = getelementptr inbounds { ptr, ptr }, ptr %16, i32 0, i32 0 | |
store ptr %75, ptr %78, align 8 | |
%79 = getelementptr inbounds { ptr, ptr }, ptr %16, i32 0, i32 1 | |
store ptr %77, ptr %79, align 8 | |
%80 = getelementptr inbounds { { ptr, ptr }, i64 }, ptr %16, i32 0, i32 1 | |
store i64 %73, ptr %80, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %15) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %17, ptr align 8 %16, i64 24, i1 false) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %16) | |
call void @llvm.lifetime.start.p0(i64 24, ptr %14) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %14, ptr align 8 %17, i64 24, i1 false) | |
br label %87 | |
81: ; preds = %91, %50 | |
%82 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%83 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %82, i32 0, i32 1 | |
%84 = load i64, ptr %83, align 8, !noundef !3 | |
%85 = icmp eq i64 %84, 0 | |
%86 = xor i1 %85, true | |
br i1 %86, label %108, label %107 | |
87: ; preds = %105, %52 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
%88 = call { i64, double } @"_ZN102_$LT$core..iter..adapters..map..Map$LT$I$C$F$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$4next17h0712abdca0b4f077E"(ptr noalias noundef align 8 dereferenceable(24) %14) #13 | |
store { i64, double } %88, ptr %13, align 8 | |
%89 = load i64, ptr %13, align 8, !range !7, !noundef !3 | |
switch i64 %89, label %90 [ | |
i64 0, label %91 | |
i64 1, label %94 | |
] | |
90: ; preds = %132, %87 | |
unreachable | |
91: ; preds = %106, %87 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %14) | |
%92 = load double, ptr %18, align 8, !noundef !3 | |
%93 = getelementptr inbounds { double, double, double, double, double }, ptr %20, i32 0, i32 2 | |
store double %92, ptr %93, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %18) | |
br label %81 | |
94: ; preds = %87 | |
%95 = getelementptr inbounds { i64, double }, ptr %13, i32 0, i32 1 | |
%96 = load double, ptr %95, align 8, !noundef !3 | |
%97 = load double, ptr %20, align 8, !noundef !3 | |
%98 = fsub double %97, %96 | |
%99 = load double, ptr %18, align 8, !noundef !3 | |
%100 = fcmp olt double %98, %99 | |
br i1 %100, label %104, label %101 | |
101: ; preds = %104, %94 | |
%102 = load double, ptr %18, align 8, !noundef !3 | |
%103 = fcmp olt double %102, 0.000000e+00 | |
br i1 %103, label %106, label %105 | |
104: ; preds = %94 | |
store double %98, ptr %18, align 8 | |
br label %101 | |
105: ; preds = %101 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
br label %87 | |
106: ; preds = %101 | |
store double 0.000000e+00, ptr %18, align 8 | |
br label %91 | |
107: ; preds = %134, %81 | |
br label %46 | |
108: ; preds = %81 | |
%109 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%110 = load i64, ptr %109, align 8, !noundef !3 | |
%111 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%112 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %111, i32 0, i32 1 | |
%113 = load i64, ptr %112, align 8, !noundef !3 | |
%114 = call noundef i64 @_ZN4core3cmp6min_by17h7fabcd7e6210d284E(i64 noundef %110, i64 noundef %113) #13 | |
store i64 0, ptr %12, align 8 | |
%115 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 1 | |
store i64 %114, ptr %115, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %11) | |
%116 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 0 | |
%117 = load i64, ptr %116, align 8, !noundef !3 | |
%118 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 1 | |
%119 = load i64, ptr %118, align 8, !noundef !3 | |
%120 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 0 | |
store i64 %117, ptr %120, align 8 | |
%121 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 1 | |
store i64 %119, ptr %121, align 8 | |
br label %122 | |
122: ; preds = %165, %108 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %10) | |
%123 = load i64, ptr %11, align 8, !noundef !3 | |
%124 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 1 | |
%125 = load i64, ptr %124, align 8, !noundef !3 | |
%126 = icmp ult i64 %123, %125 | |
br i1 %126, label %128, label %127 | |
127: ; preds = %122 | |
store i64 0, ptr %10, align 8 | |
br label %132 | |
128: ; preds = %122 | |
%129 = load i64, ptr %11, align 8, !noundef !3 | |
%130 = call noundef i64 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h70ee56afff9bf27fE"(i64 noundef %129, i64 noundef 1) #13 | |
store i64 %130, ptr %11, align 8 | |
%131 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1 | |
store i64 %129, ptr %131, align 8 | |
store i64 1, ptr %10, align 8 | |
br label %132 | |
132: ; preds = %128, %127 | |
%133 = load i64, ptr %10, align 8, !range !7, !noundef !3 | |
switch i64 %133, label %90 [ | |
i64 0, label %134 | |
i64 1, label %135 | |
] | |
134: ; preds = %132 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %11) | |
br label %107 | |
135: ; preds = %132 | |
%136 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1 | |
%137 = load i64, ptr %136, align 8, !noundef !3 | |
%138 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%139 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %138, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @35) #13 | |
%140 = load double, ptr %139, align 8, !noundef !3 | |
%141 = load double, ptr %20, align 8, !noundef !3 | |
%142 = fsub double %140, %141 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %9) | |
%143 = icmp eq i64 %137, 0 | |
br i1 %143, label %144, label %145 | |
144: ; preds = %135 | |
store i8 1, ptr %9, align 1 | |
br label %152 | |
145: ; preds = %135 | |
%146 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%147 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %146, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @36) #13 | |
%148 = getelementptr inbounds { double, double, double, double, double }, ptr %147, i32 0, i32 3 | |
%149 = load double, ptr %148, align 8, !noundef !3 | |
%150 = fcmp olt double %142, %149 | |
%151 = zext i1 %150 to i8 | |
store i8 %151, ptr %9, align 1 | |
br label %152 | |
152: ; preds = %145, %144 | |
%153 = load i8, ptr %9, align 1, !range !9, !noundef !3 | |
%154 = trunc i8 %153 to i1 | |
br i1 %154, label %161, label %155 | |
155: ; preds = %161, %152 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %9) | |
%156 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%157 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %156, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @38) #13 | |
%158 = getelementptr inbounds { double, double, double, double, double }, ptr %157, i32 0, i32 3 | |
%159 = load double, ptr %158, align 8, !noundef !3 | |
%160 = fcmp olt double %159, 0.000000e+00 | |
br i1 %160, label %166, label %165 | |
161: ; preds = %152 | |
%162 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%163 = call noundef align 8 dereferenceable(40) ptr @"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17h9ed87fd9c5fe982eE"(ptr noalias noundef align 8 dereferenceable(24) %162, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @37) #13 | |
%164 = getelementptr inbounds { double, double, double, double, double }, ptr %163, i32 0, i32 3 | |
store double %142, ptr %164, align 8 | |
br label %155 | |
165: ; preds = %166, %155 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
br label %122 | |
166: ; preds = %155 | |
%167 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%168 = call noundef align 8 dereferenceable(40) ptr @"_ZN84_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..IndexMut$LT$I$GT$$GT$9index_mut17h9ed87fd9c5fe982eE"(ptr noalias noundef align 8 dereferenceable(24) %167, i64 noundef %137, ptr noalias noundef readonly align 8 dereferenceable(24) @39) #13 | |
%169 = getelementptr inbounds { double, double, double, double, double }, ptr %168, i32 0, i32 3 | |
store double 0.000000e+00, ptr %169, align 8 | |
br label %165 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef double @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison28_$u7b$$u7b$closure$u7d$$u7d$17h6915113cdb8734e3E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %1) unnamed_addr #0 { | |
%3 = load double, ptr %1, align 8, !noundef !3 | |
ret double %3 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef double @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison28_$u7b$$u7b$closure$u7d$$u7d$17hf49e453f12e1d2d4E"(ptr noalias noundef nonnull align 1 %0, ptr noalias noundef readonly align 8 dereferenceable(40) %1) unnamed_addr #0 { | |
%3 = load double, ptr %1, align 8, !noundef !3 | |
ret double %3 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$17adaptive_scenecut17h6efb4c4b4eec4757E"(ptr noalias nocapture noundef sret({ i8, [7 x i8], { double, double, double, double, double } }) align 8 dereferenceable(48) %0, ptr noalias noundef align 8 dereferenceable(704) %1) unnamed_addr #1 { | |
%3 = alloca ptr, align 8 | |
%4 = alloca ptr, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca i8, align 1 | |
%7 = alloca i8, align 1 | |
%8 = alloca i8, align 1 | |
%9 = alloca i8, align 1 | |
%10 = alloca i64, align 8 | |
%11 = alloca { ptr, ptr }, align 8 | |
%12 = alloca { ptr, ptr }, align 8 | |
%13 = alloca { ptr, ptr }, align 8 | |
%14 = alloca { ptr, ptr }, align 8 | |
%15 = alloca i64, align 8 | |
%16 = alloca i64, align 8 | |
%17 = alloca ptr, align 8 | |
%18 = alloca i64, align 8 | |
%19 = alloca { ptr, ptr }, align 8 | |
%20 = alloca double, align 8 | |
%21 = alloca { double, double, double, double, double }, align 8 | |
%22 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
%23 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%24 = load i64, ptr %23, align 8, !noundef !3 | |
%25 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %22, i64 noundef %24, ptr noalias noundef readonly align 8 dereferenceable(24) @40) #13 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %25, i64 40, i1 false) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %20) | |
%26 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 12 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = uitofp i64 %27 to double | |
%29 = fmul double 7.000000e+00, %28 | |
%30 = fdiv double %29, 8.000000e+00 | |
store double %30, ptr %20, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %19) | |
%31 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %18) | |
%32 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%33 = load i64, ptr %32, align 8, !noundef !3 | |
store i64 %33, ptr %18, align 8 | |
%34 = load i64, ptr %18, align 8, !noundef !3 | |
%35 = call { ptr, i64 } @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h6ecef2eea19eb4eeE"(ptr noalias noundef readonly align 8 dereferenceable(24) %31, i64 noundef %34, ptr noalias noundef readonly align 8 dereferenceable(24) @41) #13 | |
%36 = extractvalue { ptr, i64 } %35, 0 | |
%37 = extractvalue { ptr, i64 } %35, 1 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %18) | |
%38 = getelementptr inbounds { double, double, double, double, double }, ptr %36, i64 %37 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
store ptr %36, ptr %5, align 8 | |
%39 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %39, ptr %19, align 8 | |
%40 = getelementptr inbounds { ptr, ptr }, ptr %19, i32 0, i32 1 | |
store ptr %38, ptr %40, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %17) | |
store ptr %20, ptr %17, align 8 | |
%41 = load ptr, ptr %17, align 8, !nonnull !3, !align !5, !noundef !3 | |
%42 = call noundef zeroext i1 @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h7bc58023411ecf87E"(ptr noalias noundef align 8 dereferenceable(16) %19, ptr noalias noundef readonly align 8 dereferenceable(8) %41) #13 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %17) | |
%43 = xor i1 %42, true | |
call void @llvm.lifetime.end.p0(i64 16, ptr %19) | |
br i1 %43, label %50, label %44 | |
44: ; preds = %2 | |
%45 = getelementptr inbounds { double, double, double, double, double }, ptr %21, i32 0, i32 3 | |
%46 = load double, ptr %45, align 8, !noundef !3 | |
%47 = getelementptr inbounds { double, double, double, double, double }, ptr %21, i32 0, i32 4 | |
%48 = load double, ptr %47, align 8, !noundef !3 | |
%49 = fcmp oge double %46, %48 | |
br i1 %49, label %58, label %52 | |
50: ; preds = %2 | |
store i8 0, ptr %0, align 8 | |
%51 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %51, ptr align 8 %21, i64 40, i1 false) | |
br label %168 | |
52: ; preds = %163, %44 | |
%53 = getelementptr inbounds { double, double, double, double, double }, ptr %21, i32 0, i32 4 | |
%54 = load double, ptr %53, align 8, !noundef !3 | |
%55 = fcmp oge double %46, %54 | |
%56 = zext i1 %55 to i8 | |
store i8 %56, ptr %0, align 8 | |
%57 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %57, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %20) | |
br label %166 | |
58: ; preds = %44 | |
%59 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %16) | |
%60 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%61 = load i64, ptr %60, align 8, !noundef !3 | |
%62 = add i64 %61, 1 | |
store i64 %62, ptr %16, align 8 | |
%63 = load i64, ptr %16, align 8, !noundef !3 | |
%64 = call { ptr, i64 } @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h6ecef2eea19eb4eeE"(ptr noalias noundef readonly align 8 dereferenceable(24) %59, i64 noundef %63, ptr noalias noundef readonly align 8 dereferenceable(24) @42) #13 | |
%65 = extractvalue { ptr, i64 } %64, 0 | |
%66 = extractvalue { ptr, i64 } %64, 1 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %16) | |
%67 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %15) | |
%68 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%69 = load i64, ptr %68, align 8, !noundef !3 | |
store i64 %69, ptr %15, align 8 | |
%70 = load i64, ptr %15, align 8, !noundef !3 | |
%71 = call { ptr, i64 } @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h5a3983271aeb95ebE"(ptr noalias noundef readonly align 8 dereferenceable(24) %67, i64 noundef %70, ptr noalias noundef readonly align 8 dereferenceable(24) @43) #13 | |
%72 = extractvalue { ptr, i64 } %71, 0 | |
%73 = extractvalue { ptr, i64 } %71, 1 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %14) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
%74 = getelementptr inbounds { double, double, double, double, double }, ptr %65, i64 %66 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
store ptr %65, ptr %4, align 8 | |
%75 = load ptr, ptr %4, align 8, !nonnull !3, !noundef !3 | |
store ptr %75, ptr %13, align 8 | |
%76 = getelementptr inbounds { ptr, ptr }, ptr %13, i32 0, i32 1 | |
store ptr %74, ptr %76, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
%77 = getelementptr inbounds { ptr, ptr }, ptr %13, i32 0, i32 0 | |
%78 = load ptr, ptr %77, align 8, !nonnull !3, !noundef !3 | |
%79 = getelementptr inbounds { ptr, ptr }, ptr %13, i32 0, i32 1 | |
%80 = load ptr, ptr %79, align 8, !noundef !3 | |
%81 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 0 | |
store ptr %78, ptr %81, align 8 | |
%82 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 1 | |
store ptr %80, ptr %82, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
%83 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 0 | |
%84 = load ptr, ptr %83, align 8, !nonnull !3, !noundef !3 | |
%85 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 1 | |
%86 = load ptr, ptr %85, align 8, !noundef !3 | |
%87 = call noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h5c502a2db268fc2aE"(ptr noundef nonnull %84, ptr noundef %86) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %14) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %11) | |
%88 = getelementptr inbounds { double, double, double, double, double }, ptr %72, i64 %73 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
store ptr %72, ptr %3, align 8 | |
%89 = load ptr, ptr %3, align 8, !nonnull !3, !noundef !3 | |
store ptr %89, ptr %11, align 8 | |
%90 = getelementptr inbounds { ptr, ptr }, ptr %11, i32 0, i32 1 | |
store ptr %88, ptr %90, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
%91 = getelementptr inbounds { ptr, ptr }, ptr %11, i32 0, i32 0 | |
%92 = load ptr, ptr %91, align 8, !nonnull !3, !noundef !3 | |
%93 = getelementptr inbounds { ptr, ptr }, ptr %11, i32 0, i32 1 | |
%94 = load ptr, ptr %93, align 8, !noundef !3 | |
%95 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 0 | |
store ptr %92, ptr %95, align 8 | |
%96 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 1 | |
store ptr %94, ptr %96, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %11) | |
%97 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 0 | |
%98 = load ptr, ptr %97, align 8, !nonnull !3, !noundef !3 | |
%99 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 1 | |
%100 = load ptr, ptr %99, align 8, !noundef !3 | |
%101 = call noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h75102e392650b7ceE"(ptr noundef nonnull %98, ptr noundef %100) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%102 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 15 | |
%103 = load i8, ptr %102, align 8, !range !11, !noundef !3 | |
%104 = zext i8 %103 to i64 | |
%105 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%106 = zext i8 %105 to i64 | |
%107 = icmp eq i64 %104, %106 | |
br i1 %107, label %109, label %108 | |
108: ; preds = %58 | |
store i64 1, ptr %10, align 8 | |
br label %110 | |
109: ; preds = %58 | |
store i64 2, ptr %10, align 8 | |
br label %110 | |
110: ; preds = %109, %108 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %9) | |
%111 = icmp eq i64 %101, 0 | |
br i1 %111, label %112, label %116 | |
112: ; preds = %110 | |
%113 = load i64, ptr %10, align 8, !noundef !3 | |
%114 = icmp uge i64 %87, %113 | |
%115 = zext i1 %114 to i8 | |
store i8 %115, ptr %9, align 1 | |
br label %117 | |
116: ; preds = %110 | |
store i8 0, ptr %9, align 1 | |
br label %117 | |
117: ; preds = %116, %112 | |
%118 = load i8, ptr %9, align 1, !range !9, !noundef !3 | |
%119 = trunc i8 %118 to i1 | |
br i1 %119, label %122, label %120 | |
120: ; preds = %117 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%121 = icmp eq i64 %87, 0 | |
br i1 %121, label %124, label %127 | |
122: ; preds = %117 | |
store i8 1, ptr %0, align 8 | |
%123 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %123, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %9) | |
br label %167 | |
124: ; preds = %120 | |
%125 = icmp eq i64 %101, 1 | |
%126 = zext i1 %125 to i8 | |
store i8 %126, ptr %7, align 1 | |
br label %128 | |
127: ; preds = %120 | |
store i8 0, ptr %7, align 1 | |
br label %128 | |
128: ; preds = %127, %124 | |
%129 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%130 = trunc i8 %129 to i1 | |
br i1 %130, label %132, label %131 | |
131: ; preds = %128 | |
store i8 0, ptr %8, align 1 | |
br label %135 | |
132: ; preds = %128 | |
%133 = icmp ult i64 0, %73 | |
%134 = call i1 @llvm.expect.i1(i1 %133, i1 true) | |
br i1 %134, label %138, label %144 | |
135: ; preds = %145, %131 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%136 = load i8, ptr %8, align 1, !range !9, !noundef !3 | |
%137 = trunc i8 %136 to i1 | |
br i1 %137, label %154, label %152 | |
138: ; preds = %132 | |
%139 = getelementptr inbounds [0 x { double, double, double, double, double }], ptr %72, i64 0, i64 0 | |
%140 = getelementptr inbounds { double, double, double, double, double }, ptr %139, i32 0, i32 3 | |
%141 = load double, ptr %140, align 8, !noundef !3 | |
%142 = icmp ult i64 0, %73 | |
%143 = call i1 @llvm.expect.i1(i1 %142, i1 true) | |
br i1 %143, label %145, label %151 | |
144: ; preds = %132 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef 0, i64 noundef %73, ptr noalias noundef readonly align 8 dereferenceable(24) @44) #14 | |
unreachable | |
145: ; preds = %138 | |
%146 = getelementptr inbounds [0 x { double, double, double, double, double }], ptr %72, i64 0, i64 0 | |
%147 = getelementptr inbounds { double, double, double, double, double }, ptr %146, i32 0, i32 4 | |
%148 = load double, ptr %147, align 8, !noundef !3 | |
%149 = fcmp oge double %141, %148 | |
%150 = zext i1 %149 to i8 | |
store i8 %150, ptr %8, align 1 | |
br label %135 | |
151: ; preds = %138 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef 0, i64 noundef %73, ptr noalias noundef readonly align 8 dereferenceable(24) @45) #14 | |
unreachable | |
152: ; preds = %135 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %6) | |
%153 = icmp eq i64 %87, 0 | |
br i1 %153, label %156, label %159 | |
154: ; preds = %135 | |
store i8 1, ptr %0, align 8 | |
%155 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %155, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %8) | |
br label %167 | |
156: ; preds = %152 | |
%157 = icmp ne i64 %101, 0 | |
%158 = zext i1 %157 to i8 | |
store i8 %158, ptr %6, align 1 | |
br label %160 | |
159: ; preds = %152 | |
store i8 1, ptr %6, align 1 | |
br label %160 | |
160: ; preds = %159, %156 | |
%161 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%162 = trunc i8 %161 to i1 | |
br i1 %162, label %164, label %163 | |
163: ; preds = %160 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %52 | |
164: ; preds = %160 | |
store i8 0, ptr %0, align 8 | |
%165 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %165, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %6) | |
br label %167 | |
166: ; preds = %168, %52 | |
ret void | |
167: ; preds = %164, %154, %122 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %168 | |
168: ; preds = %167, %50 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %20) | |
br label %166 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$17adaptive_scenecut17hbda47ba32c8d3da8E"(ptr noalias nocapture noundef sret({ i8, [7 x i8], { double, double, double, double, double } }) align 8 dereferenceable(48) %0, ptr noalias noundef align 8 dereferenceable(704) %1) unnamed_addr #1 { | |
%3 = alloca ptr, align 8 | |
%4 = alloca ptr, align 8 | |
%5 = alloca ptr, align 8 | |
%6 = alloca i8, align 1 | |
%7 = alloca i8, align 1 | |
%8 = alloca i8, align 1 | |
%9 = alloca i8, align 1 | |
%10 = alloca i64, align 8 | |
%11 = alloca { ptr, ptr }, align 8 | |
%12 = alloca { ptr, ptr }, align 8 | |
%13 = alloca { ptr, ptr }, align 8 | |
%14 = alloca { ptr, ptr }, align 8 | |
%15 = alloca i64, align 8 | |
%16 = alloca i64, align 8 | |
%17 = alloca ptr, align 8 | |
%18 = alloca i64, align 8 | |
%19 = alloca { ptr, ptr }, align 8 | |
%20 = alloca double, align 8 | |
%21 = alloca { double, double, double, double, double }, align 8 | |
%22 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
%23 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%24 = load i64, ptr %23, align 8, !noundef !3 | |
%25 = call noundef align 8 dereferenceable(40) ptr @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h24b9ae8ec9ed4093E"(ptr noalias noundef readonly align 8 dereferenceable(24) %22, i64 noundef %24, ptr noalias noundef readonly align 8 dereferenceable(24) @40) #13 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %21, ptr align 8 %25, i64 40, i1 false) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %20) | |
%26 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 12 | |
%27 = load i64, ptr %26, align 8, !noundef !3 | |
%28 = uitofp i64 %27 to double | |
%29 = fmul double 7.000000e+00, %28 | |
%30 = fdiv double %29, 8.000000e+00 | |
store double %30, ptr %20, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %19) | |
%31 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %18) | |
%32 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%33 = load i64, ptr %32, align 8, !noundef !3 | |
store i64 %33, ptr %18, align 8 | |
%34 = load i64, ptr %18, align 8, !noundef !3 | |
%35 = call { ptr, i64 } @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h6ecef2eea19eb4eeE"(ptr noalias noundef readonly align 8 dereferenceable(24) %31, i64 noundef %34, ptr noalias noundef readonly align 8 dereferenceable(24) @41) #13 | |
%36 = extractvalue { ptr, i64 } %35, 0 | |
%37 = extractvalue { ptr, i64 } %35, 1 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %18) | |
%38 = getelementptr inbounds { double, double, double, double, double }, ptr %36, i64 %37 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
store ptr %36, ptr %5, align 8 | |
%39 = load ptr, ptr %5, align 8, !nonnull !3, !noundef !3 | |
store ptr %39, ptr %19, align 8 | |
%40 = getelementptr inbounds { ptr, ptr }, ptr %19, i32 0, i32 1 | |
store ptr %38, ptr %40, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %17) | |
store ptr %20, ptr %17, align 8 | |
%41 = load ptr, ptr %17, align 8, !nonnull !3, !align !5, !noundef !3 | |
%42 = call noundef zeroext i1 @"_ZN91_$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$3any17h5bf8bdc8c33de704E"(ptr noalias noundef align 8 dereferenceable(16) %19, ptr noalias noundef readonly align 8 dereferenceable(8) %41) #13 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %17) | |
%43 = xor i1 %42, true | |
call void @llvm.lifetime.end.p0(i64 16, ptr %19) | |
br i1 %43, label %50, label %44 | |
44: ; preds = %2 | |
%45 = getelementptr inbounds { double, double, double, double, double }, ptr %21, i32 0, i32 3 | |
%46 = load double, ptr %45, align 8, !noundef !3 | |
%47 = getelementptr inbounds { double, double, double, double, double }, ptr %21, i32 0, i32 4 | |
%48 = load double, ptr %47, align 8, !noundef !3 | |
%49 = fcmp oge double %46, %48 | |
br i1 %49, label %58, label %52 | |
50: ; preds = %2 | |
store i8 0, ptr %0, align 8 | |
%51 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %51, ptr align 8 %21, i64 40, i1 false) | |
br label %168 | |
52: ; preds = %163, %44 | |
%53 = getelementptr inbounds { double, double, double, double, double }, ptr %21, i32 0, i32 4 | |
%54 = load double, ptr %53, align 8, !noundef !3 | |
%55 = fcmp oge double %46, %54 | |
%56 = zext i1 %55 to i8 | |
store i8 %56, ptr %0, align 8 | |
%57 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %57, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %20) | |
br label %166 | |
58: ; preds = %44 | |
%59 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %16) | |
%60 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%61 = load i64, ptr %60, align 8, !noundef !3 | |
%62 = add i64 %61, 1 | |
store i64 %62, ptr %16, align 8 | |
%63 = load i64, ptr %16, align 8, !noundef !3 | |
%64 = call { ptr, i64 } @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h6ecef2eea19eb4eeE"(ptr noalias noundef readonly align 8 dereferenceable(24) %59, i64 noundef %63, ptr noalias noundef readonly align 8 dereferenceable(24) @42) #13 | |
%65 = extractvalue { ptr, i64 } %64, 0 | |
%66 = extractvalue { ptr, i64 } %64, 1 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %16) | |
%67 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %15) | |
%68 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 10 | |
%69 = load i64, ptr %68, align 8, !noundef !3 | |
store i64 %69, ptr %15, align 8 | |
%70 = load i64, ptr %15, align 8, !noundef !3 | |
%71 = call { ptr, i64 } @"_ZN81_$LT$alloc..vec..Vec$LT$T$C$A$GT$$u20$as$u20$core..ops..index..Index$LT$I$GT$$GT$5index17h5a3983271aeb95ebE"(ptr noalias noundef readonly align 8 dereferenceable(24) %67, i64 noundef %70, ptr noalias noundef readonly align 8 dereferenceable(24) @43) #13 | |
%72 = extractvalue { ptr, i64 } %71, 0 | |
%73 = extractvalue { ptr, i64 } %71, 1 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %14) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
%74 = getelementptr inbounds { double, double, double, double, double }, ptr %65, i64 %66 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %4) | |
store ptr %65, ptr %4, align 8 | |
%75 = load ptr, ptr %4, align 8, !nonnull !3, !noundef !3 | |
store ptr %75, ptr %13, align 8 | |
%76 = getelementptr inbounds { ptr, ptr }, ptr %13, i32 0, i32 1 | |
store ptr %74, ptr %76, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %4) | |
%77 = getelementptr inbounds { ptr, ptr }, ptr %13, i32 0, i32 0 | |
%78 = load ptr, ptr %77, align 8, !nonnull !3, !noundef !3 | |
%79 = getelementptr inbounds { ptr, ptr }, ptr %13, i32 0, i32 1 | |
%80 = load ptr, ptr %79, align 8, !noundef !3 | |
%81 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 0 | |
store ptr %78, ptr %81, align 8 | |
%82 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 1 | |
store ptr %80, ptr %82, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
%83 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 0 | |
%84 = load ptr, ptr %83, align 8, !nonnull !3, !noundef !3 | |
%85 = getelementptr inbounds { ptr, ptr }, ptr %14, i32 0, i32 1 | |
%86 = load ptr, ptr %85, align 8, !noundef !3 | |
%87 = call noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h6e9a2cff9f3990cdE"(ptr noundef nonnull %84, ptr noundef %86) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %14) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %11) | |
%88 = getelementptr inbounds { double, double, double, double, double }, ptr %72, i64 %73 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %3) | |
store ptr %72, ptr %3, align 8 | |
%89 = load ptr, ptr %3, align 8, !nonnull !3, !noundef !3 | |
store ptr %89, ptr %11, align 8 | |
%90 = getelementptr inbounds { ptr, ptr }, ptr %11, i32 0, i32 1 | |
store ptr %88, ptr %90, align 8 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %3) | |
%91 = getelementptr inbounds { ptr, ptr }, ptr %11, i32 0, i32 0 | |
%92 = load ptr, ptr %91, align 8, !nonnull !3, !noundef !3 | |
%93 = getelementptr inbounds { ptr, ptr }, ptr %11, i32 0, i32 1 | |
%94 = load ptr, ptr %93, align 8, !noundef !3 | |
%95 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 0 | |
store ptr %92, ptr %95, align 8 | |
%96 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 1 | |
store ptr %94, ptr %96, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %11) | |
%97 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 0 | |
%98 = load ptr, ptr %97, align 8, !nonnull !3, !noundef !3 | |
%99 = getelementptr inbounds { ptr, ptr }, ptr %12, i32 0, i32 1 | |
%100 = load ptr, ptr %99, align 8, !noundef !3 | |
%101 = call noundef i64 @"_ZN108_$LT$core..iter..adapters..filter..Filter$LT$I$C$P$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$5count17h82272148696c8a0cE"(ptr noundef nonnull %98, ptr noundef %100) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%102 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 15 | |
%103 = load i8, ptr %102, align 8, !range !11, !noundef !3 | |
%104 = zext i8 %103 to i64 | |
%105 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%106 = zext i8 %105 to i64 | |
%107 = icmp eq i64 %104, %106 | |
br i1 %107, label %109, label %108 | |
108: ; preds = %58 | |
store i64 1, ptr %10, align 8 | |
br label %110 | |
109: ; preds = %58 | |
store i64 2, ptr %10, align 8 | |
br label %110 | |
110: ; preds = %109, %108 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %9) | |
%111 = icmp eq i64 %101, 0 | |
br i1 %111, label %112, label %116 | |
112: ; preds = %110 | |
%113 = load i64, ptr %10, align 8, !noundef !3 | |
%114 = icmp uge i64 %87, %113 | |
%115 = zext i1 %114 to i8 | |
store i8 %115, ptr %9, align 1 | |
br label %117 | |
116: ; preds = %110 | |
store i8 0, ptr %9, align 1 | |
br label %117 | |
117: ; preds = %116, %112 | |
%118 = load i8, ptr %9, align 1, !range !9, !noundef !3 | |
%119 = trunc i8 %118 to i1 | |
br i1 %119, label %122, label %120 | |
120: ; preds = %117 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%121 = icmp eq i64 %87, 0 | |
br i1 %121, label %124, label %127 | |
122: ; preds = %117 | |
store i8 1, ptr %0, align 8 | |
%123 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %123, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %9) | |
br label %167 | |
124: ; preds = %120 | |
%125 = icmp eq i64 %101, 1 | |
%126 = zext i1 %125 to i8 | |
store i8 %126, ptr %7, align 1 | |
br label %128 | |
127: ; preds = %120 | |
store i8 0, ptr %7, align 1 | |
br label %128 | |
128: ; preds = %127, %124 | |
%129 = load i8, ptr %7, align 1, !range !9, !noundef !3 | |
%130 = trunc i8 %129 to i1 | |
br i1 %130, label %132, label %131 | |
131: ; preds = %128 | |
store i8 0, ptr %8, align 1 | |
br label %135 | |
132: ; preds = %128 | |
%133 = icmp ult i64 0, %73 | |
%134 = call i1 @llvm.expect.i1(i1 %133, i1 true) | |
br i1 %134, label %138, label %144 | |
135: ; preds = %145, %131 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
%136 = load i8, ptr %8, align 1, !range !9, !noundef !3 | |
%137 = trunc i8 %136 to i1 | |
br i1 %137, label %154, label %152 | |
138: ; preds = %132 | |
%139 = getelementptr inbounds [0 x { double, double, double, double, double }], ptr %72, i64 0, i64 0 | |
%140 = getelementptr inbounds { double, double, double, double, double }, ptr %139, i32 0, i32 3 | |
%141 = load double, ptr %140, align 8, !noundef !3 | |
%142 = icmp ult i64 0, %73 | |
%143 = call i1 @llvm.expect.i1(i1 %142, i1 true) | |
br i1 %143, label %145, label %151 | |
144: ; preds = %132 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef 0, i64 noundef %73, ptr noalias noundef readonly align 8 dereferenceable(24) @44) #14 | |
unreachable | |
145: ; preds = %138 | |
%146 = getelementptr inbounds [0 x { double, double, double, double, double }], ptr %72, i64 0, i64 0 | |
%147 = getelementptr inbounds { double, double, double, double, double }, ptr %146, i32 0, i32 4 | |
%148 = load double, ptr %147, align 8, !noundef !3 | |
%149 = fcmp oge double %141, %148 | |
%150 = zext i1 %149 to i8 | |
store i8 %150, ptr %8, align 1 | |
br label %135 | |
151: ; preds = %138 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef 0, i64 noundef %73, ptr noalias noundef readonly align 8 dereferenceable(24) @45) #14 | |
unreachable | |
152: ; preds = %135 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %6) | |
%153 = icmp eq i64 %87, 0 | |
br i1 %153, label %156, label %159 | |
154: ; preds = %135 | |
store i8 1, ptr %0, align 8 | |
%155 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %155, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %8) | |
br label %167 | |
156: ; preds = %152 | |
%157 = icmp ne i64 %101, 0 | |
%158 = zext i1 %157 to i8 | |
store i8 %158, ptr %6, align 1 | |
br label %160 | |
159: ; preds = %152 | |
store i8 1, ptr %6, align 1 | |
br label %160 | |
160: ; preds = %159, %156 | |
%161 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%162 = trunc i8 %161 to i1 | |
br i1 %162, label %164, label %163 | |
163: ; preds = %160 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %52 | |
164: ; preds = %160 | |
store i8 0, ptr %0, align 8 | |
%165 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %165, ptr align 8 %21, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %6) | |
br label %167 | |
166: ; preds = %168, %52 | |
ret void | |
167: ; preds = %164, %154, %122 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %10) | |
br label %168 | |
168: ; preds = %167, %50 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %20) | |
br label %166 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$17adaptive_scenecut28_$u7b$$u7b$closure$u7d$$u7d$17h21adb3c104afff16E"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(40) %1) unnamed_addr #0 { | |
%3 = getelementptr inbounds { double, double, double, double, double }, ptr %1, i32 0, i32 1 | |
%4 = load double, ptr %3, align 8, !noundef !3 | |
%5 = load ptr, ptr %0, align 8, !nonnull !3, !align !5, !noundef !3 | |
%6 = load double, ptr %5, align 8, !noundef !3 | |
%7 = fcmp oge double %4, %6 | |
ret i1 %7 | |
} | |
; Function Attrs: inlinehint nounwind nonlazybind | |
define internal noundef zeroext i1 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$17adaptive_scenecut28_$u7b$$u7b$closure$u7d$$u7d$17he45ef461fcd52055E"(ptr noalias noundef align 8 dereferenceable(8) %0, ptr noalias noundef readonly align 8 dereferenceable(40) %1) unnamed_addr #0 { | |
%3 = getelementptr inbounds { double, double, double, double, double }, ptr %1, i32 0, i32 1 | |
%4 = load double, ptr %3, align 8, !noundef !3 | |
%5 = load ptr, ptr %0, align 8, !nonnull !3, !align !5, !noundef !3 | |
%6 = load double, ptr %5, align 8, !noundef !3 | |
%7 = fcmp oge double %4, %6 | |
ret i1 %7 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden noundef zeroext i1 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$18analyze_next_frame17h9da74145c571766dE"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) unnamed_addr #1 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca i8, align 1 | |
%9 = alloca { ptr, i64 }, align 8 | |
%10 = alloca { i64, i64 }, align 8 | |
%11 = alloca { i64, i64 }, align 8 | |
%12 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%13 = alloca { i64, i64 }, align 8 | |
%14 = alloca { i64, i64 }, align 8 | |
%15 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%16 = alloca { i64, i64 }, align 8 | |
%17 = alloca { i64, i64 }, align 8 | |
%18 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%19 = alloca { i64, i64 }, align 8 | |
%20 = alloca { i64, i64 }, align 8 | |
%21 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%22 = alloca { i64, i64 }, align 8 | |
%23 = alloca { i64, i64 }, align 8 | |
%24 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%25 = alloca { i64, i64 }, align 8 | |
%26 = alloca { i64, i64 }, align 8 | |
%27 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%28 = alloca { i64, i64 }, align 8 | |
%29 = alloca { i64, i64 }, align 8 | |
%30 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%31 = alloca [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], align 8 | |
%32 = alloca { ptr, i64 }, align 8 | |
%33 = alloca { ptr, ptr }, align 8 | |
%34 = alloca { ptr, ptr }, align 8 | |
%35 = alloca { ptr, ptr }, align 8 | |
%36 = alloca { ptr, ptr }, align 8 | |
%37 = alloca { ptr, ptr }, align 8 | |
%38 = alloca { ptr, ptr }, align 8 | |
%39 = alloca { ptr, ptr }, align 8 | |
%40 = alloca [7 x { ptr, ptr }], align 8 | |
%41 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%42 = alloca i64, align 8 | |
%43 = alloca i8, align 1 | |
%44 = alloca i8, align 1 | |
%45 = alloca i8, align 1 | |
%46 = alloca i64, align 8 | |
%47 = alloca i8, align 1 | |
%48 = alloca i8, align 1 | |
%49 = alloca { i8, [7 x i8], { double, double, double, double, double } }, align 8 | |
%50 = alloca { double, double, double, double, double }, align 8 | |
%51 = alloca i8, align 1 | |
%52 = alloca i8, align 1 | |
%53 = alloca i8, align 1 | |
%54 = alloca i8, align 1 | |
%55 = alloca i64, align 8 | |
store i64 %3, ptr %55, align 8 | |
%56 = load i64, ptr %55, align 8, !noundef !3 | |
%57 = sub i64 %56, %4 | |
%58 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
%59 = load i64, ptr %58, align 8, !noundef !3 | |
%60 = icmp ule i64 %2, %59 | |
br i1 %60, label %69, label %61 | |
61: ; preds = %5 | |
%62 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %0, i32 0, i32 1 | |
%63 = getelementptr inbounds { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, ptr %62, i32 0, i32 1 | |
%64 = load i8, ptr %63, align 8, !range !11, !noundef !3 | |
%65 = zext i8 %64 to i64 | |
%66 = load i8, ptr @46, align 1, !range !11, !noundef !3 | |
%67 = zext i8 %66 to i64 | |
%68 = icmp eq i64 %65, %67 | |
br i1 %68, label %74, label %70 | |
69: ; preds = %5 | |
store i8 0, ptr %54, align 1 | |
br label %447 | |
70: ; preds = %61 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %52) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %51) | |
%71 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%72 = load i64, ptr %71, align 8, !noundef !3 | |
%73 = icmp ugt i64 %72, 0 | |
br i1 %73, label %81, label %80 | |
74: ; preds = %61 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %53) | |
%75 = call noundef i8 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$24handle_min_max_intervals17h2b525f6b09074824E"(ptr noalias noundef align 8 dereferenceable(704) %0, i64 noundef %57) #13, !range !11 | |
store i8 %75, ptr %53, align 1 | |
%76 = load i8, ptr %53, align 1, !range !11, !noundef !3 | |
%77 = icmp eq i8 %76, 2 | |
%78 = select i1 %77, i64 0, i64 1 | |
%79 = icmp eq i64 %78, 1 | |
br i1 %79, label %450, label %453 | |
80: ; preds = %70 | |
store i8 0, ptr %51, align 1 | |
br label %87 | |
81: ; preds = %70 | |
%82 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%83 = load i64, ptr %82, align 8, !noundef !3 | |
%84 = add i64 %83, 1 | |
%85 = icmp ugt i64 %2, %84 | |
%86 = zext i1 %85 to i8 | |
store i8 %86, ptr %51, align 1 | |
br label %87 | |
87: ; preds = %81, %80 | |
%88 = load i8, ptr %51, align 1, !range !9, !noundef !3 | |
%89 = trunc i8 %88 to i1 | |
br i1 %89, label %91, label %90 | |
90: ; preds = %87 | |
store i8 0, ptr %52, align 1 | |
br label %97 | |
91: ; preds = %87 | |
%92 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%93 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %92, i32 0, i32 1 | |
%94 = load i64, ptr %93, align 8, !noundef !3 | |
%95 = icmp eq i64 %94, 0 | |
%96 = zext i1 %95 to i8 | |
store i8 %96, ptr %52, align 1 | |
br label %97 | |
97: ; preds = %91, %90 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %51) | |
%98 = load i8, ptr %52, align 1, !range !9, !noundef !3 | |
%99 = trunc i8 %98 to i1 | |
br i1 %99, label %105, label %100 | |
100: ; preds = %97 | |
%101 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%102 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %101, i32 0, i32 1 | |
%103 = load i64, ptr %102, align 8, !noundef !3 | |
%104 = icmp eq i64 %103, 0 | |
br i1 %104, label %109, label %114 | |
105: ; preds = %97 | |
%106 = load i64, ptr %55, align 8, !noundef !3 | |
%107 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%108 = load i64, ptr %107, align 8, !noundef !3 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$22initialize_score_deque17h452ef4b0c21270caE"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %106, i64 noundef %108) #13 | |
br label %115 | |
109: ; preds = %100 | |
%110 = load i64, ptr %55, align 8, !noundef !3 | |
%111 = sub i64 %2, 1 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$22initialize_score_deque17h452ef4b0c21270caE"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %110, i64 noundef %111) #13 | |
%112 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%113 = sub i64 %2, 2 | |
store i64 %113, ptr %112, align 8 | |
br label %114 | |
114: ; preds = %109, %100 | |
br label %115 | |
115: ; preds = %114, %105 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %52) | |
%116 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%117 = load i64, ptr %116, align 8, !noundef !3 | |
%118 = add i64 %117, 1 | |
%119 = icmp ugt i64 %2, %118 | |
br i1 %119, label %125, label %120 | |
120: ; preds = %115 | |
%121 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%122 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%123 = load i64, ptr %122, align 8, !noundef !3 | |
%124 = sub i64 %123, 1 | |
store i64 %124, ptr %121, align 8 | |
br label %130 | |
125: ; preds = %115 | |
%126 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%127 = load i64, ptr %126, align 8, !noundef !3 | |
%128 = icmp ult i64 %127, %2 | |
%129 = call i1 @llvm.expect.i1(i1 %128, i1 true) | |
br i1 %129, label %138, label %147 | |
130: ; preds = %148, %120 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %49) | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$17adaptive_scenecut17hbda47ba32c8d3da8E"(ptr noalias nocapture noundef sret({ i8, [7 x i8], { double, double, double, double, double } }) align 8 dereferenceable(48) %49, ptr noalias noundef align 8 dereferenceable(704) %0) #13 | |
%131 = load i8, ptr %49, align 8, !range !9, !noundef !3 | |
%132 = trunc i8 %131 to i1 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %50) | |
%133 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %49, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %50, ptr align 8 %133, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %49) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %48) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %47) | |
%134 = call noundef i8 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$24handle_min_max_intervals17h2b525f6b09074824E"(ptr noalias noundef align 8 dereferenceable(704) %0, i64 noundef %57) #13, !range !11 | |
store i8 %134, ptr %47, align 1 | |
%135 = load i8, ptr %47, align 1, !range !11, !noundef !3 | |
%136 = icmp eq i8 %135, 2 | |
%137 = select i1 %136, i64 0, i64 1 | |
switch i64 %137, label %157 [ | |
i64 0, label %158 | |
i64 1, label %160 | |
] | |
138: ; preds = %125 | |
%139 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %127 | |
%140 = load ptr, ptr %139, align 8, !nonnull !3, !align !5, !noundef !3 | |
%141 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %140) #13 | |
%142 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%143 = load i64, ptr %142, align 8, !noundef !3 | |
%144 = add i64 %143, 1 | |
%145 = icmp ult i64 %144, %2 | |
%146 = call i1 @llvm.expect.i1(i1 %145, i1 true) | |
br i1 %146, label %148, label %156 | |
147: ; preds = %125 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %127, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @47) #14 | |
unreachable | |
148: ; preds = %138 | |
%149 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %144 | |
%150 = load ptr, ptr %149, align 8, !nonnull !3, !align !5, !noundef !3 | |
%151 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %150) #13 | |
%152 = load i64, ptr %55, align 8, !noundef !3 | |
%153 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%154 = load i64, ptr %153, align 8, !noundef !3 | |
%155 = add i64 %152, %154 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison17ha95ba896c5319333E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %141, ptr noundef nonnull %151, i64 noundef %155) #13 | |
br label %130 | |
156: ; preds = %138 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %144, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @48) #14 | |
unreachable | |
157: ; preds = %130 | |
unreachable | |
158: ; preds = %130 | |
%159 = zext i1 %132 to i8 | |
store i8 %159, ptr %48, align 1 | |
br label %164 | |
160: ; preds = %130 | |
%161 = load i8, ptr %47, align 1, !range !9, !noundef !3 | |
%162 = trunc i8 %161 to i1 | |
%163 = zext i1 %162 to i8 | |
store i8 %163, ptr %48, align 1 | |
br label %164 | |
164: ; preds = %160, %158 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %47) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %46) | |
store i64 4, ptr %46, align 8 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %45) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %44) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %8) | |
%165 = call noundef i8 @"_ZN76_$LT$log..Level$u20$as$u20$core..cmp..PartialOrd$LT$log..LevelFilter$GT$$GT$11partial_cmp17hd3df196d3356f36bE"(ptr noalias noundef readonly align 8 dereferenceable(8) %46, ptr noalias noundef readonly align 8 dereferenceable(8) @49) #13, !range !16 | |
store i8 %165, ptr %8, align 1 | |
%166 = load i8, ptr %8, align 1, !range !16, !noundef !3 | |
%167 = icmp eq i8 %166, 2 | |
%168 = select i1 %167, i64 0, i64 1 | |
%169 = icmp eq i64 %168, 1 | |
br i1 %169, label %170, label %172 | |
170: ; preds = %164 | |
%171 = load i8, ptr %8, align 1, !range !10, !noundef !3 | |
switch i8 %171, label %172 [ | |
i8 -1, label %173 | |
i8 0, label %173 | |
] | |
172: ; preds = %170, %164 | |
store i8 0, ptr %44, align 1 | |
br label %174 | |
173: ; preds = %170, %170 | |
store i8 1, ptr %44, align 1 | |
br label %174 | |
174: ; preds = %173, %172 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %8) | |
%175 = load i8, ptr %44, align 1, !range !9, !noundef !3 | |
%176 = trunc i8 %175 to i1 | |
br i1 %176, label %178, label %177 | |
177: ; preds = %174 | |
store i8 0, ptr %45, align 1 | |
br label %186 | |
178: ; preds = %174 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %43) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %42) | |
%179 = call noundef i64 @_ZN4core4sync6atomic11atomic_load17h24c4e15a6bba1f6aE(ptr noundef @_ZN3log20MAX_LOG_LEVEL_FILTER17hf45987abfd1fc402E, i8 noundef 0) #13 | |
%180 = icmp ule i64 %179, 5 | |
call void @llvm.assume(i1 %180) | |
store i64 %179, ptr %42, align 8 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%181 = call noundef i8 @"_ZN76_$LT$log..Level$u20$as$u20$core..cmp..PartialOrd$LT$log..LevelFilter$GT$$GT$11partial_cmp17hd3df196d3356f36bE"(ptr noalias noundef readonly align 8 dereferenceable(8) %46, ptr noalias noundef readonly align 8 dereferenceable(8) %42) #13, !range !16 | |
store i8 %181, ptr %7, align 1 | |
%182 = load i8, ptr %7, align 1, !range !16, !noundef !3 | |
%183 = icmp eq i8 %182, 2 | |
%184 = select i1 %183, i64 0, i64 1 | |
%185 = icmp eq i64 %184, 1 | |
br i1 %185, label %189, label %191 | |
186: ; preds = %193, %177 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %43) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %44) | |
%187 = load i8, ptr %45, align 1, !range !9, !noundef !3 | |
%188 = trunc i8 %187 to i1 | |
br i1 %188, label %205, label %197 | |
189: ; preds = %178 | |
%190 = load i8, ptr %7, align 1, !range !10, !noundef !3 | |
switch i8 %190, label %191 [ | |
i8 -1, label %192 | |
i8 0, label %192 | |
] | |
191: ; preds = %189, %178 | |
store i8 0, ptr %43, align 1 | |
br label %193 | |
192: ; preds = %189, %189 | |
store i8 1, ptr %43, align 1 | |
br label %193 | |
193: ; preds = %192, %191 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %42) | |
%194 = load i8, ptr %43, align 1, !range !9, !noundef !3 | |
%195 = trunc i8 %194 to i1 | |
%196 = zext i1 %195 to i8 | |
store i8 %196, ptr %45, align 1 | |
br label %186 | |
197: ; preds = %224, %186 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %45) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %46) | |
%198 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%199 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %198, i32 0, i32 1 | |
%200 = load i64, ptr %199, align 8, !noundef !3 | |
%201 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
%202 = load i64, ptr %201, align 8, !noundef !3 | |
%203 = add i64 5, %202 | |
%204 = icmp ugt i64 %200, %203 | |
br i1 %204, label %433, label %429 | |
205: ; preds = %186 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %41) | |
call void @llvm.lifetime.start.p0(i64 112, ptr %40) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %39) | |
store ptr %55, ptr %39, align 8 | |
%206 = getelementptr inbounds { ptr, ptr }, ptr %39, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha7f0cc48714ff1fdE", ptr %206, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %38) | |
store ptr %50, ptr %38, align 8 | |
%207 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %207, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %37) | |
%208 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 1 | |
store ptr %208, ptr %37, align 8 | |
%209 = getelementptr inbounds { ptr, ptr }, ptr %37, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %209, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %36) | |
%210 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 2 | |
store ptr %210, ptr %36, align 8 | |
%211 = getelementptr inbounds { ptr, ptr }, ptr %36, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %211, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %35) | |
%212 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 3 | |
store ptr %212, ptr %35, align 8 | |
%213 = getelementptr inbounds { ptr, ptr }, ptr %35, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %213, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %34) | |
%214 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 4 | |
store ptr %214, ptr %34, align 8 | |
%215 = getelementptr inbounds { ptr, ptr }, ptr %34, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %215, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %33) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %32) | |
%216 = load i8, ptr %48, align 1, !range !9, !noundef !3 | |
%217 = trunc i8 %216 to i1 | |
br i1 %217, label %221, label %218 | |
218: ; preds = %205 | |
%219 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 0 | |
store ptr @58, ptr %219, align 8 | |
%220 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 1 | |
store i64 6, ptr %220, align 8 | |
br label %224 | |
221: ; preds = %205 | |
%222 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 0 | |
store ptr @59, ptr %222, align 8 | |
%223 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 1 | |
store i64 8, ptr %223, align 8 | |
br label %224 | |
224: ; preds = %221, %218 | |
store ptr %32, ptr %33, align 8 | |
%225 = getelementptr inbounds { ptr, ptr }, ptr %33, i32 0, i32 1 | |
store ptr @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hf29d218d3bdae9e3E", ptr %225, align 8 | |
%226 = getelementptr inbounds { ptr, ptr }, ptr %39, i32 0, i32 0 | |
%227 = load ptr, ptr %226, align 8, !nonnull !3, !align !4, !noundef !3 | |
%228 = getelementptr inbounds { ptr, ptr }, ptr %39, i32 0, i32 1 | |
%229 = load ptr, ptr %228, align 8, !nonnull !3, !noundef !3 | |
%230 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 0 | |
%231 = getelementptr inbounds { ptr, ptr }, ptr %230, i32 0, i32 0 | |
store ptr %227, ptr %231, align 8 | |
%232 = getelementptr inbounds { ptr, ptr }, ptr %230, i32 0, i32 1 | |
store ptr %229, ptr %232, align 8 | |
%233 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 0 | |
%234 = load ptr, ptr %233, align 8, !nonnull !3, !align !4, !noundef !3 | |
%235 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 1 | |
%236 = load ptr, ptr %235, align 8, !nonnull !3, !noundef !3 | |
%237 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 1 | |
%238 = getelementptr inbounds { ptr, ptr }, ptr %237, i32 0, i32 0 | |
store ptr %234, ptr %238, align 8 | |
%239 = getelementptr inbounds { ptr, ptr }, ptr %237, i32 0, i32 1 | |
store ptr %236, ptr %239, align 8 | |
%240 = getelementptr inbounds { ptr, ptr }, ptr %37, i32 0, i32 0 | |
%241 = load ptr, ptr %240, align 8, !nonnull !3, !align !4, !noundef !3 | |
%242 = getelementptr inbounds { ptr, ptr }, ptr %37, i32 0, i32 1 | |
%243 = load ptr, ptr %242, align 8, !nonnull !3, !noundef !3 | |
%244 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 2 | |
%245 = getelementptr inbounds { ptr, ptr }, ptr %244, i32 0, i32 0 | |
store ptr %241, ptr %245, align 8 | |
%246 = getelementptr inbounds { ptr, ptr }, ptr %244, i32 0, i32 1 | |
store ptr %243, ptr %246, align 8 | |
%247 = getelementptr inbounds { ptr, ptr }, ptr %36, i32 0, i32 0 | |
%248 = load ptr, ptr %247, align 8, !nonnull !3, !align !4, !noundef !3 | |
%249 = getelementptr inbounds { ptr, ptr }, ptr %36, i32 0, i32 1 | |
%250 = load ptr, ptr %249, align 8, !nonnull !3, !noundef !3 | |
%251 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 3 | |
%252 = getelementptr inbounds { ptr, ptr }, ptr %251, i32 0, i32 0 | |
store ptr %248, ptr %252, align 8 | |
%253 = getelementptr inbounds { ptr, ptr }, ptr %251, i32 0, i32 1 | |
store ptr %250, ptr %253, align 8 | |
%254 = getelementptr inbounds { ptr, ptr }, ptr %35, i32 0, i32 0 | |
%255 = load ptr, ptr %254, align 8, !nonnull !3, !align !4, !noundef !3 | |
%256 = getelementptr inbounds { ptr, ptr }, ptr %35, i32 0, i32 1 | |
%257 = load ptr, ptr %256, align 8, !nonnull !3, !noundef !3 | |
%258 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 4 | |
%259 = getelementptr inbounds { ptr, ptr }, ptr %258, i32 0, i32 0 | |
store ptr %255, ptr %259, align 8 | |
%260 = getelementptr inbounds { ptr, ptr }, ptr %258, i32 0, i32 1 | |
store ptr %257, ptr %260, align 8 | |
%261 = getelementptr inbounds { ptr, ptr }, ptr %34, i32 0, i32 0 | |
%262 = load ptr, ptr %261, align 8, !nonnull !3, !align !4, !noundef !3 | |
%263 = getelementptr inbounds { ptr, ptr }, ptr %34, i32 0, i32 1 | |
%264 = load ptr, ptr %263, align 8, !nonnull !3, !noundef !3 | |
%265 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 5 | |
%266 = getelementptr inbounds { ptr, ptr }, ptr %265, i32 0, i32 0 | |
store ptr %262, ptr %266, align 8 | |
%267 = getelementptr inbounds { ptr, ptr }, ptr %265, i32 0, i32 1 | |
store ptr %264, ptr %267, align 8 | |
%268 = getelementptr inbounds { ptr, ptr }, ptr %33, i32 0, i32 0 | |
%269 = load ptr, ptr %268, align 8, !nonnull !3, !align !4, !noundef !3 | |
%270 = getelementptr inbounds { ptr, ptr }, ptr %33, i32 0, i32 1 | |
%271 = load ptr, ptr %270, align 8, !nonnull !3, !noundef !3 | |
%272 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 6 | |
%273 = getelementptr inbounds { ptr, ptr }, ptr %272, i32 0, i32 0 | |
store ptr %269, ptr %273, align 8 | |
%274 = getelementptr inbounds { ptr, ptr }, ptr %272, i32 0, i32 1 | |
store ptr %271, ptr %274, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %33) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %34) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %35) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %36) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %37) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %38) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %39) | |
call void @llvm.lifetime.start.p0(i64 392, ptr %31) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %30) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %29) | |
store i64 2, ptr %29, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %28) | |
store i64 2, ptr %28, align 8 | |
%275 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 2 | |
store i64 0, ptr %275, align 8 | |
%276 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 3 | |
store i32 32, ptr %276, align 8 | |
%277 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 5 | |
store i8 3, ptr %277, align 8 | |
%278 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 4 | |
store i32 0, ptr %278, align 4 | |
%279 = getelementptr inbounds { i64, i64 }, ptr %29, i32 0, i32 0 | |
%280 = load i64, ptr %279, align 8, !range !13, !noundef !3 | |
%281 = getelementptr inbounds { i64, i64 }, ptr %29, i32 0, i32 1 | |
%282 = load i64, ptr %281, align 8 | |
%283 = getelementptr inbounds { i64, i64 }, ptr %30, i32 0, i32 0 | |
store i64 %280, ptr %283, align 8 | |
%284 = getelementptr inbounds { i64, i64 }, ptr %30, i32 0, i32 1 | |
store i64 %282, ptr %284, align 8 | |
%285 = getelementptr inbounds { i64, i64 }, ptr %28, i32 0, i32 0 | |
%286 = load i64, ptr %285, align 8, !range !13, !noundef !3 | |
%287 = getelementptr inbounds { i64, i64 }, ptr %28, i32 0, i32 1 | |
%288 = load i64, ptr %287, align 8 | |
%289 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 1 | |
%290 = getelementptr inbounds { i64, i64 }, ptr %289, i32 0, i32 0 | |
store i64 %286, ptr %290, align 8 | |
%291 = getelementptr inbounds { i64, i64 }, ptr %289, i32 0, i32 1 | |
store i64 %288, ptr %291, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %28) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %29) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %27) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %26) | |
%292 = getelementptr inbounds { i64, i64 }, ptr %26, i32 0, i32 1 | |
store i64 1, ptr %292, align 8 | |
store i64 0, ptr %26, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %25) | |
%293 = getelementptr inbounds { i64, i64 }, ptr %25, i32 0, i32 1 | |
store i64 5, ptr %293, align 8 | |
store i64 0, ptr %25, align 8 | |
%294 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 2 | |
store i64 1, ptr %294, align 8 | |
%295 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 3 | |
store i32 32, ptr %295, align 8 | |
%296 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 5 | |
store i8 3, ptr %296, align 8 | |
%297 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 4 | |
store i32 0, ptr %297, align 4 | |
%298 = getelementptr inbounds { i64, i64 }, ptr %26, i32 0, i32 0 | |
%299 = load i64, ptr %298, align 8, !range !13, !noundef !3 | |
%300 = getelementptr inbounds { i64, i64 }, ptr %26, i32 0, i32 1 | |
%301 = load i64, ptr %300, align 8 | |
%302 = getelementptr inbounds { i64, i64 }, ptr %27, i32 0, i32 0 | |
store i64 %299, ptr %302, align 8 | |
%303 = getelementptr inbounds { i64, i64 }, ptr %27, i32 0, i32 1 | |
store i64 %301, ptr %303, align 8 | |
%304 = getelementptr inbounds { i64, i64 }, ptr %25, i32 0, i32 0 | |
%305 = load i64, ptr %304, align 8, !range !13, !noundef !3 | |
%306 = getelementptr inbounds { i64, i64 }, ptr %25, i32 0, i32 1 | |
%307 = load i64, ptr %306, align 8 | |
%308 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 1 | |
%309 = getelementptr inbounds { i64, i64 }, ptr %308, i32 0, i32 0 | |
store i64 %305, ptr %309, align 8 | |
%310 = getelementptr inbounds { i64, i64 }, ptr %308, i32 0, i32 1 | |
store i64 %307, ptr %310, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %25) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %26) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %24) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %23) | |
%311 = getelementptr inbounds { i64, i64 }, ptr %23, i32 0, i32 1 | |
store i64 1, ptr %311, align 8 | |
store i64 0, ptr %23, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %22) | |
%312 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 1 | |
store i64 5, ptr %312, align 8 | |
store i64 0, ptr %22, align 8 | |
%313 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 2 | |
store i64 2, ptr %313, align 8 | |
%314 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 3 | |
store i32 32, ptr %314, align 8 | |
%315 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 5 | |
store i8 3, ptr %315, align 8 | |
%316 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 4 | |
store i32 0, ptr %316, align 4 | |
%317 = getelementptr inbounds { i64, i64 }, ptr %23, i32 0, i32 0 | |
%318 = load i64, ptr %317, align 8, !range !13, !noundef !3 | |
%319 = getelementptr inbounds { i64, i64 }, ptr %23, i32 0, i32 1 | |
%320 = load i64, ptr %319, align 8 | |
%321 = getelementptr inbounds { i64, i64 }, ptr %24, i32 0, i32 0 | |
store i64 %318, ptr %321, align 8 | |
%322 = getelementptr inbounds { i64, i64 }, ptr %24, i32 0, i32 1 | |
store i64 %320, ptr %322, align 8 | |
%323 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 0 | |
%324 = load i64, ptr %323, align 8, !range !13, !noundef !3 | |
%325 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 1 | |
%326 = load i64, ptr %325, align 8 | |
%327 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 1 | |
%328 = getelementptr inbounds { i64, i64 }, ptr %327, i32 0, i32 0 | |
store i64 %324, ptr %328, align 8 | |
%329 = getelementptr inbounds { i64, i64 }, ptr %327, i32 0, i32 1 | |
store i64 %326, ptr %329, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %22) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %23) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %21) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %20) | |
%330 = getelementptr inbounds { i64, i64 }, ptr %20, i32 0, i32 1 | |
store i64 1, ptr %330, align 8 | |
store i64 0, ptr %20, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %19) | |
%331 = getelementptr inbounds { i64, i64 }, ptr %19, i32 0, i32 1 | |
store i64 5, ptr %331, align 8 | |
store i64 0, ptr %19, align 8 | |
%332 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 2 | |
store i64 3, ptr %332, align 8 | |
%333 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 3 | |
store i32 32, ptr %333, align 8 | |
%334 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 5 | |
store i8 3, ptr %334, align 8 | |
%335 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 4 | |
store i32 0, ptr %335, align 4 | |
%336 = getelementptr inbounds { i64, i64 }, ptr %20, i32 0, i32 0 | |
%337 = load i64, ptr %336, align 8, !range !13, !noundef !3 | |
%338 = getelementptr inbounds { i64, i64 }, ptr %20, i32 0, i32 1 | |
%339 = load i64, ptr %338, align 8 | |
%340 = getelementptr inbounds { i64, i64 }, ptr %21, i32 0, i32 0 | |
store i64 %337, ptr %340, align 8 | |
%341 = getelementptr inbounds { i64, i64 }, ptr %21, i32 0, i32 1 | |
store i64 %339, ptr %341, align 8 | |
%342 = getelementptr inbounds { i64, i64 }, ptr %19, i32 0, i32 0 | |
%343 = load i64, ptr %342, align 8, !range !13, !noundef !3 | |
%344 = getelementptr inbounds { i64, i64 }, ptr %19, i32 0, i32 1 | |
%345 = load i64, ptr %344, align 8 | |
%346 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 1 | |
%347 = getelementptr inbounds { i64, i64 }, ptr %346, i32 0, i32 0 | |
store i64 %343, ptr %347, align 8 | |
%348 = getelementptr inbounds { i64, i64 }, ptr %346, i32 0, i32 1 | |
store i64 %345, ptr %348, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %19) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %20) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %18) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %17) | |
%349 = getelementptr inbounds { i64, i64 }, ptr %17, i32 0, i32 1 | |
store i64 1, ptr %349, align 8 | |
store i64 0, ptr %17, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %16) | |
%350 = getelementptr inbounds { i64, i64 }, ptr %16, i32 0, i32 1 | |
store i64 5, ptr %350, align 8 | |
store i64 0, ptr %16, align 8 | |
%351 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 2 | |
store i64 4, ptr %351, align 8 | |
%352 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 3 | |
store i32 32, ptr %352, align 8 | |
%353 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 5 | |
store i8 3, ptr %353, align 8 | |
%354 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 4 | |
store i32 0, ptr %354, align 4 | |
%355 = getelementptr inbounds { i64, i64 }, ptr %17, i32 0, i32 0 | |
%356 = load i64, ptr %355, align 8, !range !13, !noundef !3 | |
%357 = getelementptr inbounds { i64, i64 }, ptr %17, i32 0, i32 1 | |
%358 = load i64, ptr %357, align 8 | |
%359 = getelementptr inbounds { i64, i64 }, ptr %18, i32 0, i32 0 | |
store i64 %356, ptr %359, align 8 | |
%360 = getelementptr inbounds { i64, i64 }, ptr %18, i32 0, i32 1 | |
store i64 %358, ptr %360, align 8 | |
%361 = getelementptr inbounds { i64, i64 }, ptr %16, i32 0, i32 0 | |
%362 = load i64, ptr %361, align 8, !range !13, !noundef !3 | |
%363 = getelementptr inbounds { i64, i64 }, ptr %16, i32 0, i32 1 | |
%364 = load i64, ptr %363, align 8 | |
%365 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 1 | |
%366 = getelementptr inbounds { i64, i64 }, ptr %365, i32 0, i32 0 | |
store i64 %362, ptr %366, align 8 | |
%367 = getelementptr inbounds { i64, i64 }, ptr %365, i32 0, i32 1 | |
store i64 %364, ptr %367, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %16) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %17) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %14) | |
%368 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 1 | |
store i64 1, ptr %368, align 8 | |
store i64 0, ptr %14, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
store i64 2, ptr %13, align 8 | |
%369 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 2 | |
store i64 5, ptr %369, align 8 | |
%370 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 3 | |
store i32 32, ptr %370, align 8 | |
%371 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 5 | |
store i8 3, ptr %371, align 8 | |
%372 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 4 | |
store i32 0, ptr %372, align 4 | |
%373 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 0 | |
%374 = load i64, ptr %373, align 8, !range !13, !noundef !3 | |
%375 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 1 | |
%376 = load i64, ptr %375, align 8 | |
%377 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 0 | |
store i64 %374, ptr %377, align 8 | |
%378 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 1 | |
store i64 %376, ptr %378, align 8 | |
%379 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 0 | |
%380 = load i64, ptr %379, align 8, !range !13, !noundef !3 | |
%381 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 1 | |
%382 = load i64, ptr %381, align 8 | |
%383 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 1 | |
%384 = getelementptr inbounds { i64, i64 }, ptr %383, i32 0, i32 0 | |
store i64 %380, ptr %384, align 8 | |
%385 = getelementptr inbounds { i64, i64 }, ptr %383, i32 0, i32 1 | |
store i64 %382, ptr %385, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %14) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %11) | |
store i64 2, ptr %11, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %10) | |
store i64 2, ptr %10, align 8 | |
%386 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 2 | |
store i64 6, ptr %386, align 8 | |
%387 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 3 | |
store i32 32, ptr %387, align 8 | |
%388 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 5 | |
store i8 3, ptr %388, align 8 | |
%389 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 4 | |
store i32 0, ptr %389, align 4 | |
%390 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 0 | |
%391 = load i64, ptr %390, align 8, !range !13, !noundef !3 | |
%392 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 1 | |
%393 = load i64, ptr %392, align 8 | |
%394 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 0 | |
store i64 %391, ptr %394, align 8 | |
%395 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 1 | |
store i64 %393, ptr %395, align 8 | |
%396 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 0 | |
%397 = load i64, ptr %396, align 8, !range !13, !noundef !3 | |
%398 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1 | |
%399 = load i64, ptr %398, align 8 | |
%400 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 1 | |
%401 = getelementptr inbounds { i64, i64 }, ptr %400, i32 0, i32 0 | |
store i64 %397, ptr %401, align 8 | |
%402 = getelementptr inbounds { i64, i64 }, ptr %400, i32 0, i32 1 | |
store i64 %399, ptr %402, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %11) | |
%403 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 0 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %403, ptr align 8 %30, i64 56, i1 false) | |
%404 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %404, ptr align 8 %27, i64 56, i1 false) | |
%405 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %405, ptr align 8 %24, i64 56, i1 false) | |
%406 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %406, ptr align 8 %21, i64 56, i1 false) | |
%407 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 4 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %407, ptr align 8 %18, i64 56, i1 false) | |
%408 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 5 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %408, ptr align 8 %15, i64 56, i1 false) | |
%409 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 6 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %409, ptr align 8 %12, i64 56, i1 false) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %12) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %15) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %18) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %21) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %24) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %27) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %30) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%410 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
store ptr %31, ptr %410, align 8 | |
%411 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 7, ptr %411, align 8 | |
%412 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 0 | |
store ptr @57, ptr %412, align 8 | |
%413 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 1 | |
store i64 7, ptr %413, align 8 | |
%414 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%415 = load ptr, ptr %414, align 8, !align !5, !noundef !3 | |
%416 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%417 = load i64, ptr %416, align 8 | |
%418 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %41, i32 0, i32 2 | |
%419 = getelementptr inbounds { ptr, i64 }, ptr %418, i32 0, i32 0 | |
store ptr %415, ptr %419, align 8 | |
%420 = getelementptr inbounds { ptr, i64 }, ptr %418, i32 0, i32 1 | |
store i64 %417, ptr %420, align 8 | |
%421 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %41, i32 0, i32 1 | |
%422 = getelementptr inbounds { ptr, i64 }, ptr %421, i32 0, i32 0 | |
store ptr %40, ptr %422, align 8 | |
%423 = getelementptr inbounds { ptr, i64 }, ptr %421, i32 0, i32 1 | |
store i64 7, ptr %423, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%424 = load i64, ptr %46, align 8, !range !17, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %9) | |
store ptr null, ptr %9, align 8 | |
%425 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
%426 = load ptr, ptr %425, align 8, !align !5, !noundef !3 | |
%427 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
%428 = load i64, ptr %427, align 8 | |
call void @_ZN3log13__private_api3log17h14c5446dccc97c91E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %41, i64 noundef %424, ptr noalias noundef readonly align 8 dereferenceable(48) @61, i32 noundef 224, ptr noalias noundef readonly align 8 %426, i64 %428) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %9) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %41) | |
call void @llvm.lifetime.end.p0(i64 392, ptr %31) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %32) | |
call void @llvm.lifetime.end.p0(i64 112, ptr %40) | |
br label %197 | |
429: ; preds = %446, %197 | |
%430 = load i8, ptr %48, align 1, !range !9, !noundef !3 | |
%431 = trunc i8 %430 to i1 | |
%432 = zext i1 %431 to i8 | |
store i8 %432, ptr %54, align 1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %48) | |
call void @llvm.lifetime.end.p0(i64 40, ptr %50) | |
br label %447 | |
433: ; preds = %197 | |
%434 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%435 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %434, i32 0, i32 1 | |
%436 = load i64, ptr %435, align 8, !noundef !3 | |
%437 = icmp eq i64 %436, 0 | |
br i1 %437, label %438, label %439 | |
438: ; preds = %433 | |
br label %446 | |
439: ; preds = %433 | |
%440 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%441 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %440, i32 0, i32 1 | |
%442 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%443 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %442, i32 0, i32 1 | |
%444 = load i64, ptr %443, align 8, !noundef !3 | |
%445 = sub i64 %444, 1 | |
store i64 %445, ptr %441, align 8 | |
br label %446 | |
446: ; preds = %439, %438 | |
br label %429 | |
447: ; preds = %455, %429, %69 | |
%448 = load i8, ptr %54, align 1, !range !9, !noundef !3 | |
%449 = trunc i8 %448 to i1 | |
ret i1 %449 | |
450: ; preds = %74 | |
%451 = load i8, ptr %53, align 1, !range !9, !noundef !3 | |
%452 = trunc i8 %451 to i1 | |
br i1 %452, label %454, label %453 | |
453: ; preds = %450, %74 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %53) | |
store i8 0, ptr %54, align 1 | |
br label %455 | |
454: ; preds = %450 | |
store i8 1, ptr %54, align 1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %53) | |
br label %455 | |
455: ; preds = %454, %453 | |
br label %447 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden noundef zeroext i1 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$18analyze_next_frame17hc95e2d25f4c3f1eeE"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) unnamed_addr #1 { | |
%6 = alloca { ptr, i64 }, align 8 | |
%7 = alloca i8, align 1 | |
%8 = alloca i8, align 1 | |
%9 = alloca { ptr, i64 }, align 8 | |
%10 = alloca { i64, i64 }, align 8 | |
%11 = alloca { i64, i64 }, align 8 | |
%12 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%13 = alloca { i64, i64 }, align 8 | |
%14 = alloca { i64, i64 }, align 8 | |
%15 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%16 = alloca { i64, i64 }, align 8 | |
%17 = alloca { i64, i64 }, align 8 | |
%18 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%19 = alloca { i64, i64 }, align 8 | |
%20 = alloca { i64, i64 }, align 8 | |
%21 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%22 = alloca { i64, i64 }, align 8 | |
%23 = alloca { i64, i64 }, align 8 | |
%24 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%25 = alloca { i64, i64 }, align 8 | |
%26 = alloca { i64, i64 }, align 8 | |
%27 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%28 = alloca { i64, i64 }, align 8 | |
%29 = alloca { i64, i64 }, align 8 | |
%30 = alloca { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, align 8 | |
%31 = alloca [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], align 8 | |
%32 = alloca { ptr, i64 }, align 8 | |
%33 = alloca { ptr, ptr }, align 8 | |
%34 = alloca { ptr, ptr }, align 8 | |
%35 = alloca { ptr, ptr }, align 8 | |
%36 = alloca { ptr, ptr }, align 8 | |
%37 = alloca { ptr, ptr }, align 8 | |
%38 = alloca { ptr, ptr }, align 8 | |
%39 = alloca { ptr, ptr }, align 8 | |
%40 = alloca [7 x { ptr, ptr }], align 8 | |
%41 = alloca { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, align 8 | |
%42 = alloca i64, align 8 | |
%43 = alloca i8, align 1 | |
%44 = alloca i8, align 1 | |
%45 = alloca i8, align 1 | |
%46 = alloca i64, align 8 | |
%47 = alloca i8, align 1 | |
%48 = alloca i8, align 1 | |
%49 = alloca { i8, [7 x i8], { double, double, double, double, double } }, align 8 | |
%50 = alloca { double, double, double, double, double }, align 8 | |
%51 = alloca i8, align 1 | |
%52 = alloca i8, align 1 | |
%53 = alloca i8, align 1 | |
%54 = alloca i8, align 1 | |
%55 = alloca i64, align 8 | |
store i64 %3, ptr %55, align 8 | |
%56 = load i64, ptr %55, align 8, !noundef !3 | |
%57 = sub i64 %56, %4 | |
%58 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
%59 = load i64, ptr %58, align 8, !noundef !3 | |
%60 = icmp ule i64 %2, %59 | |
br i1 %60, label %69, label %61 | |
61: ; preds = %5 | |
%62 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %0, i32 0, i32 1 | |
%63 = getelementptr inbounds { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, ptr %62, i32 0, i32 1 | |
%64 = load i8, ptr %63, align 8, !range !11, !noundef !3 | |
%65 = zext i8 %64 to i64 | |
%66 = load i8, ptr @46, align 1, !range !11, !noundef !3 | |
%67 = zext i8 %66 to i64 | |
%68 = icmp eq i64 %65, %67 | |
br i1 %68, label %74, label %70 | |
69: ; preds = %5 | |
store i8 0, ptr %54, align 1 | |
br label %447 | |
70: ; preds = %61 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %52) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %51) | |
%71 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%72 = load i64, ptr %71, align 8, !noundef !3 | |
%73 = icmp ugt i64 %72, 0 | |
br i1 %73, label %81, label %80 | |
74: ; preds = %61 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %53) | |
%75 = call noundef i8 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$24handle_min_max_intervals17h52ee3589505ca52aE"(ptr noalias noundef align 8 dereferenceable(704) %0, i64 noundef %57) #13, !range !11 | |
store i8 %75, ptr %53, align 1 | |
%76 = load i8, ptr %53, align 1, !range !11, !noundef !3 | |
%77 = icmp eq i8 %76, 2 | |
%78 = select i1 %77, i64 0, i64 1 | |
%79 = icmp eq i64 %78, 1 | |
br i1 %79, label %450, label %453 | |
80: ; preds = %70 | |
store i8 0, ptr %51, align 1 | |
br label %87 | |
81: ; preds = %70 | |
%82 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%83 = load i64, ptr %82, align 8, !noundef !3 | |
%84 = add i64 %83, 1 | |
%85 = icmp ugt i64 %2, %84 | |
%86 = zext i1 %85 to i8 | |
store i8 %86, ptr %51, align 1 | |
br label %87 | |
87: ; preds = %81, %80 | |
%88 = load i8, ptr %51, align 1, !range !9, !noundef !3 | |
%89 = trunc i8 %88 to i1 | |
br i1 %89, label %91, label %90 | |
90: ; preds = %87 | |
store i8 0, ptr %52, align 1 | |
br label %97 | |
91: ; preds = %87 | |
%92 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%93 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %92, i32 0, i32 1 | |
%94 = load i64, ptr %93, align 8, !noundef !3 | |
%95 = icmp eq i64 %94, 0 | |
%96 = zext i1 %95 to i8 | |
store i8 %96, ptr %52, align 1 | |
br label %97 | |
97: ; preds = %91, %90 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %51) | |
%98 = load i8, ptr %52, align 1, !range !9, !noundef !3 | |
%99 = trunc i8 %98 to i1 | |
br i1 %99, label %105, label %100 | |
100: ; preds = %97 | |
%101 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%102 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %101, i32 0, i32 1 | |
%103 = load i64, ptr %102, align 8, !noundef !3 | |
%104 = icmp eq i64 %103, 0 | |
br i1 %104, label %109, label %114 | |
105: ; preds = %97 | |
%106 = load i64, ptr %55, align 8, !noundef !3 | |
%107 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%108 = load i64, ptr %107, align 8, !noundef !3 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$22initialize_score_deque17h76414c413989f063E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %106, i64 noundef %108) #13 | |
br label %115 | |
109: ; preds = %100 | |
%110 = load i64, ptr %55, align 8, !noundef !3 | |
%111 = sub i64 %2, 1 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$22initialize_score_deque17h76414c413989f063E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %110, i64 noundef %111) #13 | |
%112 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%113 = sub i64 %2, 2 | |
store i64 %113, ptr %112, align 8 | |
br label %114 | |
114: ; preds = %109, %100 | |
br label %115 | |
115: ; preds = %114, %105 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %52) | |
%116 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%117 = load i64, ptr %116, align 8, !noundef !3 | |
%118 = add i64 %117, 1 | |
%119 = icmp ugt i64 %2, %118 | |
br i1 %119, label %125, label %120 | |
120: ; preds = %115 | |
%121 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%122 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%123 = load i64, ptr %122, align 8, !noundef !3 | |
%124 = sub i64 %123, 1 | |
store i64 %124, ptr %121, align 8 | |
br label %130 | |
125: ; preds = %115 | |
%126 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%127 = load i64, ptr %126, align 8, !noundef !3 | |
%128 = icmp ult i64 %127, %2 | |
%129 = call i1 @llvm.expect.i1(i1 %128, i1 true) | |
br i1 %129, label %138, label %147 | |
130: ; preds = %148, %120 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %49) | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$17adaptive_scenecut17h6efb4c4b4eec4757E"(ptr noalias nocapture noundef sret({ i8, [7 x i8], { double, double, double, double, double } }) align 8 dereferenceable(48) %49, ptr noalias noundef align 8 dereferenceable(704) %0) #13 | |
%131 = load i8, ptr %49, align 8, !range !9, !noundef !3 | |
%132 = trunc i8 %131 to i1 | |
call void @llvm.lifetime.start.p0(i64 40, ptr %50) | |
%133 = getelementptr inbounds { i8, [7 x i8], { double, double, double, double, double } }, ptr %49, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %50, ptr align 8 %133, i64 40, i1 false) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %49) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %48) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %47) | |
%134 = call noundef i8 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$24handle_min_max_intervals17h52ee3589505ca52aE"(ptr noalias noundef align 8 dereferenceable(704) %0, i64 noundef %57) #13, !range !11 | |
store i8 %134, ptr %47, align 1 | |
%135 = load i8, ptr %47, align 1, !range !11, !noundef !3 | |
%136 = icmp eq i8 %135, 2 | |
%137 = select i1 %136, i64 0, i64 1 | |
switch i64 %137, label %157 [ | |
i64 0, label %158 | |
i64 1, label %160 | |
] | |
138: ; preds = %125 | |
%139 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %127 | |
%140 = load ptr, ptr %139, align 8, !nonnull !3, !align !5, !noundef !3 | |
%141 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4f2086cacc5a5da1E"(ptr noalias noundef readonly align 8 dereferenceable(8) %140) #13 | |
%142 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%143 = load i64, ptr %142, align 8, !noundef !3 | |
%144 = add i64 %143, 1 | |
%145 = icmp ult i64 %144, %2 | |
%146 = call i1 @llvm.expect.i1(i1 %145, i1 true) | |
br i1 %146, label %148, label %156 | |
147: ; preds = %125 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %127, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @47) #14 | |
unreachable | |
148: ; preds = %138 | |
%149 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %144 | |
%150 = load ptr, ptr %149, align 8, !nonnull !3, !align !5, !noundef !3 | |
%151 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4f2086cacc5a5da1E"(ptr noalias noundef readonly align 8 dereferenceable(8) %150) #13 | |
%152 = load i64, ptr %55, align 8, !noundef !3 | |
%153 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
%154 = load i64, ptr %153, align 8, !noundef !3 | |
%155 = add i64 %152, %154 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison17he4d76d8ce82d7934E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %141, ptr noundef nonnull %151, i64 noundef %155) #13 | |
br label %130 | |
156: ; preds = %138 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %144, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @48) #14 | |
unreachable | |
157: ; preds = %130 | |
unreachable | |
158: ; preds = %130 | |
%159 = zext i1 %132 to i8 | |
store i8 %159, ptr %48, align 1 | |
br label %164 | |
160: ; preds = %130 | |
%161 = load i8, ptr %47, align 1, !range !9, !noundef !3 | |
%162 = trunc i8 %161 to i1 | |
%163 = zext i1 %162 to i8 | |
store i8 %163, ptr %48, align 1 | |
br label %164 | |
164: ; preds = %160, %158 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %47) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %46) | |
store i64 4, ptr %46, align 8 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %45) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %44) | |
call void @llvm.lifetime.start.p0(i64 1, ptr %8) | |
%165 = call noundef i8 @"_ZN76_$LT$log..Level$u20$as$u20$core..cmp..PartialOrd$LT$log..LevelFilter$GT$$GT$11partial_cmp17hd3df196d3356f36bE"(ptr noalias noundef readonly align 8 dereferenceable(8) %46, ptr noalias noundef readonly align 8 dereferenceable(8) @49) #13, !range !16 | |
store i8 %165, ptr %8, align 1 | |
%166 = load i8, ptr %8, align 1, !range !16, !noundef !3 | |
%167 = icmp eq i8 %166, 2 | |
%168 = select i1 %167, i64 0, i64 1 | |
%169 = icmp eq i64 %168, 1 | |
br i1 %169, label %170, label %172 | |
170: ; preds = %164 | |
%171 = load i8, ptr %8, align 1, !range !10, !noundef !3 | |
switch i8 %171, label %172 [ | |
i8 -1, label %173 | |
i8 0, label %173 | |
] | |
172: ; preds = %170, %164 | |
store i8 0, ptr %44, align 1 | |
br label %174 | |
173: ; preds = %170, %170 | |
store i8 1, ptr %44, align 1 | |
br label %174 | |
174: ; preds = %173, %172 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %8) | |
%175 = load i8, ptr %44, align 1, !range !9, !noundef !3 | |
%176 = trunc i8 %175 to i1 | |
br i1 %176, label %178, label %177 | |
177: ; preds = %174 | |
store i8 0, ptr %45, align 1 | |
br label %186 | |
178: ; preds = %174 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %43) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %42) | |
%179 = call noundef i64 @_ZN4core4sync6atomic11atomic_load17h24c4e15a6bba1f6aE(ptr noundef @_ZN3log20MAX_LOG_LEVEL_FILTER17hf45987abfd1fc402E, i8 noundef 0) #13 | |
%180 = icmp ule i64 %179, 5 | |
call void @llvm.assume(i1 %180) | |
store i64 %179, ptr %42, align 8 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %7) | |
%181 = call noundef i8 @"_ZN76_$LT$log..Level$u20$as$u20$core..cmp..PartialOrd$LT$log..LevelFilter$GT$$GT$11partial_cmp17hd3df196d3356f36bE"(ptr noalias noundef readonly align 8 dereferenceable(8) %46, ptr noalias noundef readonly align 8 dereferenceable(8) %42) #13, !range !16 | |
store i8 %181, ptr %7, align 1 | |
%182 = load i8, ptr %7, align 1, !range !16, !noundef !3 | |
%183 = icmp eq i8 %182, 2 | |
%184 = select i1 %183, i64 0, i64 1 | |
%185 = icmp eq i64 %184, 1 | |
br i1 %185, label %189, label %191 | |
186: ; preds = %193, %177 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %43) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %44) | |
%187 = load i8, ptr %45, align 1, !range !9, !noundef !3 | |
%188 = trunc i8 %187 to i1 | |
br i1 %188, label %205, label %197 | |
189: ; preds = %178 | |
%190 = load i8, ptr %7, align 1, !range !10, !noundef !3 | |
switch i8 %190, label %191 [ | |
i8 -1, label %192 | |
i8 0, label %192 | |
] | |
191: ; preds = %189, %178 | |
store i8 0, ptr %43, align 1 | |
br label %193 | |
192: ; preds = %189, %189 | |
store i8 1, ptr %43, align 1 | |
br label %193 | |
193: ; preds = %192, %191 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %7) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %42) | |
%194 = load i8, ptr %43, align 1, !range !9, !noundef !3 | |
%195 = trunc i8 %194 to i1 | |
%196 = zext i1 %195 to i8 | |
store i8 %196, ptr %45, align 1 | |
br label %186 | |
197: ; preds = %224, %186 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %45) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %46) | |
%198 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%199 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %198, i32 0, i32 1 | |
%200 = load i64, ptr %199, align 8, !noundef !3 | |
%201 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
%202 = load i64, ptr %201, align 8, !noundef !3 | |
%203 = add i64 5, %202 | |
%204 = icmp ugt i64 %200, %203 | |
br i1 %204, label %433, label %429 | |
205: ; preds = %186 | |
call void @llvm.lifetime.start.p0(i64 48, ptr %41) | |
call void @llvm.lifetime.start.p0(i64 112, ptr %40) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %39) | |
store ptr %55, ptr %39, align 8 | |
%206 = getelementptr inbounds { ptr, ptr }, ptr %39, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt3num3imp52_$LT$impl$u20$core..fmt..Display$u20$for$u20$u64$GT$3fmt17ha7f0cc48714ff1fdE", ptr %206, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %38) | |
store ptr %50, ptr %38, align 8 | |
%207 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %207, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %37) | |
%208 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 1 | |
store ptr %208, ptr %37, align 8 | |
%209 = getelementptr inbounds { ptr, ptr }, ptr %37, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %209, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %36) | |
%210 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 2 | |
store ptr %210, ptr %36, align 8 | |
%211 = getelementptr inbounds { ptr, ptr }, ptr %36, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %211, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %35) | |
%212 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 3 | |
store ptr %212, ptr %35, align 8 | |
%213 = getelementptr inbounds { ptr, ptr }, ptr %35, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %213, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %34) | |
%214 = getelementptr inbounds { double, double, double, double, double }, ptr %50, i32 0, i32 4 | |
store ptr %214, ptr %34, align 8 | |
%215 = getelementptr inbounds { ptr, ptr }, ptr %34, i32 0, i32 1 | |
store ptr @"_ZN4core3fmt5float52_$LT$impl$u20$core..fmt..Display$u20$for$u20$f64$GT$3fmt17hf6fdd920df393ed8E", ptr %215, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %33) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %32) | |
%216 = load i8, ptr %48, align 1, !range !9, !noundef !3 | |
%217 = trunc i8 %216 to i1 | |
br i1 %217, label %221, label %218 | |
218: ; preds = %205 | |
%219 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 0 | |
store ptr @58, ptr %219, align 8 | |
%220 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 1 | |
store i64 6, ptr %220, align 8 | |
br label %224 | |
221: ; preds = %205 | |
%222 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 0 | |
store ptr @59, ptr %222, align 8 | |
%223 = getelementptr inbounds { ptr, i64 }, ptr %32, i32 0, i32 1 | |
store i64 8, ptr %223, align 8 | |
br label %224 | |
224: ; preds = %221, %218 | |
store ptr %32, ptr %33, align 8 | |
%225 = getelementptr inbounds { ptr, ptr }, ptr %33, i32 0, i32 1 | |
store ptr @"_ZN44_$LT$$RF$T$u20$as$u20$core..fmt..Display$GT$3fmt17hf29d218d3bdae9e3E", ptr %225, align 8 | |
%226 = getelementptr inbounds { ptr, ptr }, ptr %39, i32 0, i32 0 | |
%227 = load ptr, ptr %226, align 8, !nonnull !3, !align !4, !noundef !3 | |
%228 = getelementptr inbounds { ptr, ptr }, ptr %39, i32 0, i32 1 | |
%229 = load ptr, ptr %228, align 8, !nonnull !3, !noundef !3 | |
%230 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 0 | |
%231 = getelementptr inbounds { ptr, ptr }, ptr %230, i32 0, i32 0 | |
store ptr %227, ptr %231, align 8 | |
%232 = getelementptr inbounds { ptr, ptr }, ptr %230, i32 0, i32 1 | |
store ptr %229, ptr %232, align 8 | |
%233 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 0 | |
%234 = load ptr, ptr %233, align 8, !nonnull !3, !align !4, !noundef !3 | |
%235 = getelementptr inbounds { ptr, ptr }, ptr %38, i32 0, i32 1 | |
%236 = load ptr, ptr %235, align 8, !nonnull !3, !noundef !3 | |
%237 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 1 | |
%238 = getelementptr inbounds { ptr, ptr }, ptr %237, i32 0, i32 0 | |
store ptr %234, ptr %238, align 8 | |
%239 = getelementptr inbounds { ptr, ptr }, ptr %237, i32 0, i32 1 | |
store ptr %236, ptr %239, align 8 | |
%240 = getelementptr inbounds { ptr, ptr }, ptr %37, i32 0, i32 0 | |
%241 = load ptr, ptr %240, align 8, !nonnull !3, !align !4, !noundef !3 | |
%242 = getelementptr inbounds { ptr, ptr }, ptr %37, i32 0, i32 1 | |
%243 = load ptr, ptr %242, align 8, !nonnull !3, !noundef !3 | |
%244 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 2 | |
%245 = getelementptr inbounds { ptr, ptr }, ptr %244, i32 0, i32 0 | |
store ptr %241, ptr %245, align 8 | |
%246 = getelementptr inbounds { ptr, ptr }, ptr %244, i32 0, i32 1 | |
store ptr %243, ptr %246, align 8 | |
%247 = getelementptr inbounds { ptr, ptr }, ptr %36, i32 0, i32 0 | |
%248 = load ptr, ptr %247, align 8, !nonnull !3, !align !4, !noundef !3 | |
%249 = getelementptr inbounds { ptr, ptr }, ptr %36, i32 0, i32 1 | |
%250 = load ptr, ptr %249, align 8, !nonnull !3, !noundef !3 | |
%251 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 3 | |
%252 = getelementptr inbounds { ptr, ptr }, ptr %251, i32 0, i32 0 | |
store ptr %248, ptr %252, align 8 | |
%253 = getelementptr inbounds { ptr, ptr }, ptr %251, i32 0, i32 1 | |
store ptr %250, ptr %253, align 8 | |
%254 = getelementptr inbounds { ptr, ptr }, ptr %35, i32 0, i32 0 | |
%255 = load ptr, ptr %254, align 8, !nonnull !3, !align !4, !noundef !3 | |
%256 = getelementptr inbounds { ptr, ptr }, ptr %35, i32 0, i32 1 | |
%257 = load ptr, ptr %256, align 8, !nonnull !3, !noundef !3 | |
%258 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 4 | |
%259 = getelementptr inbounds { ptr, ptr }, ptr %258, i32 0, i32 0 | |
store ptr %255, ptr %259, align 8 | |
%260 = getelementptr inbounds { ptr, ptr }, ptr %258, i32 0, i32 1 | |
store ptr %257, ptr %260, align 8 | |
%261 = getelementptr inbounds { ptr, ptr }, ptr %34, i32 0, i32 0 | |
%262 = load ptr, ptr %261, align 8, !nonnull !3, !align !4, !noundef !3 | |
%263 = getelementptr inbounds { ptr, ptr }, ptr %34, i32 0, i32 1 | |
%264 = load ptr, ptr %263, align 8, !nonnull !3, !noundef !3 | |
%265 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 5 | |
%266 = getelementptr inbounds { ptr, ptr }, ptr %265, i32 0, i32 0 | |
store ptr %262, ptr %266, align 8 | |
%267 = getelementptr inbounds { ptr, ptr }, ptr %265, i32 0, i32 1 | |
store ptr %264, ptr %267, align 8 | |
%268 = getelementptr inbounds { ptr, ptr }, ptr %33, i32 0, i32 0 | |
%269 = load ptr, ptr %268, align 8, !nonnull !3, !align !4, !noundef !3 | |
%270 = getelementptr inbounds { ptr, ptr }, ptr %33, i32 0, i32 1 | |
%271 = load ptr, ptr %270, align 8, !nonnull !3, !noundef !3 | |
%272 = getelementptr inbounds [7 x { ptr, ptr }], ptr %40, i64 0, i64 6 | |
%273 = getelementptr inbounds { ptr, ptr }, ptr %272, i32 0, i32 0 | |
store ptr %269, ptr %273, align 8 | |
%274 = getelementptr inbounds { ptr, ptr }, ptr %272, i32 0, i32 1 | |
store ptr %271, ptr %274, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %33) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %34) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %35) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %36) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %37) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %38) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %39) | |
call void @llvm.lifetime.start.p0(i64 392, ptr %31) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %30) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %29) | |
store i64 2, ptr %29, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %28) | |
store i64 2, ptr %28, align 8 | |
%275 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 2 | |
store i64 0, ptr %275, align 8 | |
%276 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 3 | |
store i32 32, ptr %276, align 8 | |
%277 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 5 | |
store i8 3, ptr %277, align 8 | |
%278 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 4 | |
store i32 0, ptr %278, align 4 | |
%279 = getelementptr inbounds { i64, i64 }, ptr %29, i32 0, i32 0 | |
%280 = load i64, ptr %279, align 8, !range !13, !noundef !3 | |
%281 = getelementptr inbounds { i64, i64 }, ptr %29, i32 0, i32 1 | |
%282 = load i64, ptr %281, align 8 | |
%283 = getelementptr inbounds { i64, i64 }, ptr %30, i32 0, i32 0 | |
store i64 %280, ptr %283, align 8 | |
%284 = getelementptr inbounds { i64, i64 }, ptr %30, i32 0, i32 1 | |
store i64 %282, ptr %284, align 8 | |
%285 = getelementptr inbounds { i64, i64 }, ptr %28, i32 0, i32 0 | |
%286 = load i64, ptr %285, align 8, !range !13, !noundef !3 | |
%287 = getelementptr inbounds { i64, i64 }, ptr %28, i32 0, i32 1 | |
%288 = load i64, ptr %287, align 8 | |
%289 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %30, i32 0, i32 1 | |
%290 = getelementptr inbounds { i64, i64 }, ptr %289, i32 0, i32 0 | |
store i64 %286, ptr %290, align 8 | |
%291 = getelementptr inbounds { i64, i64 }, ptr %289, i32 0, i32 1 | |
store i64 %288, ptr %291, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %28) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %29) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %27) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %26) | |
%292 = getelementptr inbounds { i64, i64 }, ptr %26, i32 0, i32 1 | |
store i64 1, ptr %292, align 8 | |
store i64 0, ptr %26, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %25) | |
%293 = getelementptr inbounds { i64, i64 }, ptr %25, i32 0, i32 1 | |
store i64 5, ptr %293, align 8 | |
store i64 0, ptr %25, align 8 | |
%294 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 2 | |
store i64 1, ptr %294, align 8 | |
%295 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 3 | |
store i32 32, ptr %295, align 8 | |
%296 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 5 | |
store i8 3, ptr %296, align 8 | |
%297 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 4 | |
store i32 0, ptr %297, align 4 | |
%298 = getelementptr inbounds { i64, i64 }, ptr %26, i32 0, i32 0 | |
%299 = load i64, ptr %298, align 8, !range !13, !noundef !3 | |
%300 = getelementptr inbounds { i64, i64 }, ptr %26, i32 0, i32 1 | |
%301 = load i64, ptr %300, align 8 | |
%302 = getelementptr inbounds { i64, i64 }, ptr %27, i32 0, i32 0 | |
store i64 %299, ptr %302, align 8 | |
%303 = getelementptr inbounds { i64, i64 }, ptr %27, i32 0, i32 1 | |
store i64 %301, ptr %303, align 8 | |
%304 = getelementptr inbounds { i64, i64 }, ptr %25, i32 0, i32 0 | |
%305 = load i64, ptr %304, align 8, !range !13, !noundef !3 | |
%306 = getelementptr inbounds { i64, i64 }, ptr %25, i32 0, i32 1 | |
%307 = load i64, ptr %306, align 8 | |
%308 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %27, i32 0, i32 1 | |
%309 = getelementptr inbounds { i64, i64 }, ptr %308, i32 0, i32 0 | |
store i64 %305, ptr %309, align 8 | |
%310 = getelementptr inbounds { i64, i64 }, ptr %308, i32 0, i32 1 | |
store i64 %307, ptr %310, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %25) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %26) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %24) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %23) | |
%311 = getelementptr inbounds { i64, i64 }, ptr %23, i32 0, i32 1 | |
store i64 1, ptr %311, align 8 | |
store i64 0, ptr %23, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %22) | |
%312 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 1 | |
store i64 5, ptr %312, align 8 | |
store i64 0, ptr %22, align 8 | |
%313 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 2 | |
store i64 2, ptr %313, align 8 | |
%314 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 3 | |
store i32 32, ptr %314, align 8 | |
%315 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 5 | |
store i8 3, ptr %315, align 8 | |
%316 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 4 | |
store i32 0, ptr %316, align 4 | |
%317 = getelementptr inbounds { i64, i64 }, ptr %23, i32 0, i32 0 | |
%318 = load i64, ptr %317, align 8, !range !13, !noundef !3 | |
%319 = getelementptr inbounds { i64, i64 }, ptr %23, i32 0, i32 1 | |
%320 = load i64, ptr %319, align 8 | |
%321 = getelementptr inbounds { i64, i64 }, ptr %24, i32 0, i32 0 | |
store i64 %318, ptr %321, align 8 | |
%322 = getelementptr inbounds { i64, i64 }, ptr %24, i32 0, i32 1 | |
store i64 %320, ptr %322, align 8 | |
%323 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 0 | |
%324 = load i64, ptr %323, align 8, !range !13, !noundef !3 | |
%325 = getelementptr inbounds { i64, i64 }, ptr %22, i32 0, i32 1 | |
%326 = load i64, ptr %325, align 8 | |
%327 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %24, i32 0, i32 1 | |
%328 = getelementptr inbounds { i64, i64 }, ptr %327, i32 0, i32 0 | |
store i64 %324, ptr %328, align 8 | |
%329 = getelementptr inbounds { i64, i64 }, ptr %327, i32 0, i32 1 | |
store i64 %326, ptr %329, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %22) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %23) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %21) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %20) | |
%330 = getelementptr inbounds { i64, i64 }, ptr %20, i32 0, i32 1 | |
store i64 1, ptr %330, align 8 | |
store i64 0, ptr %20, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %19) | |
%331 = getelementptr inbounds { i64, i64 }, ptr %19, i32 0, i32 1 | |
store i64 5, ptr %331, align 8 | |
store i64 0, ptr %19, align 8 | |
%332 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 2 | |
store i64 3, ptr %332, align 8 | |
%333 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 3 | |
store i32 32, ptr %333, align 8 | |
%334 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 5 | |
store i8 3, ptr %334, align 8 | |
%335 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 4 | |
store i32 0, ptr %335, align 4 | |
%336 = getelementptr inbounds { i64, i64 }, ptr %20, i32 0, i32 0 | |
%337 = load i64, ptr %336, align 8, !range !13, !noundef !3 | |
%338 = getelementptr inbounds { i64, i64 }, ptr %20, i32 0, i32 1 | |
%339 = load i64, ptr %338, align 8 | |
%340 = getelementptr inbounds { i64, i64 }, ptr %21, i32 0, i32 0 | |
store i64 %337, ptr %340, align 8 | |
%341 = getelementptr inbounds { i64, i64 }, ptr %21, i32 0, i32 1 | |
store i64 %339, ptr %341, align 8 | |
%342 = getelementptr inbounds { i64, i64 }, ptr %19, i32 0, i32 0 | |
%343 = load i64, ptr %342, align 8, !range !13, !noundef !3 | |
%344 = getelementptr inbounds { i64, i64 }, ptr %19, i32 0, i32 1 | |
%345 = load i64, ptr %344, align 8 | |
%346 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %21, i32 0, i32 1 | |
%347 = getelementptr inbounds { i64, i64 }, ptr %346, i32 0, i32 0 | |
store i64 %343, ptr %347, align 8 | |
%348 = getelementptr inbounds { i64, i64 }, ptr %346, i32 0, i32 1 | |
store i64 %345, ptr %348, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %19) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %20) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %18) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %17) | |
%349 = getelementptr inbounds { i64, i64 }, ptr %17, i32 0, i32 1 | |
store i64 1, ptr %349, align 8 | |
store i64 0, ptr %17, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %16) | |
%350 = getelementptr inbounds { i64, i64 }, ptr %16, i32 0, i32 1 | |
store i64 5, ptr %350, align 8 | |
store i64 0, ptr %16, align 8 | |
%351 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 2 | |
store i64 4, ptr %351, align 8 | |
%352 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 3 | |
store i32 32, ptr %352, align 8 | |
%353 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 5 | |
store i8 3, ptr %353, align 8 | |
%354 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 4 | |
store i32 0, ptr %354, align 4 | |
%355 = getelementptr inbounds { i64, i64 }, ptr %17, i32 0, i32 0 | |
%356 = load i64, ptr %355, align 8, !range !13, !noundef !3 | |
%357 = getelementptr inbounds { i64, i64 }, ptr %17, i32 0, i32 1 | |
%358 = load i64, ptr %357, align 8 | |
%359 = getelementptr inbounds { i64, i64 }, ptr %18, i32 0, i32 0 | |
store i64 %356, ptr %359, align 8 | |
%360 = getelementptr inbounds { i64, i64 }, ptr %18, i32 0, i32 1 | |
store i64 %358, ptr %360, align 8 | |
%361 = getelementptr inbounds { i64, i64 }, ptr %16, i32 0, i32 0 | |
%362 = load i64, ptr %361, align 8, !range !13, !noundef !3 | |
%363 = getelementptr inbounds { i64, i64 }, ptr %16, i32 0, i32 1 | |
%364 = load i64, ptr %363, align 8 | |
%365 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %18, i32 0, i32 1 | |
%366 = getelementptr inbounds { i64, i64 }, ptr %365, i32 0, i32 0 | |
store i64 %362, ptr %366, align 8 | |
%367 = getelementptr inbounds { i64, i64 }, ptr %365, i32 0, i32 1 | |
store i64 %364, ptr %367, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %16) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %17) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %14) | |
%368 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 1 | |
store i64 1, ptr %368, align 8 | |
store i64 0, ptr %14, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %13) | |
store i64 2, ptr %13, align 8 | |
%369 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 2 | |
store i64 5, ptr %369, align 8 | |
%370 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 3 | |
store i32 32, ptr %370, align 8 | |
%371 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 5 | |
store i8 3, ptr %371, align 8 | |
%372 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 4 | |
store i32 0, ptr %372, align 4 | |
%373 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 0 | |
%374 = load i64, ptr %373, align 8, !range !13, !noundef !3 | |
%375 = getelementptr inbounds { i64, i64 }, ptr %14, i32 0, i32 1 | |
%376 = load i64, ptr %375, align 8 | |
%377 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 0 | |
store i64 %374, ptr %377, align 8 | |
%378 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 1 | |
store i64 %376, ptr %378, align 8 | |
%379 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 0 | |
%380 = load i64, ptr %379, align 8, !range !13, !noundef !3 | |
%381 = getelementptr inbounds { i64, i64 }, ptr %13, i32 0, i32 1 | |
%382 = load i64, ptr %381, align 8 | |
%383 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %15, i32 0, i32 1 | |
%384 = getelementptr inbounds { i64, i64 }, ptr %383, i32 0, i32 0 | |
store i64 %380, ptr %384, align 8 | |
%385 = getelementptr inbounds { i64, i64 }, ptr %383, i32 0, i32 1 | |
store i64 %382, ptr %385, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %13) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %14) | |
call void @llvm.lifetime.start.p0(i64 56, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %11) | |
store i64 2, ptr %11, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %10) | |
store i64 2, ptr %10, align 8 | |
%386 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 2 | |
store i64 6, ptr %386, align 8 | |
%387 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 3 | |
store i32 32, ptr %387, align 8 | |
%388 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 5 | |
store i8 3, ptr %388, align 8 | |
%389 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 4 | |
store i32 0, ptr %389, align 4 | |
%390 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 0 | |
%391 = load i64, ptr %390, align 8, !range !13, !noundef !3 | |
%392 = getelementptr inbounds { i64, i64 }, ptr %11, i32 0, i32 1 | |
%393 = load i64, ptr %392, align 8 | |
%394 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 0 | |
store i64 %391, ptr %394, align 8 | |
%395 = getelementptr inbounds { i64, i64 }, ptr %12, i32 0, i32 1 | |
store i64 %393, ptr %395, align 8 | |
%396 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 0 | |
%397 = load i64, ptr %396, align 8, !range !13, !noundef !3 | |
%398 = getelementptr inbounds { i64, i64 }, ptr %10, i32 0, i32 1 | |
%399 = load i64, ptr %398, align 8 | |
%400 = getelementptr inbounds { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }, ptr %12, i32 0, i32 1 | |
%401 = getelementptr inbounds { i64, i64 }, ptr %400, i32 0, i32 0 | |
store i64 %397, ptr %401, align 8 | |
%402 = getelementptr inbounds { i64, i64 }, ptr %400, i32 0, i32 1 | |
store i64 %399, ptr %402, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %11) | |
%403 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 0 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %403, ptr align 8 %30, i64 56, i1 false) | |
%404 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %404, ptr align 8 %27, i64 56, i1 false) | |
%405 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %405, ptr align 8 %24, i64 56, i1 false) | |
%406 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %406, ptr align 8 %21, i64 56, i1 false) | |
%407 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 4 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %407, ptr align 8 %18, i64 56, i1 false) | |
%408 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 5 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %408, ptr align 8 %15, i64 56, i1 false) | |
%409 = getelementptr inbounds [7 x { { i64, i64 }, { i64, i64 }, i64, i32, i32, i8, [7 x i8] }], ptr %31, i64 0, i64 6 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %409, ptr align 8 %12, i64 56, i1 false) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %12) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %15) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %18) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %21) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %24) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %27) | |
call void @llvm.lifetime.end.p0(i64 56, ptr %30) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%410 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
store ptr %31, ptr %410, align 8 | |
%411 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
store i64 7, ptr %411, align 8 | |
%412 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 0 | |
store ptr @57, ptr %412, align 8 | |
%413 = getelementptr inbounds { ptr, i64 }, ptr %41, i32 0, i32 1 | |
store i64 7, ptr %413, align 8 | |
%414 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 0 | |
%415 = load ptr, ptr %414, align 8, !align !5, !noundef !3 | |
%416 = getelementptr inbounds { ptr, i64 }, ptr %6, i32 0, i32 1 | |
%417 = load i64, ptr %416, align 8 | |
%418 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %41, i32 0, i32 2 | |
%419 = getelementptr inbounds { ptr, i64 }, ptr %418, i32 0, i32 0 | |
store ptr %415, ptr %419, align 8 | |
%420 = getelementptr inbounds { ptr, i64 }, ptr %418, i32 0, i32 1 | |
store i64 %417, ptr %420, align 8 | |
%421 = getelementptr inbounds { { ptr, i64 }, { ptr, i64 }, { ptr, i64 } }, ptr %41, i32 0, i32 1 | |
%422 = getelementptr inbounds { ptr, i64 }, ptr %421, i32 0, i32 0 | |
store ptr %40, ptr %422, align 8 | |
%423 = getelementptr inbounds { ptr, i64 }, ptr %421, i32 0, i32 1 | |
store i64 7, ptr %423, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
%424 = load i64, ptr %46, align 8, !range !17, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %9) | |
store ptr null, ptr %9, align 8 | |
%425 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
%426 = load ptr, ptr %425, align 8, !align !5, !noundef !3 | |
%427 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
%428 = load i64, ptr %427, align 8 | |
call void @_ZN3log13__private_api3log17h14c5446dccc97c91E(ptr noalias nocapture noundef readonly align 8 dereferenceable(48) %41, i64 noundef %424, ptr noalias noundef readonly align 8 dereferenceable(48) @61, i32 noundef 224, ptr noalias noundef readonly align 8 %426, i64 %428) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %9) | |
call void @llvm.lifetime.end.p0(i64 48, ptr %41) | |
call void @llvm.lifetime.end.p0(i64 392, ptr %31) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %32) | |
call void @llvm.lifetime.end.p0(i64 112, ptr %40) | |
br label %197 | |
429: ; preds = %446, %197 | |
%430 = load i8, ptr %48, align 1, !range !9, !noundef !3 | |
%431 = trunc i8 %430 to i1 | |
%432 = zext i1 %431 to i8 | |
store i8 %432, ptr %54, align 1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %48) | |
call void @llvm.lifetime.end.p0(i64 40, ptr %50) | |
br label %447 | |
433: ; preds = %197 | |
%434 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%435 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %434, i32 0, i32 1 | |
%436 = load i64, ptr %435, align 8, !noundef !3 | |
%437 = icmp eq i64 %436, 0 | |
br i1 %437, label %438, label %439 | |
438: ; preds = %433 | |
br label %446 | |
439: ; preds = %433 | |
%440 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%441 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %440, i32 0, i32 1 | |
%442 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
%443 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %442, i32 0, i32 1 | |
%444 = load i64, ptr %443, align 8, !noundef !3 | |
%445 = sub i64 %444, 1 | |
store i64 %445, ptr %441, align 8 | |
br label %446 | |
446: ; preds = %439, %438 | |
br label %429 | |
447: ; preds = %455, %429, %69 | |
%448 = load i8, ptr %54, align 1, !range !9, !noundef !3 | |
%449 = trunc i8 %448 to i1 | |
ret i1 %449 | |
450: ; preds = %74 | |
%451 = load i8, ptr %53, align 1, !range !9, !noundef !3 | |
%452 = trunc i8 %451 to i1 | |
br i1 %452, label %454, label %453 | |
453: ; preds = %450, %74 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %53) | |
store i8 0, ptr %54, align 1 | |
br label %455 | |
454: ; preds = %450 | |
store i8 1, ptr %54, align 1 | |
call void @llvm.lifetime.end.p0(i64 1, ptr %53) | |
br label %455 | |
455: ; preds = %454, %453 | |
br label %447 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$22initialize_score_deque17h452ef4b0c21270caE"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) unnamed_addr #1 { | |
%6 = alloca { i64, i64 }, align 8 | |
%7 = alloca { i64, i64 }, align 8 | |
%8 = alloca { i64, i64 }, align 8 | |
store i64 0, ptr %8, align 8 | |
%9 = getelementptr inbounds { i64, i64 }, ptr %8, i32 0, i32 1 | |
store i64 %4, ptr %9, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
%10 = getelementptr inbounds { i64, i64 }, ptr %8, i32 0, i32 0 | |
%11 = load i64, ptr %10, align 8, !noundef !3 | |
%12 = getelementptr inbounds { i64, i64 }, ptr %8, i32 0, i32 1 | |
%13 = load i64, ptr %12, align 8, !noundef !3 | |
%14 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 0 | |
store i64 %11, ptr %14, align 8 | |
%15 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
br label %16 | |
16: ; preds = %43, %5 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%17 = load i64, ptr %7, align 8, !noundef !3 | |
%18 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = icmp ult i64 %17, %19 | |
br i1 %20, label %22, label %21 | |
21: ; preds = %16 | |
store i64 0, ptr %6, align 8 | |
br label %26 | |
22: ; preds = %16 | |
%23 = load i64, ptr %7, align 8, !noundef !3 | |
%24 = call noundef i64 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h70ee56afff9bf27fE"(i64 noundef %23, i64 noundef 1) #13 | |
store i64 %24, ptr %7, align 8 | |
%25 = getelementptr inbounds { i64, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %23, ptr %25, align 8 | |
store i64 1, ptr %6, align 8 | |
br label %26 | |
26: ; preds = %22, %21 | |
%27 = load i64, ptr %6, align 8, !range !7, !noundef !3 | |
switch i64 %27, label %28 [ | |
i64 0, label %29 | |
i64 1, label %30 | |
] | |
28: ; preds = %26 | |
unreachable | |
29: ; preds = %26 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
ret void | |
30: ; preds = %26 | |
%31 = getelementptr inbounds { i64, i64 }, ptr %6, i32 0, i32 1 | |
%32 = load i64, ptr %31, align 8, !noundef !3 | |
%33 = icmp ult i64 %32, %2 | |
%34 = call i1 @llvm.expect.i1(i1 %33, i1 true) | |
br i1 %34, label %35, label %42 | |
35: ; preds = %30 | |
%36 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %32 | |
%37 = load ptr, ptr %36, align 8, !nonnull !3, !align !5, !noundef !3 | |
%38 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %37) #13 | |
%39 = add i64 %32, 1 | |
%40 = icmp ult i64 %39, %2 | |
%41 = call i1 @llvm.expect.i1(i1 %40, i1 true) | |
br i1 %41, label %43, label %48 | |
42: ; preds = %30 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %32, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @62) #14 | |
unreachable | |
43: ; preds = %35 | |
%44 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %39 | |
%45 = load ptr, ptr %44, align 8, !nonnull !3, !align !5, !noundef !3 | |
%46 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %45) #13 | |
%47 = add i64 %3, %32 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison17ha95ba896c5319333E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %38, ptr noundef nonnull %46, i64 noundef %47) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %16 | |
48: ; preds = %35 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %39, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @63) #14 | |
unreachable | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$22initialize_score_deque17h76414c413989f063E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noalias noundef nonnull readonly align 8 %1, i64 noundef %2, i64 noundef %3, i64 noundef %4) unnamed_addr #1 { | |
%6 = alloca { i64, i64 }, align 8 | |
%7 = alloca { i64, i64 }, align 8 | |
%8 = alloca { i64, i64 }, align 8 | |
store i64 0, ptr %8, align 8 | |
%9 = getelementptr inbounds { i64, i64 }, ptr %8, i32 0, i32 1 | |
store i64 %4, ptr %9, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
%10 = getelementptr inbounds { i64, i64 }, ptr %8, i32 0, i32 0 | |
%11 = load i64, ptr %10, align 8, !noundef !3 | |
%12 = getelementptr inbounds { i64, i64 }, ptr %8, i32 0, i32 1 | |
%13 = load i64, ptr %12, align 8, !noundef !3 | |
%14 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 0 | |
store i64 %11, ptr %14, align 8 | |
%15 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
store i64 %13, ptr %15, align 8 | |
br label %16 | |
16: ; preds = %43, %5 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %6) | |
%17 = load i64, ptr %7, align 8, !noundef !3 | |
%18 = getelementptr inbounds { i64, i64 }, ptr %7, i32 0, i32 1 | |
%19 = load i64, ptr %18, align 8, !noundef !3 | |
%20 = icmp ult i64 %17, %19 | |
br i1 %20, label %22, label %21 | |
21: ; preds = %16 | |
store i64 0, ptr %6, align 8 | |
br label %26 | |
22: ; preds = %16 | |
%23 = load i64, ptr %7, align 8, !noundef !3 | |
%24 = call noundef i64 @"_ZN49_$LT$usize$u20$as$u20$core..iter..range..Step$GT$17forward_unchecked17h70ee56afff9bf27fE"(i64 noundef %23, i64 noundef 1) #13 | |
store i64 %24, ptr %7, align 8 | |
%25 = getelementptr inbounds { i64, i64 }, ptr %6, i32 0, i32 1 | |
store i64 %23, ptr %25, align 8 | |
store i64 1, ptr %6, align 8 | |
br label %26 | |
26: ; preds = %22, %21 | |
%27 = load i64, ptr %6, align 8, !range !7, !noundef !3 | |
switch i64 %27, label %28 [ | |
i64 0, label %29 | |
i64 1, label %30 | |
] | |
28: ; preds = %26 | |
unreachable | |
29: ; preds = %26 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
ret void | |
30: ; preds = %26 | |
%31 = getelementptr inbounds { i64, i64 }, ptr %6, i32 0, i32 1 | |
%32 = load i64, ptr %31, align 8, !noundef !3 | |
%33 = icmp ult i64 %32, %2 | |
%34 = call i1 @llvm.expect.i1(i1 %33, i1 true) | |
br i1 %34, label %35, label %42 | |
35: ; preds = %30 | |
%36 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %32 | |
%37 = load ptr, ptr %36, align 8, !nonnull !3, !align !5, !noundef !3 | |
%38 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4f2086cacc5a5da1E"(ptr noalias noundef readonly align 8 dereferenceable(8) %37) #13 | |
%39 = add i64 %32, 1 | |
%40 = icmp ult i64 %39, %2 | |
%41 = call i1 @llvm.expect.i1(i1 %40, i1 true) | |
br i1 %41, label %43, label %48 | |
42: ; preds = %30 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %32, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @62) #14 | |
unreachable | |
43: ; preds = %35 | |
%44 = getelementptr inbounds [0 x ptr], ptr %1, i64 0, i64 %39 | |
%45 = load ptr, ptr %44, align 8, !nonnull !3, !align !5, !noundef !3 | |
%46 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4f2086cacc5a5da1E"(ptr noalias noundef readonly align 8 dereferenceable(8) %45) #13 | |
%47 = add i64 %3, %32 | |
call void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$14run_comparison17he4d76d8ce82d7934E"(ptr noalias noundef align 8 dereferenceable(704) %0, ptr noundef nonnull %38, ptr noundef nonnull %46, i64 noundef %47) #13 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %6) | |
br label %16 | |
48: ; preds = %35 | |
call void @_ZN4core9panicking18panic_bounds_check17hfa2a7f0168fa7dcaE(i64 noundef %39, i64 noundef %2, ptr noalias noundef readonly align 8 dereferenceable(24) @63) #14 | |
unreachable | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef i8 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$24handle_min_max_intervals17h2b525f6b09074824E"(ptr noalias noundef align 8 dereferenceable(704) %0, i64 noundef %1) unnamed_addr #1 { | |
%3 = alloca i8, align 1 | |
%4 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %0, i32 0, i32 8 | |
%5 = load i64, ptr %4, align 8, !noundef !3 | |
%6 = icmp ult i64 %1, %5 | |
br i1 %6, label %11, label %7 | |
7: ; preds = %2 | |
%8 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp uge i64 %1, %9 | |
br i1 %10, label %13, label %12 | |
11: ; preds = %2 | |
store i8 0, ptr %3, align 1 | |
br label %14 | |
12: ; preds = %7 | |
store i8 2, ptr %3, align 1 | |
br label %14 | |
13: ; preds = %7 | |
store i8 1, ptr %3, align 1 | |
br label %14 | |
14: ; preds = %13, %12, %11 | |
%15 = load i8, ptr %3, align 1, !range !11, !noundef !3 | |
ret i8 %15 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal noundef i8 @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$24handle_min_max_intervals17h52ee3589505ca52aE"(ptr noalias noundef align 8 dereferenceable(704) %0, i64 noundef %1) unnamed_addr #1 { | |
%3 = alloca i8, align 1 | |
%4 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %0, i32 0, i32 8 | |
%5 = load i64, ptr %4, align 8, !noundef !3 | |
%6 = icmp ult i64 %1, %5 | |
br i1 %6, label %11, label %7 | |
7: ; preds = %2 | |
%8 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
%9 = load i64, ptr %8, align 8, !noundef !3 | |
%10 = icmp uge i64 %1, %9 | |
br i1 %10, label %13, label %12 | |
11: ; preds = %2 | |
store i8 0, ptr %3, align 1 | |
br label %14 | |
12: ; preds = %7 | |
store i8 2, ptr %3, align 1 | |
br label %14 | |
13: ; preds = %7 | |
store i8 1, ptr %3, align 1 | |
br label %14 | |
14: ; preds = %13, %12, %11 | |
%15 = load i8, ptr %3, align 1, !range !11, !noundef !3 | |
ret i8 %15 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$3new17hf62c77e4f5020257E"(ptr noalias nocapture noundef sret({ {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }) align 8 dereferenceable(704) %0, ptr noalias nocapture noundef readonly align 8 dereferenceable(256) %1, i64 noundef %2, ptr noundef nonnull %3) unnamed_addr #1 { | |
%5 = alloca i64, align 8 | |
%6 = alloca i64, align 8 | |
%7 = alloca { ptr, i64 }, align 8 | |
%8 = alloca { ptr, [11 x i64] }, align 8 | |
%9 = alloca { { {} }, {}, { ptr, i64 }, i64 }, align 8 | |
%10 = alloca { ptr, [1 x i64] }, align 8 | |
%11 = alloca { [192 x i8], i8, [7 x i8] }, align 8 | |
%12 = alloca { ptr, [2 x i64] }, align 8 | |
%13 = alloca i64, align 8 | |
%14 = alloca ptr, align 8 | |
%15 = alloca { i64, i64 }, align 8 | |
%16 = alloca i64, align 8 | |
%17 = alloca { { ptr, i64 }, i64 }, align 8 | |
%18 = alloca i64, align 8 | |
%19 = alloca { ptr, [2 x i64] }, align 8 | |
%20 = alloca i8, align 1 | |
%21 = alloca ptr, align 8 | |
store ptr %3, ptr %21, align 8 | |
%22 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %20) | |
%24 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 27 | |
%25 = load i8, ptr %24, align 1, !range !9, !noundef !3 | |
%26 = trunc i8 %25 to i1 | |
br i1 %26, label %31, label %27 | |
27: ; preds = %4 | |
%28 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 1 | |
%29 = getelementptr inbounds { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, ptr %28, i32 0, i32 1 | |
%30 = load i8, ptr %29, align 8, !range !11, !noundef !3 | |
store i8 %30, ptr %20, align 1 | |
br label %32 | |
31: ; preds = %4 | |
store i8 0, ptr %20, align 1 | |
br label %32 | |
32: ; preds = %31, %27 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %19) | |
%33 = load i8, ptr %20, align 1, !range !11, !noundef !3 | |
call void @_ZN5rav1e11scenechange4fast19detect_scale_factor17h3135eb5fedfc57b9E(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %19, ptr noalias noundef readonly align 8 dereferenceable(8) %21, i8 noundef %33) #13 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %18) | |
%34 = icmp uge i64 %2, 5 | |
br i1 %34, label %36, label %35 | |
35: ; preds = %32 | |
store i64 0, ptr %18, align 8 | |
br label %37 | |
36: ; preds = %32 | |
store i64 5, ptr %18, align 8 | |
br label %37 | |
37: ; preds = %36, %35 | |
%38 = load i64, ptr %18, align 8, !noundef !3 | |
%39 = add i64 5, %2 | |
%40 = call { ptr, i64 } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hb35a7bafed116552E"(i64 noundef %39, i1 noundef zeroext false) #13 | |
%41 = extractvalue { ptr, i64 } %40, 0 | |
%42 = extractvalue { ptr, i64 } %40, 1 | |
%43 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 0 | |
store ptr %41, ptr %43, align 8 | |
%44 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 1 | |
store i64 %42, ptr %44, align 8 | |
%45 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %17, i32 0, i32 1 | |
store i64 0, ptr %45, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %16) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %14) | |
%46 = load ptr, ptr %19, align 8, !noundef !3 | |
%47 = ptrtoint ptr %46 to i64 | |
%48 = icmp eq i64 %47, 0 | |
%49 = select i1 %48, i64 0, i64 1 | |
switch i64 %49, label %50 [ | |
i64 0, label %51 | |
i64 1, label %52 | |
] | |
50: ; preds = %115, %77, %64, %53, %37 | |
unreachable | |
51: ; preds = %37 | |
store ptr null, ptr %14, align 8 | |
br label %53 | |
52: ; preds = %37 | |
store ptr %19, ptr %14, align 8 | |
br label %53 | |
53: ; preds = %52, %51 | |
%54 = load ptr, ptr %14, align 8, !noundef !3 | |
%55 = ptrtoint ptr %54 to i64 | |
%56 = icmp eq i64 %55, 0 | |
%57 = select i1 %56, i64 0, i64 1 | |
switch i64 %57, label %50 [ | |
i64 0, label %58 | |
i64 1, label %59 | |
] | |
58: ; preds = %53 | |
store i64 0, ptr %15, align 8 | |
br label %64 | |
59: ; preds = %53 | |
%60 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%61 = getelementptr inbounds { ptr, ptr, i64 }, ptr %60, i32 0, i32 2 | |
%62 = load i64, ptr %61, align 8, !noundef !3 | |
%63 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 1 | |
store i64 %62, ptr %63, align 8 | |
store i64 1, ptr %15, align 8 | |
br label %64 | |
64: ; preds = %59, %58 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %14) | |
%65 = load i64, ptr %15, align 8, !range !7, !noundef !3 | |
switch i64 %65, label %50 [ | |
i64 0, label %66 | |
i64 1, label %67 | |
] | |
66: ; preds = %64 | |
store i64 1, ptr %16, align 8 | |
br label %70 | |
67: ; preds = %64 | |
%68 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 1 | |
%69 = load i64, ptr %68, align 8, !noundef !3 | |
store i64 %69, ptr %16, align 8 | |
br label %70 | |
70: ; preds = %67, %66 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %13) | |
%71 = load i8, ptr %20, align 1, !range !11, !noundef !3 | |
%72 = zext i8 %71 to i64 | |
%73 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%74 = zext i8 %73 to i64 | |
%75 = icmp eq i64 %72, %74 | |
br i1 %75, label %77, label %76 | |
76: ; preds = %70 | |
store i64 1, ptr %13, align 8 | |
br label %85 | |
77: ; preds = %70 | |
%78 = load ptr, ptr %21, align 8, !nonnull !3, !noundef !3 | |
%79 = getelementptr inbounds { { i64 }, { i64 }, { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] } }, ptr %78, i32 0, i32 2 | |
%80 = getelementptr inbounds { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] }, ptr %79, i32 0, i32 10 | |
%81 = load i32, ptr %80, align 4, !noundef !3 | |
%82 = zext i32 %81 to i64 | |
%83 = load i64, ptr %16, align 8, !noundef !3 | |
%84 = icmp eq i64 %83, 0 | |
br i1 %84, label %50, label %115 | |
85: ; preds = %129, %76 | |
%86 = uitofp i64 %23 to double | |
%87 = fmul double 1.800000e+01, %86 | |
%88 = fdiv double %87, 8.000000e+00 | |
%89 = load i8, ptr %20, align 1, !range !11, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %12) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %19, i64 24, i1 false) | |
call void @llvm.lifetime.start.p0(i64 200, ptr %11) | |
%90 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %11, i32 0, i32 1 | |
store i8 2, ptr %90, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %10) | |
store ptr null, ptr %10, align 8 | |
%91 = load i64, ptr %18, align 8, !noundef !3 | |
%92 = load i64, ptr %13, align 8, !noundef !3 | |
%93 = load ptr, ptr %21, align 8, !nonnull !3, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
store ptr null, ptr %7, align 8 | |
%94 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%95 = load ptr, ptr %94, align 8, !noundef !3 | |
%96 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%97 = load i64, ptr %96, align 8 | |
%98 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
store ptr %95, ptr %98, align 8 | |
%99 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
store i64 %97, ptr %99, align 8 | |
%100 = getelementptr inbounds { { {} }, {}, { ptr, i64 }, i64 }, ptr %9, i32 0, i32 3 | |
store i64 0, ptr %100, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %8) | |
store ptr null, ptr %8, align 8 | |
%101 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 5 | |
store double %88, ptr %101, align 8 | |
%102 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 15 | |
store i8 %89, ptr %102, align 8 | |
%103 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 6 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %103, ptr align 8 %12, i64 24, i1 false) | |
%104 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %104, ptr align 8 %11, i64 200, i1 false) | |
%105 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 7 | |
store ptr null, ptr %105, align 8 | |
%106 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %106, ptr align 8 %10, i64 16, i1 false) | |
%107 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
store i64 %91, ptr %107, align 8 | |
%108 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
store i64 %38, ptr %108, align 8 | |
%109 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %109, ptr align 8 %17, i64 24, i1 false) | |
%110 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 11 | |
store i64 %92, ptr %110, align 8 | |
%111 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 12 | |
store i64 %23, ptr %111, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %1, i64 256, i1 false) | |
%112 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 4 | |
store ptr %93, ptr %112, align 8 | |
%113 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 13 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %113, ptr align 8 %9, i64 24, i1 false) | |
%114 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 14 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %114, ptr align 8 %8, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %8) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %9) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
call void @llvm.lifetime.end.p0(i64 200, ptr %11) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %12) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %13) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %16) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %18) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %19) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %20) | |
ret void | |
115: ; preds = %77 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
%116 = call i64 @llvm.cttz.i64(i64 %83, i1 false) | |
store i64 %116, ptr %6, align 8 | |
%117 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
%118 = trunc i64 %117 to i32 | |
%119 = zext i32 %118 to i64 | |
%120 = and i64 %119, 63 | |
%121 = lshr i64 %82, %120 | |
%122 = load ptr, ptr %21, align 8, !nonnull !3, !noundef !3 | |
%123 = getelementptr inbounds { { i64 }, { i64 }, { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] } }, ptr %122, i32 0, i32 2 | |
%124 = getelementptr inbounds { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] }, ptr %123, i32 0, i32 9 | |
%125 = load i32, ptr %124, align 8, !noundef !3 | |
%126 = zext i32 %125 to i64 | |
%127 = load i64, ptr %16, align 8, !noundef !3 | |
%128 = icmp eq i64 %127, 0 | |
br i1 %128, label %50, label %129 | |
129: ; preds = %115 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
%130 = call i64 @llvm.cttz.i64(i64 %127, i1 false) | |
store i64 %130, ptr %5, align 8 | |
%131 = load i64, ptr %5, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
%132 = trunc i64 %131 to i32 | |
%133 = zext i32 %132 to i64 | |
%134 = and i64 %133, 63 | |
%135 = lshr i64 %126, %134 | |
%136 = mul i64 %121, %135 | |
store i64 %136, ptr %13, align 8 | |
br label %85 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define hidden void @"_ZN5rav1e11scenechange28SceneChangeDetector$LT$T$GT$3new17hf92c3d5d9d4b59d3E"(ptr noalias nocapture noundef sret({ {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }) align 8 dereferenceable(704) %0, ptr noalias nocapture noundef readonly align 8 dereferenceable(256) %1, i64 noundef %2, ptr noundef nonnull %3) unnamed_addr #1 { | |
%5 = alloca i64, align 8 | |
%6 = alloca i64, align 8 | |
%7 = alloca { ptr, i64 }, align 8 | |
%8 = alloca { ptr, [11 x i64] }, align 8 | |
%9 = alloca { { {} }, {}, { ptr, i64 }, i64 }, align 8 | |
%10 = alloca { ptr, [1 x i64] }, align 8 | |
%11 = alloca { [192 x i8], i8, [7 x i8] }, align 8 | |
%12 = alloca { ptr, [2 x i64] }, align 8 | |
%13 = alloca i64, align 8 | |
%14 = alloca ptr, align 8 | |
%15 = alloca { i64, i64 }, align 8 | |
%16 = alloca i64, align 8 | |
%17 = alloca { { ptr, i64 }, i64 }, align 8 | |
%18 = alloca i64, align 8 | |
%19 = alloca { ptr, [2 x i64] }, align 8 | |
%20 = alloca i8, align 1 | |
%21 = alloca ptr, align 8 | |
store ptr %3, ptr %21, align 8 | |
%22 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%23 = load i64, ptr %22, align 8, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 1, ptr %20) | |
%24 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 27 | |
%25 = load i8, ptr %24, align 1, !range !9, !noundef !3 | |
%26 = trunc i8 %25 to i1 | |
br i1 %26, label %31, label %27 | |
27: ; preds = %4 | |
%28 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 1 | |
%29 = getelementptr inbounds { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, ptr %28, i32 0, i32 1 | |
%30 = load i8, ptr %29, align 8, !range !11, !noundef !3 | |
store i8 %30, ptr %20, align 1 | |
br label %32 | |
31: ; preds = %4 | |
store i8 0, ptr %20, align 1 | |
br label %32 | |
32: ; preds = %31, %27 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %19) | |
%33 = load i8, ptr %20, align 1, !range !11, !noundef !3 | |
call void @_ZN5rav1e11scenechange4fast19detect_scale_factor17h001abf7a2fc7d961E(ptr noalias nocapture noundef sret({ ptr, [2 x i64] }) align 8 dereferenceable(24) %19, ptr noalias noundef readonly align 8 dereferenceable(8) %21, i8 noundef %33) #13 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %18) | |
%34 = icmp uge i64 %2, 5 | |
br i1 %34, label %36, label %35 | |
35: ; preds = %32 | |
store i64 0, ptr %18, align 8 | |
br label %37 | |
36: ; preds = %32 | |
store i64 5, ptr %18, align 8 | |
br label %37 | |
37: ; preds = %36, %35 | |
%38 = load i64, ptr %18, align 8, !noundef !3 | |
%39 = add i64 5, %2 | |
%40 = call { ptr, i64 } @"_ZN5alloc7raw_vec19RawVec$LT$T$C$A$GT$11allocate_in17hb35a7bafed116552E"(i64 noundef %39, i1 noundef zeroext false) #13 | |
%41 = extractvalue { ptr, i64 } %40, 0 | |
%42 = extractvalue { ptr, i64 } %40, 1 | |
%43 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 0 | |
store ptr %41, ptr %43, align 8 | |
%44 = getelementptr inbounds { ptr, i64 }, ptr %17, i32 0, i32 1 | |
store i64 %42, ptr %44, align 8 | |
%45 = getelementptr inbounds { { ptr, i64 }, i64 }, ptr %17, i32 0, i32 1 | |
store i64 0, ptr %45, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %16) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %14) | |
%46 = load ptr, ptr %19, align 8, !noundef !3 | |
%47 = ptrtoint ptr %46 to i64 | |
%48 = icmp eq i64 %47, 0 | |
%49 = select i1 %48, i64 0, i64 1 | |
switch i64 %49, label %50 [ | |
i64 0, label %51 | |
i64 1, label %52 | |
] | |
50: ; preds = %115, %77, %64, %53, %37 | |
unreachable | |
51: ; preds = %37 | |
store ptr null, ptr %14, align 8 | |
br label %53 | |
52: ; preds = %37 | |
store ptr %19, ptr %14, align 8 | |
br label %53 | |
53: ; preds = %52, %51 | |
%54 = load ptr, ptr %14, align 8, !noundef !3 | |
%55 = ptrtoint ptr %54 to i64 | |
%56 = icmp eq i64 %55, 0 | |
%57 = select i1 %56, i64 0, i64 1 | |
switch i64 %57, label %50 [ | |
i64 0, label %58 | |
i64 1, label %59 | |
] | |
58: ; preds = %53 | |
store i64 0, ptr %15, align 8 | |
br label %64 | |
59: ; preds = %53 | |
%60 = load ptr, ptr %14, align 8, !nonnull !3, !align !5, !noundef !3 | |
%61 = getelementptr inbounds { ptr, ptr, i64 }, ptr %60, i32 0, i32 2 | |
%62 = load i64, ptr %61, align 8, !noundef !3 | |
%63 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 1 | |
store i64 %62, ptr %63, align 8 | |
store i64 1, ptr %15, align 8 | |
br label %64 | |
64: ; preds = %59, %58 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %14) | |
%65 = load i64, ptr %15, align 8, !range !7, !noundef !3 | |
switch i64 %65, label %50 [ | |
i64 0, label %66 | |
i64 1, label %67 | |
] | |
66: ; preds = %64 | |
store i64 1, ptr %16, align 8 | |
br label %70 | |
67: ; preds = %64 | |
%68 = getelementptr inbounds { i64, i64 }, ptr %15, i32 0, i32 1 | |
%69 = load i64, ptr %68, align 8, !noundef !3 | |
store i64 %69, ptr %16, align 8 | |
br label %70 | |
70: ; preds = %67, %66 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %15) | |
call void @llvm.lifetime.start.p0(i64 8, ptr %13) | |
%71 = load i8, ptr %20, align 1, !range !11, !noundef !3 | |
%72 = zext i8 %71 to i64 | |
%73 = load i8, ptr @33, align 1, !range !11, !noundef !3 | |
%74 = zext i8 %73 to i64 | |
%75 = icmp eq i64 %72, %74 | |
br i1 %75, label %77, label %76 | |
76: ; preds = %70 | |
store i64 1, ptr %13, align 8 | |
br label %85 | |
77: ; preds = %70 | |
%78 = load ptr, ptr %21, align 8, !nonnull !3, !noundef !3 | |
%79 = getelementptr inbounds { { i64 }, { i64 }, { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] } }, ptr %78, i32 0, i32 2 | |
%80 = getelementptr inbounds { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] }, ptr %79, i32 0, i32 10 | |
%81 = load i32, ptr %80, align 4, !noundef !3 | |
%82 = zext i32 %81 to i64 | |
%83 = load i64, ptr %16, align 8, !noundef !3 | |
%84 = icmp eq i64 %83, 0 | |
br i1 %84, label %50, label %115 | |
85: ; preds = %129, %76 | |
%86 = uitofp i64 %23 to double | |
%87 = fmul double 1.800000e+01, %86 | |
%88 = fdiv double %87, 8.000000e+00 | |
%89 = load i8, ptr %20, align 1, !range !11, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %12) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %19, i64 24, i1 false) | |
call void @llvm.lifetime.start.p0(i64 200, ptr %11) | |
%90 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %11, i32 0, i32 1 | |
store i8 2, ptr %90, align 8 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %10) | |
store ptr null, ptr %10, align 8 | |
%91 = load i64, ptr %18, align 8, !noundef !3 | |
%92 = load i64, ptr %13, align 8, !noundef !3 | |
%93 = load ptr, ptr %21, align 8, !nonnull !3, !noundef !3 | |
call void @llvm.lifetime.start.p0(i64 24, ptr %9) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
store ptr null, ptr %7, align 8 | |
%94 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 0 | |
%95 = load ptr, ptr %94, align 8, !noundef !3 | |
%96 = getelementptr inbounds { ptr, i64 }, ptr %7, i32 0, i32 1 | |
%97 = load i64, ptr %96, align 8 | |
%98 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 0 | |
store ptr %95, ptr %98, align 8 | |
%99 = getelementptr inbounds { ptr, i64 }, ptr %9, i32 0, i32 1 | |
store i64 %97, ptr %99, align 8 | |
%100 = getelementptr inbounds { { {} }, {}, { ptr, i64 }, i64 }, ptr %9, i32 0, i32 3 | |
store i64 0, ptr %100, align 8 | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %8) | |
store ptr null, ptr %8, align 8 | |
%101 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 5 | |
store double %88, ptr %101, align 8 | |
%102 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 15 | |
store i8 %89, ptr %102, align 8 | |
%103 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 6 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %103, ptr align 8 %12, i64 24, i1 false) | |
%104 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %104, ptr align 8 %11, i64 200, i1 false) | |
%105 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 7 | |
store ptr null, ptr %105, align 8 | |
%106 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %106, ptr align 8 %10, i64 16, i1 false) | |
%107 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 9 | |
store i64 %91, ptr %107, align 8 | |
%108 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 10 | |
store i64 %38, ptr %108, align 8 | |
%109 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 3 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %109, ptr align 8 %17, i64 24, i1 false) | |
%110 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 11 | |
store i64 %92, ptr %110, align 8 | |
%111 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 12 | |
store i64 %23, ptr %111, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %1, i64 256, i1 false) | |
%112 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 4 | |
store ptr %93, ptr %112, align 8 | |
%113 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 13 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %113, ptr align 8 %9, i64 24, i1 false) | |
%114 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %0, i32 0, i32 14 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %114, ptr align 8 %8, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %8) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %9) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %10) | |
call void @llvm.lifetime.end.p0(i64 200, ptr %11) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %12) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %13) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %16) | |
call void @llvm.lifetime.end.p0(i64 8, ptr %18) | |
call void @llvm.lifetime.end.p0(i64 24, ptr %19) | |
call void @llvm.lifetime.end.p0(i64 1, ptr %20) | |
ret void | |
115: ; preds = %77 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %6) | |
%116 = call i64 @llvm.cttz.i64(i64 %83, i1 false) | |
store i64 %116, ptr %6, align 8 | |
%117 = load i64, ptr %6, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %6) | |
%118 = trunc i64 %117 to i32 | |
%119 = zext i32 %118 to i64 | |
%120 = and i64 %119, 63 | |
%121 = lshr i64 %82, %120 | |
%122 = load ptr, ptr %21, align 8, !nonnull !3, !noundef !3 | |
%123 = getelementptr inbounds { { i64 }, { i64 }, { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] } }, ptr %122, i32 0, i32 2 | |
%124 = getelementptr inbounds { [32 x i64], [32 x i16], [32 x i8], { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 }, { i64, i64 }, i64, i64, i32, i32, i32, i32, i32, i32, i32, i32, i32, { i32, [2 x i32] }, i32, i32, { i32, [6 x i32] }, i32, { i16, [2 x i16] }, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [3 x i8] }, ptr %123, i32 0, i32 9 | |
%125 = load i32, ptr %124, align 8, !noundef !3 | |
%126 = zext i32 %125 to i64 | |
%127 = load i64, ptr %16, align 8, !noundef !3 | |
%128 = icmp eq i64 %127, 0 | |
br i1 %128, label %50, label %129 | |
129: ; preds = %115 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %5) | |
%130 = call i64 @llvm.cttz.i64(i64 %127, i1 false) | |
store i64 %130, ptr %5, align 8 | |
%131 = load i64, ptr %5, align 8, !noundef !3 | |
call void @llvm.lifetime.end.p0(i64 8, ptr %5) | |
%132 = trunc i64 %131 to i32 | |
%133 = zext i32 %132 to i64 | |
%134 = and i64 %133, 63 | |
%135 = lshr i64 %126, %134 | |
%136 = mul i64 %121, %135 | |
store i64 %136, ptr %13, align 8 | |
br label %85 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange4fast66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13fast_scenecut17h64a920f16f77f883E"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %0, ptr noalias noundef align 8 dereferenceable(704) %1, ptr noundef nonnull %2, ptr noundef nonnull %3) unnamed_addr #1 { | |
%5 = alloca i8, align 1 | |
%6 = alloca i8, align 1 | |
%7 = alloca [2 x ptr], align 8 | |
%8 = alloca { ptr, [1 x i64] }, align 8 | |
%9 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%10 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%11 = alloca [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], align 8 | |
%12 = alloca { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, align 8 | |
%13 = alloca { [192 x i8], i8, [7 x i8] }, align 8 | |
%14 = alloca ptr, align 8 | |
%15 = alloca ptr, align 8 | |
store ptr %2, ptr %15, align 8 | |
store ptr %3, ptr %14, align 8 | |
store i8 1, ptr %5, align 1 | |
store i8 1, ptr %6, align 1 | |
%16 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = ptrtoint ptr %17 to i64 | |
%19 = icmp eq i64 %18, 0 | |
%20 = select i1 %19, i64 0, i64 1 | |
%21 = icmp eq i64 %20, 1 | |
br i1 %21, label %22, label %29 | |
22: ; preds = %4 | |
%23 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%24 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %23, i32 0, i32 1 | |
%25 = load i8, ptr %24, align 8, !range !11, !noundef !3 | |
%26 = icmp eq i8 %25, 2 | |
%27 = select i1 %26, i64 0, i64 1 | |
%28 = icmp eq i64 %27, 1 | |
br i1 %28, label %36, label %41 | |
29: ; preds = %4 | |
%30 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%31 = load ptr, ptr %30, align 8, !noundef !3 | |
%32 = ptrtoint ptr %31 to i64 | |
%33 = icmp eq i64 %32, 0 | |
%34 = select i1 %33, i64 0, i64 1 | |
%35 = icmp eq i64 %34, 1 | |
br i1 %35, label %114, label %121 | |
36: ; preds = %22 | |
%37 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%38 = getelementptr inbounds { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, ptr %37, i32 0, i32 1 | |
%39 = load i8, ptr %38, align 8, !range !9, !noundef !3 | |
%40 = trunc i8 %39 to i1 | |
br i1 %40, label %76, label %59 | |
41: ; preds = %22 | |
call void @llvm.lifetime.start.p0(i64 200, ptr %13) | |
call void @llvm.lifetime.start.p0(i64 200, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 192, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %10) | |
%42 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%43 = getelementptr inbounds { ptr, ptr, i64 }, ptr %42, i32 0, i32 1 | |
%44 = load ptr, ptr %43, align 8, !nonnull !3, !noundef !3 | |
%45 = load ptr, ptr %15, align 8, !nonnull !3, !noundef !3 | |
%46 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %45, i32 0, i32 2 | |
%47 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %46, i64 0, i64 0 | |
call void %44(ptr noalias nocapture noundef sret({ { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }) align 8 dereferenceable(96) %10, ptr noalias noundef readonly align 8 dereferenceable(96) %47) #13 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %9) | |
%48 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%49 = getelementptr inbounds { ptr, ptr, i64 }, ptr %48, i32 0, i32 1 | |
%50 = load ptr, ptr %49, align 8, !nonnull !3, !noundef !3 | |
%51 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%52 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %51, i32 0, i32 2 | |
%53 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %52, i64 0, i64 0 | |
call void %50(ptr noalias nocapture noundef sret({ { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }) align 8 dereferenceable(96) %9, ptr noalias noundef readonly align 8 dereferenceable(96) %53) #13 | |
%54 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %11, i64 0, i64 0 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %54, ptr align 8 %10, i64 96, i1 false) | |
%55 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %11, i64 0, i64 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %55, ptr align 8 %9, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %9) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %10) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %11, i64 192, i1 false) | |
%56 = getelementptr inbounds { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, ptr %12, i32 0, i32 1 | |
store i8 1, ptr %56, align 8 | |
call void @llvm.lifetime.end.p0(i64 192, ptr %11) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %12, i64 200, i1 false) | |
call void @llvm.lifetime.end.p0(i64 200, ptr %12) | |
%57 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
call void @"_ZN4core3ptr116drop_in_place$LT$core..option..Option$LT$$LP$$u5b$v_frame..plane..Plane$LT$u8$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$$GT$17h0fafde64f7e5634eE"(ptr noalias noundef align 8 dereferenceable(200) %57) #13 | |
%58 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %58, ptr align 8 %13, i64 200, i1 false) | |
call void @llvm.lifetime.end.p0(i64 200, ptr %13) | |
br label %86 | |
59: ; preds = %36 | |
%60 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%61 = load ptr, ptr %60, align 8, !nonnull !3, !noundef !3 | |
%62 = load ptr, ptr %15, align 8, !nonnull !3, !noundef !3 | |
%63 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %62, i32 0, i32 2 | |
%64 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %63, i64 0, i64 0 | |
%65 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%66 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %65, i64 0, i64 0 | |
call void %61(ptr noalias noundef readonly align 8 dereferenceable(96) %64, ptr noalias noundef align 8 dereferenceable(96) %66) #13 | |
%67 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%68 = load ptr, ptr %67, align 8, !nonnull !3, !noundef !3 | |
%69 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%70 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %69, i32 0, i32 2 | |
%71 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %70, i64 0, i64 0 | |
%72 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%73 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %72, i64 0, i64 1 | |
call void %68(ptr noalias noundef readonly align 8 dereferenceable(96) %71, ptr noalias noundef align 8 dereferenceable(96) %73) #13 | |
%74 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%75 = getelementptr inbounds { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, ptr %74, i32 0, i32 1 | |
store i8 1, ptr %75, align 8 | |
br label %85 | |
76: ; preds = %36 | |
%77 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
call void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17hc7de5397331d6a7aE"(ptr noalias noundef nonnull align 8 %77, i64 noundef 2, i64 noundef 0, i64 noundef 1, ptr noalias noundef readonly align 8 dereferenceable(24) @65) #13 | |
%78 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%79 = load ptr, ptr %78, align 8, !nonnull !3, !noundef !3 | |
%80 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%81 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %80, i32 0, i32 2 | |
%82 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %81, i64 0, i64 0 | |
%83 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%84 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %83, i64 0, i64 1 | |
call void %79(ptr noalias noundef readonly align 8 dereferenceable(96) %82, ptr noalias noundef align 8 dereferenceable(96) %84) #13 | |
br label %85 | |
85: ; preds = %76, %59 | |
br label %86 | |
86: ; preds = %85, %41 | |
%87 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%88 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %87, i32 0, i32 1 | |
%89 = load i8, ptr %88, align 8, !range !11, !noundef !3 | |
%90 = icmp eq i8 %89, 2 | |
%91 = select i1 %90, i64 0, i64 1 | |
%92 = icmp eq i64 %91, 1 | |
br i1 %92, label %93, label %110 | |
93: ; preds = %86 | |
%94 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%95 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %94, i64 0, i64 0 | |
%96 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%97 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %96, i64 0, i64 1 | |
%98 = call noundef i64 @_ZN5rav1e9sad_plane9sad_plane17h2d99bf47cc6f346aE(ptr noalias noundef readonly align 8 dereferenceable(96) %95, ptr noalias noundef readonly align 8 dereferenceable(96) %97) #13 | |
%99 = uitofp i64 %98 to double | |
%100 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 11 | |
%101 = load i64, ptr %100, align 8, !noundef !3 | |
%102 = uitofp i64 %101 to double | |
%103 = fdiv double %99, %102 | |
%104 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 5 | |
%105 = load double, ptr %104, align 8, !noundef !3 | |
store double %103, ptr %0, align 8 | |
%106 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 1 | |
store double %103, ptr %106, align 8 | |
%107 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 2 | |
store double %103, ptr %107, align 8 | |
%108 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 3 | |
store double %103, ptr %108, align 8 | |
%109 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 4 | |
store double %105, ptr %109, align 8 | |
br label %111 | |
110: ; preds = %128, %86 | |
unreachable | |
111: ; preds = %135, %93 | |
%112 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%113 = trunc i8 %112 to i1 | |
br i1 %113, label %161, label %158 | |
114: ; preds = %29 | |
%115 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
call void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h7887f6cfc86527ebE"(ptr noalias noundef nonnull align 8 %115, i64 noundef 2, i64 noundef 0, i64 noundef 1, ptr noalias noundef readonly align 8 dereferenceable(24) @66) #13 | |
store i8 0, ptr %6, align 1 | |
%116 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%117 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%118 = getelementptr inbounds [2 x ptr], ptr %117, i64 0, i64 1 | |
call void @"_ZN4core3ptr76drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17hb99adee657fc5b66E"(ptr noalias noundef align 8 dereferenceable(8) %118) #13 | |
%119 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%120 = getelementptr inbounds [2 x ptr], ptr %119, i64 0, i64 1 | |
store ptr %116, ptr %120, align 8 | |
br label %128 | |
121: ; preds = %29 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
store i8 0, ptr %5, align 1 | |
%122 = load ptr, ptr %15, align 8, !nonnull !3, !noundef !3 | |
store i8 0, ptr %6, align 1 | |
%123 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%124 = getelementptr inbounds [2 x ptr], ptr %7, i64 0, i64 0 | |
store ptr %122, ptr %124, align 8 | |
%125 = getelementptr inbounds [2 x ptr], ptr %7, i64 0, i64 1 | |
store ptr %123, ptr %125, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 16, i1 false) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%126 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
call void @"_ZN4core3ptr125drop_in_place$LT$core..option..Option$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$u3b$$u20$2$u5d$$GT$$GT$17h5933843bcb50aaebE"(ptr noalias noundef align 8 dereferenceable(16) %126) #13 | |
%127 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %127, ptr align 8 %8, i64 16, i1 false) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %8) | |
br label %128 | |
128: ; preds = %121, %114 | |
%129 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%130 = load ptr, ptr %129, align 8, !noundef !3 | |
%131 = ptrtoint ptr %130 to i64 | |
%132 = icmp eq i64 %131, 0 | |
%133 = select i1 %132, i64 0, i64 1 | |
%134 = icmp eq i64 %133, 1 | |
br i1 %134, label %135, label %110 | |
135: ; preds = %128 | |
%136 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%137 = getelementptr inbounds [2 x ptr], ptr %136, i64 0, i64 0 | |
%138 = load ptr, ptr %137, align 8, !nonnull !3, !noundef !3 | |
%139 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %138, i32 0, i32 2 | |
%140 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %139, i64 0, i64 0 | |
%141 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%142 = getelementptr inbounds [2 x ptr], ptr %141, i64 0, i64 1 | |
%143 = load ptr, ptr %142, align 8, !nonnull !3, !noundef !3 | |
%144 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %143, i32 0, i32 2 | |
%145 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %144, i64 0, i64 0 | |
%146 = call noundef i64 @_ZN5rav1e9sad_plane9sad_plane17h2d99bf47cc6f346aE(ptr noalias noundef readonly align 8 dereferenceable(96) %140, ptr noalias noundef readonly align 8 dereferenceable(96) %145) #13 | |
%147 = uitofp i64 %146 to double | |
%148 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 11 | |
%149 = load i64, ptr %148, align 8, !noundef !3 | |
%150 = uitofp i64 %149 to double | |
%151 = fdiv double %147, %150 | |
%152 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 5 | |
%153 = load double, ptr %152, align 8, !noundef !3 | |
store double %151, ptr %0, align 8 | |
%154 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 1 | |
store double %151, ptr %154, align 8 | |
%155 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 2 | |
store double %151, ptr %155, align 8 | |
%156 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 3 | |
store double %151, ptr %156, align 8 | |
%157 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 4 | |
store double %153, ptr %157, align 8 | |
br label %111 | |
158: ; preds = %161, %111 | |
%159 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%160 = trunc i8 %159 to i1 | |
br i1 %160, label %163, label %162 | |
161: ; preds = %111 | |
call void @"_ZN4core3ptr76drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17hb99adee657fc5b66E"(ptr noalias noundef align 8 dereferenceable(8) %14) #13 | |
br label %158 | |
162: ; preds = %163, %158 | |
ret void | |
163: ; preds = %158 | |
call void @"_ZN4core3ptr76drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u8$GT$$GT$$GT$17hb99adee657fc5b66E"(ptr noalias noundef align 8 dereferenceable(8) %15) #13 | |
br label %162 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange4fast66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13fast_scenecut17h72dea206465a4de2E"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %0, ptr noalias noundef align 8 dereferenceable(704) %1, ptr noundef nonnull %2, ptr noundef nonnull %3) unnamed_addr #1 { | |
%5 = alloca i8, align 1 | |
%6 = alloca i8, align 1 | |
%7 = alloca [2 x ptr], align 8 | |
%8 = alloca { ptr, [1 x i64] }, align 8 | |
%9 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%10 = alloca { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }, align 8 | |
%11 = alloca [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], align 8 | |
%12 = alloca { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, align 8 | |
%13 = alloca { [192 x i8], i8, [7 x i8] }, align 8 | |
%14 = alloca ptr, align 8 | |
%15 = alloca ptr, align 8 | |
store ptr %2, ptr %15, align 8 | |
store ptr %3, ptr %14, align 8 | |
store i8 1, ptr %5, align 1 | |
store i8 1, ptr %6, align 1 | |
%16 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%17 = load ptr, ptr %16, align 8, !noundef !3 | |
%18 = ptrtoint ptr %17 to i64 | |
%19 = icmp eq i64 %18, 0 | |
%20 = select i1 %19, i64 0, i64 1 | |
%21 = icmp eq i64 %20, 1 | |
br i1 %21, label %22, label %29 | |
22: ; preds = %4 | |
%23 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%24 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %23, i32 0, i32 1 | |
%25 = load i8, ptr %24, align 8, !range !11, !noundef !3 | |
%26 = icmp eq i8 %25, 2 | |
%27 = select i1 %26, i64 0, i64 1 | |
%28 = icmp eq i64 %27, 1 | |
br i1 %28, label %36, label %41 | |
29: ; preds = %4 | |
%30 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%31 = load ptr, ptr %30, align 8, !noundef !3 | |
%32 = ptrtoint ptr %31 to i64 | |
%33 = icmp eq i64 %32, 0 | |
%34 = select i1 %33, i64 0, i64 1 | |
%35 = icmp eq i64 %34, 1 | |
br i1 %35, label %114, label %121 | |
36: ; preds = %22 | |
%37 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%38 = getelementptr inbounds { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, ptr %37, i32 0, i32 1 | |
%39 = load i8, ptr %38, align 8, !range !9, !noundef !3 | |
%40 = trunc i8 %39 to i1 | |
br i1 %40, label %76, label %59 | |
41: ; preds = %22 | |
call void @llvm.lifetime.start.p0(i64 200, ptr %13) | |
call void @llvm.lifetime.start.p0(i64 200, ptr %12) | |
call void @llvm.lifetime.start.p0(i64 192, ptr %11) | |
call void @llvm.lifetime.start.p0(i64 96, ptr %10) | |
%42 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%43 = getelementptr inbounds { ptr, ptr, i64 }, ptr %42, i32 0, i32 1 | |
%44 = load ptr, ptr %43, align 8, !nonnull !3, !noundef !3 | |
%45 = load ptr, ptr %15, align 8, !nonnull !3, !noundef !3 | |
%46 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %45, i32 0, i32 2 | |
%47 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %46, i64 0, i64 0 | |
call void %44(ptr noalias nocapture noundef sret({ { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }) align 8 dereferenceable(96) %10, ptr noalias noundef readonly align 8 dereferenceable(96) %47) #13 | |
call void @llvm.lifetime.start.p0(i64 96, ptr %9) | |
%48 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%49 = getelementptr inbounds { ptr, ptr, i64 }, ptr %48, i32 0, i32 1 | |
%50 = load ptr, ptr %49, align 8, !nonnull !3, !noundef !3 | |
%51 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%52 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %51, i32 0, i32 2 | |
%53 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %52, i64 0, i64 0 | |
call void %50(ptr noalias nocapture noundef sret({ { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }) align 8 dereferenceable(96) %9, ptr noalias noundef readonly align 8 dereferenceable(96) %53) #13 | |
%54 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %11, i64 0, i64 0 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %54, ptr align 8 %10, i64 96, i1 false) | |
%55 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %11, i64 0, i64 1 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %55, ptr align 8 %9, i64 96, i1 false) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %9) | |
call void @llvm.lifetime.end.p0(i64 96, ptr %10) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %12, ptr align 8 %11, i64 192, i1 false) | |
%56 = getelementptr inbounds { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, ptr %12, i32 0, i32 1 | |
store i8 1, ptr %56, align 8 | |
call void @llvm.lifetime.end.p0(i64 192, ptr %11) | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %13, ptr align 8 %12, i64 200, i1 false) | |
call void @llvm.lifetime.end.p0(i64 200, ptr %12) | |
%57 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
call void @"_ZN4core3ptr117drop_in_place$LT$core..option..Option$LT$$LP$$u5b$v_frame..plane..Plane$LT$u16$GT$$u3b$$u20$2$u5d$$C$bool$RP$$GT$$GT$17h2b9b07016adfb7beE"(ptr noalias noundef align 8 dereferenceable(200) %57) #13 | |
%58 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %58, ptr align 8 %13, i64 200, i1 false) | |
call void @llvm.lifetime.end.p0(i64 200, ptr %13) | |
br label %86 | |
59: ; preds = %36 | |
%60 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%61 = load ptr, ptr %60, align 8, !nonnull !3, !noundef !3 | |
%62 = load ptr, ptr %15, align 8, !nonnull !3, !noundef !3 | |
%63 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %62, i32 0, i32 2 | |
%64 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %63, i64 0, i64 0 | |
%65 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%66 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %65, i64 0, i64 0 | |
call void %61(ptr noalias noundef readonly align 8 dereferenceable(96) %64, ptr noalias noundef align 8 dereferenceable(96) %66) #13 | |
%67 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%68 = load ptr, ptr %67, align 8, !nonnull !3, !noundef !3 | |
%69 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%70 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %69, i32 0, i32 2 | |
%71 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %70, i64 0, i64 0 | |
%72 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%73 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %72, i64 0, i64 1 | |
call void %68(ptr noalias noundef readonly align 8 dereferenceable(96) %71, ptr noalias noundef align 8 dereferenceable(96) %73) #13 | |
%74 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%75 = getelementptr inbounds { [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], i8, [7 x i8] }, ptr %74, i32 0, i32 1 | |
store i8 1, ptr %75, align 8 | |
br label %85 | |
76: ; preds = %36 | |
%77 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
call void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17h76ccd7e2d4f0bcc1E"(ptr noalias noundef nonnull align 8 %77, i64 noundef 2, i64 noundef 0, i64 noundef 1, ptr noalias noundef readonly align 8 dereferenceable(24) @65) #13 | |
%78 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 6 | |
%79 = load ptr, ptr %78, align 8, !nonnull !3, !noundef !3 | |
%80 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%81 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %80, i32 0, i32 2 | |
%82 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %81, i64 0, i64 0 | |
%83 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%84 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %83, i64 0, i64 1 | |
call void %79(ptr noalias noundef readonly align 8 dereferenceable(96) %82, ptr noalias noundef align 8 dereferenceable(96) %84) #13 | |
br label %85 | |
85: ; preds = %76, %59 | |
br label %86 | |
86: ; preds = %85, %41 | |
%87 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%88 = getelementptr inbounds { [192 x i8], i8, [7 x i8] }, ptr %87, i32 0, i32 1 | |
%89 = load i8, ptr %88, align 8, !range !11, !noundef !3 | |
%90 = icmp eq i8 %89, 2 | |
%91 = select i1 %90, i64 0, i64 1 | |
%92 = icmp eq i64 %91, 1 | |
br i1 %92, label %93, label %110 | |
93: ; preds = %86 | |
%94 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%95 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %94, i64 0, i64 0 | |
%96 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%97 = getelementptr inbounds [2 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %96, i64 0, i64 1 | |
%98 = call noundef i64 @_ZN5rav1e9sad_plane9sad_plane17h4a304a74c0f73838E(ptr noalias noundef readonly align 8 dereferenceable(96) %95, ptr noalias noundef readonly align 8 dereferenceable(96) %97) #13 | |
%99 = uitofp i64 %98 to double | |
%100 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 11 | |
%101 = load i64, ptr %100, align 8, !noundef !3 | |
%102 = uitofp i64 %101 to double | |
%103 = fdiv double %99, %102 | |
%104 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 5 | |
%105 = load double, ptr %104, align 8, !noundef !3 | |
store double %103, ptr %0, align 8 | |
%106 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 1 | |
store double %103, ptr %106, align 8 | |
%107 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 2 | |
store double %103, ptr %107, align 8 | |
%108 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 3 | |
store double %103, ptr %108, align 8 | |
%109 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 4 | |
store double %105, ptr %109, align 8 | |
br label %111 | |
110: ; preds = %128, %86 | |
unreachable | |
111: ; preds = %135, %93 | |
%112 = load i8, ptr %6, align 1, !range !9, !noundef !3 | |
%113 = trunc i8 %112 to i1 | |
br i1 %113, label %161, label %158 | |
114: ; preds = %29 | |
%115 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
call void @"_ZN4core5slice29_$LT$impl$u20$$u5b$T$u5d$$GT$4swap17he8f258dde4ce78bcE"(ptr noalias noundef nonnull align 8 %115, i64 noundef 2, i64 noundef 0, i64 noundef 1, ptr noalias noundef readonly align 8 dereferenceable(24) @66) #13 | |
store i8 0, ptr %6, align 1 | |
%116 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%117 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%118 = getelementptr inbounds [2 x ptr], ptr %117, i64 0, i64 1 | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h72bdb586bad2ecf3E"(ptr noalias noundef align 8 dereferenceable(8) %118) #13 | |
%119 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%120 = getelementptr inbounds [2 x ptr], ptr %119, i64 0, i64 1 | |
store ptr %116, ptr %120, align 8 | |
br label %128 | |
121: ; preds = %29 | |
call void @llvm.lifetime.start.p0(i64 16, ptr %8) | |
call void @llvm.lifetime.start.p0(i64 16, ptr %7) | |
store i8 0, ptr %5, align 1 | |
%122 = load ptr, ptr %15, align 8, !nonnull !3, !noundef !3 | |
store i8 0, ptr %6, align 1 | |
%123 = load ptr, ptr %14, align 8, !nonnull !3, !noundef !3 | |
%124 = getelementptr inbounds [2 x ptr], ptr %7, i64 0, i64 0 | |
store ptr %122, ptr %124, align 8 | |
%125 = getelementptr inbounds [2 x ptr], ptr %7, i64 0, i64 1 | |
store ptr %123, ptr %125, align 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %8, ptr align 8 %7, i64 16, i1 false) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %7) | |
%126 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
call void @"_ZN4core3ptr126drop_in_place$LT$core..option..Option$LT$$u5b$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$u3b$$u20$2$u5d$$GT$$GT$17h53de1d31a98f91a0E"(ptr noalias noundef align 8 dereferenceable(16) %126) #13 | |
%127 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %127, ptr align 8 %8, i64 16, i1 false) | |
call void @llvm.lifetime.end.p0(i64 16, ptr %8) | |
br label %128 | |
128: ; preds = %121, %114 | |
%129 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%130 = load ptr, ptr %129, align 8, !noundef !3 | |
%131 = ptrtoint ptr %130 to i64 | |
%132 = icmp eq i64 %131, 0 | |
%133 = select i1 %132, i64 0, i64 1 | |
%134 = icmp eq i64 %133, 1 | |
br i1 %134, label %135, label %110 | |
135: ; preds = %128 | |
%136 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%137 = getelementptr inbounds [2 x ptr], ptr %136, i64 0, i64 0 | |
%138 = load ptr, ptr %137, align 8, !nonnull !3, !noundef !3 | |
%139 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %138, i32 0, i32 2 | |
%140 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %139, i64 0, i64 0 | |
%141 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 8 | |
%142 = getelementptr inbounds [2 x ptr], ptr %141, i64 0, i64 1 | |
%143 = load ptr, ptr %142, align 8, !nonnull !3, !noundef !3 | |
%144 = getelementptr inbounds { { i64 }, { i64 }, { [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }] } }, ptr %143, i32 0, i32 2 | |
%145 = getelementptr inbounds [3 x { { ptr, i64 }, { i64, i64, i64, i64, i64, i64, i64, i64, i64, i64 } }], ptr %144, i64 0, i64 0 | |
%146 = call noundef i64 @_ZN5rav1e9sad_plane9sad_plane17h4a304a74c0f73838E(ptr noalias noundef readonly align 8 dereferenceable(96) %140, ptr noalias noundef readonly align 8 dereferenceable(96) %145) #13 | |
%147 = uitofp i64 %146 to double | |
%148 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 11 | |
%149 = load i64, ptr %148, align 8, !noundef !3 | |
%150 = uitofp i64 %149 to double | |
%151 = fdiv double %147, %150 | |
%152 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 5 | |
%153 = load double, ptr %152, align 8, !noundef !3 | |
store double %151, ptr %0, align 8 | |
%154 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 1 | |
store double %151, ptr %154, align 8 | |
%155 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 2 | |
store double %151, ptr %155, align 8 | |
%156 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 3 | |
store double %151, ptr %156, align 8 | |
%157 = getelementptr inbounds { double, double, double, double, double }, ptr %0, i32 0, i32 4 | |
store double %153, ptr %157, align 8 | |
br label %111 | |
158: ; preds = %161, %111 | |
%159 = load i8, ptr %5, align 1, !range !9, !noundef !3 | |
%160 = trunc i8 %159 to i1 | |
br i1 %160, label %163, label %162 | |
161: ; preds = %111 | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h72bdb586bad2ecf3E"(ptr noalias noundef align 8 dereferenceable(8) %14) #13 | |
br label %158 | |
162: ; preds = %163, %158 | |
ret void | |
163: ; preds = %158 | |
call void @"_ZN4core3ptr77drop_in_place$LT$alloc..sync..Arc$LT$v_frame..frame..Frame$LT$u16$GT$$GT$$GT$17h72bdb586bad2ecf3E"(ptr noalias noundef align 8 dereferenceable(8) %15) #13 | |
br label %162 | |
} | |
; Function Attrs: nounwind nonlazybind | |
define internal void @"_ZN5rav1e11scenechange8standard66_$LT$impl$u20$rav1e..scenechange..SceneChangeDetector$LT$T$GT$$GT$13cost_scenecut17h61f3f7bf4e5b205bE"(ptr noalias nocapture noundef sret({ double, double, double, double, double }) align 8 dereferenceable(40) %0, ptr noalias noundef align 8 dereferenceable(704) %1, ptr noundef nonnull %2, ptr noundef nonnull %3, i64 noundef %4) unnamed_addr #1 { | |
%6 = alloca { { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr } }, align 8 | |
%7 = alloca { ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr }, align 8 | |
%8 = alloca ptr, align 8 | |
%9 = alloca ptr, align 8 | |
%10 = alloca ptr, align 8 | |
%11 = alloca double, align 8 | |
%12 = alloca double, align 8 | |
%13 = alloca double, align 8 | |
%14 = alloca i64, align 8 | |
%15 = alloca ptr, align 8 | |
%16 = alloca ptr, align 8 | |
store ptr %2, ptr %16, align 8 | |
store ptr %3, ptr %15, align 8 | |
store i64 %4, ptr %14, align 8 | |
%17 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %15) #13 | |
%18 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %16) #13 | |
%19 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h66e8dc729b9420cbE"(ptr noalias noundef readonly align 8 dereferenceable(8) %15) #13 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %13) | |
store double 0.000000e+00, ptr %13, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %12) | |
store double 0.000000e+00, ptr %12, align 8 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %11) | |
store double 0.000000e+00, ptr %11, align 8 | |
%20 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 2 | |
%21 = load i64, ptr %20, align 8, !noundef !3 | |
%22 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %21, i64 8) | |
%23 = extractvalue { i64, i1 } %22, 0 | |
%24 = extractvalue { i64, i1 } %22, 1 | |
%25 = sub i64 %23, 1 | |
%26 = lshr i64 %25, 3 | |
%27 = mul i64 2, %26 | |
%28 = getelementptr inbounds { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, ptr %1, i32 0, i32 3 | |
%29 = load i64, ptr %28, align 8, !noundef !3 | |
%30 = call { i64, i1 } @llvm.uadd.with.overflow.i64(i64 %29, i64 8) | |
%31 = extractvalue { i64, i1 } %30, 0 | |
%32 = extractvalue { i64, i1 } %30, 1 | |
%33 = sub i64 %31, 1 | |
%34 = lshr i64 %33, 3 | |
%35 = mul i64 2, %34 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %10) | |
%36 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 7 | |
%37 = load ptr, ptr %36, align 8, !noundef !3 | |
%38 = ptrtoint ptr %37 to i64 | |
%39 = icmp eq i64 %38, 0 | |
%40 = select i1 %39, i64 0, i64 1 | |
%41 = icmp eq i64 %40, 1 | |
br i1 %41, label %42, label %45 | |
42: ; preds = %5 | |
%43 = getelementptr inbounds { {}, { { i32, i32 }, { i64, i8, i8, { i8, i8, i8, i8, i8 }, { i8, i8, { i8, i8 } }, { i8, i8, i8 }, { i8, i8 }, i8, i8, i8, i8, i8, i8, [2 x i8] }, i64, i64, { i64, i64 }, { i64, i64 }, i64, i64, i64, i64, i64, { ptr, [2 x i64] }, i64, i64, i64, i32, { i32, [6 x i32] }, i32, i32, i32, { i32, [2 x i32] }, i32, { i16, [2 x i16] }, { i8, i8 }, i8, i8, i8, i8, i8, [7 x i8] }, { [192 x i8], i8, [7 x i8] }, { { ptr, i64 }, i64 }, ptr, double, { ptr, [2 x i64] }, ptr, { ptr, [1 x i64] }, i64, i64, i64, i64, { { {} }, {}, { ptr, i64 }, i64 }, { ptr, [11 x i64] }, i8, [7 x i8] }, ptr %1, i32 0, i32 7 | |
%44 = call noundef nonnull ptr @"_ZN68_$LT$alloc..sync..Arc$LT$T$C$A$GT$$u20$as$u20$core..clone..Clone$GT$5clone17h4acdc87e19432360E"(ptr noalias noundef readonly align 8 dereferenceable(8) %43) #13 | |
store ptr %44, ptr %10, align 8 | |
br label %52 | |
45: ; preds = %5 | |
call void @llvm.lifetime.start.p0(i64 8, ptr %9) | |
% |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment