|
; ModuleID = 'absorb-unopt.ll' |
|
source_filename = "<stdin>" |
|
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128-ni:10:11:12:13" |
|
target triple = "x86_64-unknown-linux-gnu" |
|
|
|
@jl_diverror_exception = external constant ptr |
|
@_j_constYY.2 = external hidden unnamed_addr constant i64, align 8 |
|
@_j_constYY.5 = external hidden unnamed_addr constant [24 x i64], align 8 |
|
|
|
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: write) |
|
declare void @llvm.memset.p0.i64(ptr writeonly captures(none), i8, i64, i1 immarg) #0 |
|
|
|
; Function Attrs: noreturn |
|
declare void @ijl_throw(ptr addrspace(12)) #1 |
|
|
|
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) |
|
declare void @llvm.memcpy.p0.p0.i64(ptr noalias writeonly captures(none), ptr noalias readonly captures(none), i64, i1 immarg) #2 |
|
|
|
; Function Attrs: nocallback nofree nounwind willreturn memory(argmem: readwrite) |
|
declare void @llvm.memcpy.p0.p11.i64(ptr noalias writeonly captures(none), ptr addrspace(11) noalias readonly captures(none), i64, i1 immarg) #2 |
|
|
|
; Function Attrs: cold noreturn nounwind memory(inaccessiblemem: write) |
|
declare void @llvm.trap() #3 |
|
|
|
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) |
|
declare void @llvm.lifetime.start.p0(ptr captures(none)) #4 |
|
|
|
define hidden swiftcc void @absorb(ptr noalias noundef nonnull sret([25 x i64]) align 8 captures(none) dereferenceable(200) %0, ptr nonnull swiftself %1, ptr addrspace(11) noundef nonnull readonly align 8 captures(none) dereferenceable(200) %2, ptr addrspace(11) noundef nonnull readonly align 8 captures(none) dereferenceable(48) %3, ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8) %4) #5 { |
|
%6 = alloca [25 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %6) |
|
%7 = alloca [25 x i64], align 8 |
|
%8 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %8) |
|
%9 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %9) |
|
%10 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %10) |
|
%11 = alloca [1 x [2 x i64]], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %11) |
|
%12 = alloca [10 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %12) |
|
%13 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %13) |
|
%14 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %14) |
|
%15 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %15) |
|
%16 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %16) |
|
%17 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %17) |
|
%18 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %18) |
|
%19 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %19) |
|
%20 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %20) |
|
%21 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %21) |
|
%22 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %22) |
|
%23 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %23) |
|
%24 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %24) |
|
%25 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %25) |
|
%26 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %26) |
|
%27 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %27) |
|
%28 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %28) |
|
%29 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %29) |
|
%30 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %30) |
|
%31 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %31) |
|
%32 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %32) |
|
%33 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %33) |
|
%34 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %34) |
|
%35 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %35) |
|
%36 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %36) |
|
%37 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %37) |
|
%38 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %38) |
|
%39 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %39) |
|
%40 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %40) |
|
%41 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %41) |
|
%42 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %42) |
|
%43 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %43) |
|
%44 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %44) |
|
%45 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %45) |
|
%46 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %46) |
|
%47 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %47) |
|
%48 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %48) |
|
%49 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %49) |
|
%50 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %50) |
|
%51 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %51) |
|
%52 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %52) |
|
%53 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %53) |
|
%54 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %54) |
|
%55 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %55) |
|
%56 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %56) |
|
%57 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %57) |
|
%58 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %58) |
|
%59 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %59) |
|
%60 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %60) |
|
%61 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %61) |
|
%62 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %62) |
|
%63 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %63) |
|
%64 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %64) |
|
%65 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %65) |
|
%66 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %66) |
|
%67 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %67) |
|
%68 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %68) |
|
%69 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %69) |
|
%70 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %70) |
|
%71 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %71) |
|
%72 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %72) |
|
%73 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %73) |
|
%74 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %74) |
|
%75 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %75) |
|
%76 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %76) |
|
%77 = alloca [25 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %77) |
|
%78 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %78) |
|
%79 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %79) |
|
%80 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %80) |
|
%81 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %81) |
|
%82 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %82) |
|
%83 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %83) |
|
%84 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %84) |
|
%85 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %85) |
|
%86 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %86) |
|
%87 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %87) |
|
%88 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %88) |
|
%89 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %89) |
|
%90 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %90) |
|
%91 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %91) |
|
%92 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %92) |
|
%93 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %93) |
|
%94 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %94) |
|
%95 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %95) |
|
%96 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %96) |
|
%97 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %97) |
|
%98 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %98) |
|
%99 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %99) |
|
%100 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %100) |
|
%101 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %101) |
|
%102 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %102) |
|
%103 = alloca [25 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %103) |
|
%104 = alloca [25 x i64], align 8 |
|
%105 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %105) |
|
%106 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %106) |
|
%107 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %107) |
|
%108 = alloca [1 x [2 x i64]], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %108) |
|
%109 = alloca [10 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %109) |
|
%110 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %110) |
|
%111 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %111) |
|
%112 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %112) |
|
%113 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %113) |
|
%114 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %114) |
|
%115 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %115) |
|
%116 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %116) |
|
%117 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %117) |
|
%118 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %118) |
|
%119 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %119) |
|
%120 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %120) |
|
%121 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %121) |
|
%122 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %122) |
|
%123 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %123) |
|
%124 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %124) |
|
%125 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %125) |
|
%126 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %126) |
|
%127 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %127) |
|
%128 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %128) |
|
%129 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %129) |
|
%130 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %130) |
|
%131 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %131) |
|
%132 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %132) |
|
%133 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %133) |
|
%134 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %134) |
|
%135 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %135) |
|
%136 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %136) |
|
%137 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %137) |
|
%138 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %138) |
|
%139 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %139) |
|
%140 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %140) |
|
%141 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %141) |
|
%142 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %142) |
|
%143 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %143) |
|
%144 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %144) |
|
%145 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %145) |
|
%146 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %146) |
|
%147 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %147) |
|
%148 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %148) |
|
%149 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %149) |
|
%150 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %150) |
|
%151 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %151) |
|
%152 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %152) |
|
%153 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %153) |
|
%154 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %154) |
|
%155 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %155) |
|
%156 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %156) |
|
%157 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %157) |
|
%158 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %158) |
|
%159 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %159) |
|
%160 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %160) |
|
%161 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %161) |
|
%162 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %162) |
|
%163 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %163) |
|
%164 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %164) |
|
%165 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %165) |
|
%166 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %166) |
|
%167 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %167) |
|
%168 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %168) |
|
%169 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %169) |
|
%170 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %170) |
|
%171 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %171) |
|
%172 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %172) |
|
%173 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %173) |
|
%174 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %174) |
|
%175 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %175) |
|
%176 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %176) |
|
%177 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %177) |
|
%178 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %178) |
|
%179 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %179) |
|
%180 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %180) |
|
%181 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %181) |
|
%182 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %182) |
|
%183 = alloca [2 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %183) |
|
%184 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %184) |
|
%185 = alloca { ptr, ptr addrspace(10) }, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %185) |
|
%186 = alloca [25 x i64], align 8 |
|
call void @llvm.lifetime.start.p0(ptr %186) |
|
%187 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %187) |
|
%188 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %188) |
|
%189 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %189) |
|
%190 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %190) |
|
%191 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %191) |
|
%192 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %192) |
|
%193 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %193) |
|
%194 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %194) |
|
%195 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %195) |
|
%196 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %196) |
|
%197 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %197) |
|
%198 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %198) |
|
%199 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %199) |
|
%200 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %200) |
|
%201 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %201) |
|
%202 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %202) |
|
%203 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %203) |
|
%204 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %204) |
|
%205 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %205) |
|
%206 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %206) |
|
%207 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %207) |
|
%208 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %208) |
|
%209 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %209) |
|
%210 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %210) |
|
%211 = alloca i64, align 8 |
|
call void @llvm.lifetime.start.p0(ptr %211) |
|
%212 = alloca ptr addrspace(10), align 8 |
|
%213 = alloca ptr addrspace(10), align 8 |
|
%214 = alloca ptr addrspace(10), align 8 |
|
%215 = alloca ptr addrspace(10), align 8 |
|
%216 = alloca ptr addrspace(10), align 8 |
|
%217 = alloca ptr addrspace(10), align 8 |
|
%218 = alloca ptr addrspace(10), align 8 |
|
%219 = alloca ptr addrspace(10), align 8 |
|
%220 = alloca ptr addrspace(10), align 8 |
|
%221 = alloca ptr addrspace(10), align 8 |
|
%222 = alloca ptr addrspace(10), align 8 |
|
%223 = alloca ptr addrspace(10), align 8 |
|
%224 = alloca ptr addrspace(10), align 8 |
|
%225 = alloca ptr addrspace(10), align 8 |
|
%226 = alloca ptr addrspace(10), align 8 |
|
%227 = alloca ptr addrspace(10), align 8 |
|
%228 = alloca ptr addrspace(10), align 8 |
|
%229 = alloca ptr addrspace(10), align 8 |
|
%230 = alloca ptr addrspace(10), align 8 |
|
%231 = alloca ptr addrspace(10), align 8 |
|
%232 = alloca ptr addrspace(10), align 8 |
|
%233 = alloca ptr addrspace(10), align 8 |
|
%234 = alloca ptr addrspace(10), align 8 |
|
%235 = alloca ptr addrspace(10), align 8 |
|
%236 = alloca ptr addrspace(10), align 8 |
|
%237 = alloca ptr addrspace(10), align 8 |
|
%238 = alloca ptr addrspace(10), align 8 |
|
%239 = alloca ptr addrspace(10), align 8 |
|
%240 = alloca ptr addrspace(10), align 8 |
|
%241 = alloca ptr addrspace(10), align 8 |
|
%242 = alloca ptr addrspace(10), align 8 |
|
%243 = alloca ptr addrspace(10), align 8 |
|
%244 = alloca ptr addrspace(10), align 8 |
|
%245 = alloca ptr addrspace(10), align 8 |
|
%246 = alloca ptr addrspace(10), align 8 |
|
%247 = alloca ptr addrspace(10), align 8 |
|
%248 = alloca ptr addrspace(10), align 8 |
|
%249 = alloca ptr addrspace(10), align 8 |
|
%250 = alloca ptr addrspace(10), align 8 |
|
%251 = alloca ptr addrspace(10), align 8 |
|
%252 = alloca ptr addrspace(10), align 8 |
|
%253 = alloca ptr addrspace(10), align 8 |
|
%254 = alloca ptr addrspace(10), align 8 |
|
%255 = alloca ptr addrspace(10), align 8 |
|
%256 = alloca ptr addrspace(10), align 8 |
|
%257 = alloca ptr addrspace(10), align 8 |
|
call void @llvm.memset.p0.i64(ptr align 8 %257, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %256, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %255, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %254, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %253, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %252, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %251, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %250, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %249, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %248, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %247, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %246, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %245, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %244, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %243, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %242, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %241, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %240, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %239, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %238, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %237, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %236, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %235, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %234, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %233, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %232, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %231, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %230, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %229, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %228, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %227, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %226, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %225, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %224, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %223, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %222, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %221, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %220, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %219, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %218, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %217, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %216, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %215, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %214, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %213, i8 0, i64 8, i1 false) |
|
call void @llvm.memset.p0.i64(ptr align 8 %212, i8 0, i64 8, i1 false) |
|
%258 = getelementptr inbounds i8, ptr %1, i32 -192 |
|
%259 = getelementptr inbounds i8, ptr %258, i32 208 |
|
%260 = load ptr, ptr %259, align 8 |
|
%261 = getelementptr inbounds i8, ptr %260, i32 16 |
|
%262 = load atomic ptr, ptr %261 monotonic, align 8 |
|
fence syncscope("singlethread") seq_cst |
|
fence syncscope("singlethread") seq_cst |
|
%263 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%264 = getelementptr inbounds i8, ptr addrspace(11) %263, i32 8 |
|
%265 = load i64, ptr addrspace(11) %264, align 8 |
|
%266 = load i64, ptr addrspace(11) %263, align 8 |
|
%267 = sub i64 %265, %266 |
|
%268 = add i64 1, %267 |
|
%269 = mul i64 %268, 1 |
|
%270 = icmp ne i64 %269, -9223372036854775808 |
|
%271 = or i1 true, %270 |
|
%272 = and i1 true, %271 |
|
%273 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %272, label %4137, label %4135 |
|
|
|
274: ; preds = %4161 |
|
%275 = icmp eq i64 %4163, 1 |
|
%276 = xor i1 %275, true |
|
br i1 %276, label %278, label %277 |
|
|
|
277: ; preds = %274 |
|
br label %314 |
|
|
|
278: ; preds = %274 |
|
%279 = icmp slt i64 1, %4163 |
|
%280 = zext i1 %279 to i8 |
|
%281 = icmp eq i8 1, %280 |
|
%282 = xor i1 %281, true |
|
%283 = xor i1 %282, true |
|
br i1 %283, label %287, label %284 |
|
|
|
284: ; preds = %278 |
|
br label %285 |
|
|
|
285: ; preds = %284 |
|
br label %286 |
|
|
|
286: ; preds = %285 |
|
br label %314 |
|
|
|
287: ; preds = %278 |
|
%288 = icmp slt i64 1, %4163 |
|
%289 = xor i1 %288, true |
|
br i1 %289, label %292, label %290 |
|
|
|
290: ; preds = %287 |
|
%291 = sub i64 %4163, 1 |
|
br label %294 |
|
|
|
292: ; preds = %287 |
|
%293 = sub i64 1, %4163 |
|
br label %294 |
|
|
|
294: ; preds = %292, %290 |
|
%295 = phi i64 [ %291, %290 ], [ %293, %292 ] |
|
%296 = phi i64 [ 21, %290 ], [ -21, %292 ] |
|
%297 = icmp slt i64 %295, 0 |
|
%298 = xor i1 %297, true |
|
br i1 %298, label %301, label %299 |
|
|
|
299: ; preds = %294 |
|
%300 = call swiftcc i64 @jlpkg_overflow_case_0(ptr nonnull swiftself %1, i64 signext %295, i64 signext %296) |
|
br label %304 |
|
|
|
301: ; preds = %294 |
|
%302 = icmp ne i64 %296, 0 |
|
%303 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %302, label %4668, label %4666 |
|
|
|
304: ; preds = %4673, %299 |
|
%305 = phi i64 [ %300, %299 ], [ %4674, %4673 ] |
|
%306 = icmp slt i64 1, %4163 |
|
%307 = xor i1 %306, true |
|
br i1 %307, label %310, label %308 |
|
|
|
308: ; preds = %304 |
|
%309 = sub i64 %4163, %305 |
|
br label %312 |
|
|
|
310: ; preds = %304 |
|
%311 = add i64 %4163, %305 |
|
br label %312 |
|
|
|
312: ; preds = %310, %308 |
|
%313 = phi i64 [ %309, %308 ], [ %311, %310 ] |
|
br label %314 |
|
|
|
314: ; preds = %312, %286, %277 |
|
%315 = phi i64 [ %4163, %277 ], [ 0, %286 ], [ %313, %312 ] |
|
br label %316 |
|
|
|
316: ; preds = %314 |
|
br label %317 |
|
|
|
317: ; preds = %316 |
|
br label %318 |
|
|
|
318: ; preds = %317 |
|
br label %319 |
|
|
|
319: ; preds = %318 |
|
br label %320 |
|
|
|
320: ; preds = %319 |
|
%321 = icmp eq i64 1, %315 |
|
%322 = xor i1 %321, true |
|
%323 = icmp slt i64 1, %315 |
|
%324 = zext i1 %323 to i8 |
|
%325 = icmp eq i8 1, %324 |
|
%326 = xor i1 %325, true |
|
%327 = and i1 %322, %326 |
|
%328 = xor i1 %327, true |
|
br i1 %328, label %330, label %329 |
|
|
|
329: ; preds = %320 |
|
br label %331 |
|
|
|
330: ; preds = %320 |
|
br label %331 |
|
|
|
331: ; preds = %330, %329 |
|
%332 = phi i8 [ 1, %329 ], [ 0, %330 ] |
|
%333 = phi i64 [ 1, %330 ], [ undef, %329 ] |
|
%334 = phi i64 [ 1, %330 ], [ undef, %329 ] |
|
%335 = trunc i8 %332 to i1 |
|
%336 = xor i1 %335, true |
|
%337 = xor i1 %336, true |
|
br i1 %337, label %338, label %340 |
|
|
|
338: ; preds = %331 |
|
call void @llvm.lifetime.start.p0(ptr %104) |
|
%339 = icmp ne ptr addrspace(11) %2, null |
|
br i1 %339, label %4690, label %4691 |
|
|
|
340: ; preds = %331 |
|
call void @llvm.lifetime.start.p0(ptr %7) |
|
%341 = icmp ne ptr addrspace(11) %2, null |
|
br i1 %341, label %4675, label %4676 |
|
|
|
342: ; preds = %4684, %4679 |
|
%343 = phi i64 [ %333, %4679 ], [ %2173, %4684 ] |
|
%344 = phi i64 [ %334, %4679 ], [ %2174, %4684 ] |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %6, ptr align 8 %7, i64 200, i1 false) |
|
call void @llvm.lifetime.end.p0(ptr %7) |
|
%345 = sub i64 %343, 1 |
|
%346 = add i64 %345, 21 |
|
%347 = icmp sle i64 %343, %346 |
|
%348 = xor i1 %347, true |
|
br i1 %348, label %350, label %349 |
|
|
|
349: ; preds = %342 |
|
br label %352 |
|
|
|
350: ; preds = %342 |
|
%351 = sub i64 %343, 1 |
|
br label %352 |
|
|
|
352: ; preds = %350, %349 |
|
%353 = phi i64 [ %346, %349 ], [ %351, %350 ] |
|
%354 = getelementptr inbounds i8, ptr %8, i32 0 |
|
store i64 %343, ptr %9, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %354, ptr align 8 %9, i64 8, i1 false) |
|
%355 = getelementptr inbounds i8, ptr %8, i32 8 |
|
store i64 %353, ptr %10, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %355, ptr align 8 %10, i64 8, i1 false) |
|
br label %356 |
|
|
|
356: ; preds = %352 |
|
br label %357 |
|
|
|
357: ; preds = %356 |
|
%358 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%359 = getelementptr inbounds i8, ptr addrspace(11) %358, i32 8 |
|
%360 = load i64, ptr addrspace(11) %359, align 8 |
|
%361 = load i64, ptr addrspace(11) %358, align 8 |
|
%362 = sub i64 %360, %361 |
|
%363 = add i64 1, %362 |
|
%364 = mul i64 %363, 1 |
|
%365 = icmp ne i64 %364, -9223372036854775808 |
|
%366 = or i1 true, %365 |
|
%367 = and i1 true, %366 |
|
%368 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %367, label %4166, label %4164 |
|
|
|
369: ; preds = %4166 |
|
br label %371 |
|
|
|
370: ; preds = %4166 |
|
br label %371 |
|
|
|
371: ; preds = %370, %369 |
|
br label %372 |
|
|
|
372: ; preds = %371 |
|
br label %373 |
|
|
|
373: ; preds = %372 |
|
br label %374 |
|
|
|
374: ; preds = %373 |
|
br label %375 |
|
|
|
375: ; preds = %374 |
|
br label %376 |
|
|
|
376: ; preds = %375 |
|
br label %377 |
|
|
|
377: ; preds = %376 |
|
br i1 false, label %415, label %378 |
|
|
|
378: ; preds = %377 |
|
%379 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%380 = getelementptr inbounds i8, ptr addrspace(11) %379, i32 8 |
|
%381 = load i64, ptr addrspace(11) %380, align 8 |
|
%382 = load i64, ptr addrspace(11) %379, align 8 |
|
%383 = sub i64 %381, %382 |
|
%384 = add i64 1, %383 |
|
%385 = mul i64 %384, 1 |
|
%386 = icmp ne i64 %385, -9223372036854775808 |
|
%387 = or i1 true, %386 |
|
%388 = and i1 true, %387 |
|
%389 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %388, label %4174, label %4172 |
|
|
|
390: ; preds = %4174 |
|
br label %392 |
|
|
|
391: ; preds = %4174 |
|
br label %392 |
|
|
|
392: ; preds = %391, %390 |
|
%393 = phi i64 [ %4177, %390 ], [ 0, %391 ] |
|
br label %394 |
|
|
|
394: ; preds = %392 |
|
br label %395 |
|
|
|
395: ; preds = %394 |
|
%396 = icmp slt i64 0, %393 |
|
%397 = xor i1 %396, true |
|
%398 = select i1 %397, i64 0, i64 %393 |
|
br label %399 |
|
|
|
399: ; preds = %395 |
|
br label %400 |
|
|
|
400: ; preds = %399 |
|
br label %401 |
|
|
|
401: ; preds = %400 |
|
%402 = icmp slt i64 %353, %343 |
|
%403 = sub i64 %343, 1 |
|
%404 = icmp ult i64 %403, %398 |
|
%405 = sub i64 %353, 1 |
|
%406 = icmp ult i64 %405, %398 |
|
%407 = and i1 %404, %406 |
|
%408 = or i1 %402, %407 |
|
br label %409 |
|
|
|
409: ; preds = %401 |
|
%410 = xor i1 %408, true |
|
br i1 %410, label %412, label %411 |
|
|
|
411: ; preds = %409 |
|
br label %414 |
|
|
|
412: ; preds = %409 |
|
%413 = addrspacecast ptr %8 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_2(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, ptr addrspace(11) readonly captures(none) %413) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
414: ; preds = %411 |
|
br label %415 |
|
|
|
415: ; preds = %414, %377 |
|
%416 = getelementptr inbounds i8, ptr %11, i32 0 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %416, ptr align 8 %8, i64 16, i1 false) |
|
%417 = sub i64 %343, 1 |
|
%418 = getelementptr inbounds i8, ptr %12, i32 0 |
|
call void @llvm.memcpy.p0.p11.i64(ptr align 8 %418, ptr addrspace(11) align 8 %3, i64 48, i1 false) |
|
%419 = load ptr addrspace(10), ptr %4, align 8 |
|
%420 = getelementptr inbounds i8, ptr %12, i32 48 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %420, ptr align 8 %11, i64 16, i1 false) |
|
%421 = getelementptr inbounds i8, ptr %12, i32 64 |
|
store i64 %417, ptr %13, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %421, ptr align 8 %13, i64 8, i1 false) |
|
%422 = getelementptr inbounds i8, ptr %12, i32 72 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %422, ptr align 8 @_j_constYY.2, i64 8, i1 false) |
|
br label %423 |
|
|
|
423: ; preds = %415 |
|
br i1 false, label %430, label %424 |
|
|
|
424: ; preds = %423 |
|
%425 = sub i64 %353, %343 |
|
%426 = add i64 1, %425 |
|
%427 = icmp ult i64 0, %426 |
|
%428 = xor i1 %427, true |
|
br i1 %428, label %445, label %429 |
|
|
|
429: ; preds = %424 |
|
br label %430 |
|
|
|
430: ; preds = %429, %423 |
|
%431 = add i64 %417, 1 |
|
br i1 true, label %457, label %432 |
|
|
|
432: ; preds = %430 |
|
%433 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%434 = getelementptr inbounds i8, ptr addrspace(11) %433, i32 8 |
|
%435 = load i64, ptr addrspace(11) %434, align 8 |
|
%436 = load i64, ptr addrspace(11) %433, align 8 |
|
%437 = sub i64 %435, %436 |
|
%438 = add i64 1, %437 |
|
%439 = mul i64 %438, 1 |
|
%440 = icmp ne i64 %439, -9223372036854775808 |
|
%441 = or i1 true, %440 |
|
%442 = and i1 true, %441 |
|
%443 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %442, label %4182, label %4180 |
|
|
|
444: ; preds = %4182 |
|
br label %448 |
|
|
|
445: ; preds = %424 |
|
store ptr addrspace(10) %419, ptr %257, align 8 |
|
%446 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %446, ptr readonly captures(none) %257, i64 signext 1) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
447: ; preds = %4182 |
|
br label %448 |
|
|
|
448: ; preds = %447, %444 |
|
%449 = phi i64 [ %4185, %444 ], [ 0, %447 ] |
|
%450 = icmp slt i64 0, %449 |
|
%451 = xor i1 %450, true |
|
%452 = select i1 %451, i64 0, i64 %449 |
|
%453 = sub i64 %431, 1 |
|
%454 = icmp ult i64 %453, %452 |
|
%455 = xor i1 %454, true |
|
br i1 %455, label %485, label %456 |
|
|
|
456: ; preds = %448 |
|
br label %457 |
|
|
|
457: ; preds = %456, %430 |
|
%458 = load ptr addrspace(10), ptr %4, align 8 |
|
%459 = addrspacecast ptr addrspace(10) %458 to ptr addrspace(11) |
|
%460 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %459, i32 0, i32 0 |
|
%461 = load ptr, ptr addrspace(11) %460, align 8 |
|
%462 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %459, i32 0, i32 1 |
|
%463 = load ptr addrspace(10), ptr addrspace(11) %462, align 8 |
|
%464 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %461, 0 |
|
%465 = insertvalue { ptr, ptr addrspace(10) } %464, ptr addrspace(10) %463, 1 |
|
%466 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%467 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%468 = load i64, ptr addrspace(11) %467, align 8 |
|
%469 = mul i64 %468, 1 |
|
%470 = load i64, ptr addrspace(11) %466, align 8 |
|
%471 = add i64 %470, %469 |
|
%472 = sub i64 %471, 1 |
|
%473 = mul i64 %472, 1 |
|
%474 = getelementptr inbounds i8, ptr %14, i32 0 |
|
store i64 %473, ptr %15, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %474, ptr align 8 %15, i64 8, i1 false) |
|
%475 = getelementptr inbounds i8, ptr %14, i32 8 |
|
store { ptr, ptr addrspace(10) } %465, ptr %16, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %475, ptr align 8 %16, i64 8, i1 false) |
|
%476 = getelementptr inbounds i8, ptr %16, i32 8 |
|
%477 = load ptr addrspace(10), ptr %476, align 8 |
|
%478 = extractvalue { ptr, ptr addrspace(10) } %465, 0 |
|
%479 = getelementptr i8, ptr %478, i64 %473 |
|
%480 = sub i64 %431, 1 |
|
%481 = mul i64 8, %480 |
|
%482 = getelementptr i8, ptr %479, i64 %481 |
|
%483 = getelementptr inbounds i64, ptr %482, i64 0 |
|
%484 = load i64, ptr %483, align 1 |
|
br label %486 |
|
|
|
485: ; preds = %448 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %431) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
486: ; preds = %457 |
|
%487 = load i64, ptr %6, align 8 |
|
%488 = xor i64 %487, %484 |
|
%489 = getelementptr inbounds i8, ptr %6, i32 8 |
|
br i1 false, label %496, label %490 |
|
|
|
490: ; preds = %486 |
|
%491 = sub i64 %353, %343 |
|
%492 = add i64 1, %491 |
|
%493 = icmp ult i64 1, %492 |
|
%494 = xor i1 %493, true |
|
br i1 %494, label %511, label %495 |
|
|
|
495: ; preds = %490 |
|
br label %496 |
|
|
|
496: ; preds = %495, %486 |
|
%497 = add i64 %417, 2 |
|
br i1 true, label %523, label %498 |
|
|
|
498: ; preds = %496 |
|
%499 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%500 = getelementptr inbounds i8, ptr addrspace(11) %499, i32 8 |
|
%501 = load i64, ptr addrspace(11) %500, align 8 |
|
%502 = load i64, ptr addrspace(11) %499, align 8 |
|
%503 = sub i64 %501, %502 |
|
%504 = add i64 1, %503 |
|
%505 = mul i64 %504, 1 |
|
%506 = icmp ne i64 %505, -9223372036854775808 |
|
%507 = or i1 true, %506 |
|
%508 = and i1 true, %507 |
|
%509 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %508, label %4190, label %4188 |
|
|
|
510: ; preds = %4190 |
|
br label %514 |
|
|
|
511: ; preds = %490 |
|
store ptr addrspace(10) %419, ptr %256, align 8 |
|
%512 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %512, ptr readonly captures(none) %256, i64 signext 2) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
513: ; preds = %4190 |
|
br label %514 |
|
|
|
514: ; preds = %513, %510 |
|
%515 = phi i64 [ %4193, %510 ], [ 0, %513 ] |
|
%516 = icmp slt i64 0, %515 |
|
%517 = xor i1 %516, true |
|
%518 = select i1 %517, i64 0, i64 %515 |
|
%519 = sub i64 %497, 1 |
|
%520 = icmp ult i64 %519, %518 |
|
%521 = xor i1 %520, true |
|
br i1 %521, label %551, label %522 |
|
|
|
522: ; preds = %514 |
|
br label %523 |
|
|
|
523: ; preds = %522, %496 |
|
%524 = load ptr addrspace(10), ptr %4, align 8 |
|
%525 = addrspacecast ptr addrspace(10) %524 to ptr addrspace(11) |
|
%526 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %525, i32 0, i32 0 |
|
%527 = load ptr, ptr addrspace(11) %526, align 8 |
|
%528 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %525, i32 0, i32 1 |
|
%529 = load ptr addrspace(10), ptr addrspace(11) %528, align 8 |
|
%530 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %527, 0 |
|
%531 = insertvalue { ptr, ptr addrspace(10) } %530, ptr addrspace(10) %529, 1 |
|
%532 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%533 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%534 = load i64, ptr addrspace(11) %533, align 8 |
|
%535 = mul i64 %534, 1 |
|
%536 = load i64, ptr addrspace(11) %532, align 8 |
|
%537 = add i64 %536, %535 |
|
%538 = sub i64 %537, 1 |
|
%539 = mul i64 %538, 1 |
|
%540 = getelementptr inbounds i8, ptr %17, i32 0 |
|
store i64 %539, ptr %18, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %540, ptr align 8 %18, i64 8, i1 false) |
|
%541 = getelementptr inbounds i8, ptr %17, i32 8 |
|
store { ptr, ptr addrspace(10) } %531, ptr %19, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %541, ptr align 8 %19, i64 8, i1 false) |
|
%542 = getelementptr inbounds i8, ptr %19, i32 8 |
|
%543 = load ptr addrspace(10), ptr %542, align 8 |
|
%544 = extractvalue { ptr, ptr addrspace(10) } %531, 0 |
|
%545 = getelementptr i8, ptr %544, i64 %539 |
|
%546 = sub i64 %497, 1 |
|
%547 = mul i64 8, %546 |
|
%548 = getelementptr i8, ptr %545, i64 %547 |
|
%549 = getelementptr inbounds i64, ptr %548, i64 0 |
|
%550 = load i64, ptr %549, align 1 |
|
br label %552 |
|
|
|
551: ; preds = %514 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %497) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
552: ; preds = %523 |
|
%553 = load i64, ptr %489, align 8 |
|
%554 = xor i64 %553, %550 |
|
%555 = getelementptr inbounds i8, ptr %6, i32 16 |
|
br i1 false, label %562, label %556 |
|
|
|
556: ; preds = %552 |
|
%557 = sub i64 %353, %343 |
|
%558 = add i64 1, %557 |
|
%559 = icmp ult i64 2, %558 |
|
%560 = xor i1 %559, true |
|
br i1 %560, label %577, label %561 |
|
|
|
561: ; preds = %556 |
|
br label %562 |
|
|
|
562: ; preds = %561, %552 |
|
%563 = add i64 %417, 3 |
|
br i1 true, label %589, label %564 |
|
|
|
564: ; preds = %562 |
|
%565 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%566 = getelementptr inbounds i8, ptr addrspace(11) %565, i32 8 |
|
%567 = load i64, ptr addrspace(11) %566, align 8 |
|
%568 = load i64, ptr addrspace(11) %565, align 8 |
|
%569 = sub i64 %567, %568 |
|
%570 = add i64 1, %569 |
|
%571 = mul i64 %570, 1 |
|
%572 = icmp ne i64 %571, -9223372036854775808 |
|
%573 = or i1 true, %572 |
|
%574 = and i1 true, %573 |
|
%575 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %574, label %4198, label %4196 |
|
|
|
576: ; preds = %4198 |
|
br label %580 |
|
|
|
577: ; preds = %556 |
|
store ptr addrspace(10) %419, ptr %255, align 8 |
|
%578 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %578, ptr readonly captures(none) %255, i64 signext 3) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
579: ; preds = %4198 |
|
br label %580 |
|
|
|
580: ; preds = %579, %576 |
|
%581 = phi i64 [ %4201, %576 ], [ 0, %579 ] |
|
%582 = icmp slt i64 0, %581 |
|
%583 = xor i1 %582, true |
|
%584 = select i1 %583, i64 0, i64 %581 |
|
%585 = sub i64 %563, 1 |
|
%586 = icmp ult i64 %585, %584 |
|
%587 = xor i1 %586, true |
|
br i1 %587, label %617, label %588 |
|
|
|
588: ; preds = %580 |
|
br label %589 |
|
|
|
589: ; preds = %588, %562 |
|
%590 = load ptr addrspace(10), ptr %4, align 8 |
|
%591 = addrspacecast ptr addrspace(10) %590 to ptr addrspace(11) |
|
%592 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %591, i32 0, i32 0 |
|
%593 = load ptr, ptr addrspace(11) %592, align 8 |
|
%594 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %591, i32 0, i32 1 |
|
%595 = load ptr addrspace(10), ptr addrspace(11) %594, align 8 |
|
%596 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %593, 0 |
|
%597 = insertvalue { ptr, ptr addrspace(10) } %596, ptr addrspace(10) %595, 1 |
|
%598 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%599 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%600 = load i64, ptr addrspace(11) %599, align 8 |
|
%601 = mul i64 %600, 1 |
|
%602 = load i64, ptr addrspace(11) %598, align 8 |
|
%603 = add i64 %602, %601 |
|
%604 = sub i64 %603, 1 |
|
%605 = mul i64 %604, 1 |
|
%606 = getelementptr inbounds i8, ptr %20, i32 0 |
|
store i64 %605, ptr %21, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %606, ptr align 8 %21, i64 8, i1 false) |
|
%607 = getelementptr inbounds i8, ptr %20, i32 8 |
|
store { ptr, ptr addrspace(10) } %597, ptr %22, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %607, ptr align 8 %22, i64 8, i1 false) |
|
%608 = getelementptr inbounds i8, ptr %22, i32 8 |
|
%609 = load ptr addrspace(10), ptr %608, align 8 |
|
%610 = extractvalue { ptr, ptr addrspace(10) } %597, 0 |
|
%611 = getelementptr i8, ptr %610, i64 %605 |
|
%612 = sub i64 %563, 1 |
|
%613 = mul i64 8, %612 |
|
%614 = getelementptr i8, ptr %611, i64 %613 |
|
%615 = getelementptr inbounds i64, ptr %614, i64 0 |
|
%616 = load i64, ptr %615, align 1 |
|
br label %618 |
|
|
|
617: ; preds = %580 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %563) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
618: ; preds = %589 |
|
%619 = load i64, ptr %555, align 8 |
|
%620 = xor i64 %619, %616 |
|
%621 = getelementptr inbounds i8, ptr %6, i32 24 |
|
br i1 false, label %628, label %622 |
|
|
|
622: ; preds = %618 |
|
%623 = sub i64 %353, %343 |
|
%624 = add i64 1, %623 |
|
%625 = icmp ult i64 3, %624 |
|
%626 = xor i1 %625, true |
|
br i1 %626, label %643, label %627 |
|
|
|
627: ; preds = %622 |
|
br label %628 |
|
|
|
628: ; preds = %627, %618 |
|
%629 = add i64 %417, 4 |
|
br i1 true, label %655, label %630 |
|
|
|
630: ; preds = %628 |
|
%631 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%632 = getelementptr inbounds i8, ptr addrspace(11) %631, i32 8 |
|
%633 = load i64, ptr addrspace(11) %632, align 8 |
|
%634 = load i64, ptr addrspace(11) %631, align 8 |
|
%635 = sub i64 %633, %634 |
|
%636 = add i64 1, %635 |
|
%637 = mul i64 %636, 1 |
|
%638 = icmp ne i64 %637, -9223372036854775808 |
|
%639 = or i1 true, %638 |
|
%640 = and i1 true, %639 |
|
%641 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %640, label %4206, label %4204 |
|
|
|
642: ; preds = %4206 |
|
br label %646 |
|
|
|
643: ; preds = %622 |
|
store ptr addrspace(10) %419, ptr %254, align 8 |
|
%644 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %644, ptr readonly captures(none) %254, i64 signext 4) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
645: ; preds = %4206 |
|
br label %646 |
|
|
|
646: ; preds = %645, %642 |
|
%647 = phi i64 [ %4209, %642 ], [ 0, %645 ] |
|
%648 = icmp slt i64 0, %647 |
|
%649 = xor i1 %648, true |
|
%650 = select i1 %649, i64 0, i64 %647 |
|
%651 = sub i64 %629, 1 |
|
%652 = icmp ult i64 %651, %650 |
|
%653 = xor i1 %652, true |
|
br i1 %653, label %683, label %654 |
|
|
|
654: ; preds = %646 |
|
br label %655 |
|
|
|
655: ; preds = %654, %628 |
|
%656 = load ptr addrspace(10), ptr %4, align 8 |
|
%657 = addrspacecast ptr addrspace(10) %656 to ptr addrspace(11) |
|
%658 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %657, i32 0, i32 0 |
|
%659 = load ptr, ptr addrspace(11) %658, align 8 |
|
%660 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %657, i32 0, i32 1 |
|
%661 = load ptr addrspace(10), ptr addrspace(11) %660, align 8 |
|
%662 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %659, 0 |
|
%663 = insertvalue { ptr, ptr addrspace(10) } %662, ptr addrspace(10) %661, 1 |
|
%664 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%665 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%666 = load i64, ptr addrspace(11) %665, align 8 |
|
%667 = mul i64 %666, 1 |
|
%668 = load i64, ptr addrspace(11) %664, align 8 |
|
%669 = add i64 %668, %667 |
|
%670 = sub i64 %669, 1 |
|
%671 = mul i64 %670, 1 |
|
%672 = getelementptr inbounds i8, ptr %23, i32 0 |
|
store i64 %671, ptr %24, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %672, ptr align 8 %24, i64 8, i1 false) |
|
%673 = getelementptr inbounds i8, ptr %23, i32 8 |
|
store { ptr, ptr addrspace(10) } %663, ptr %25, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %673, ptr align 8 %25, i64 8, i1 false) |
|
%674 = getelementptr inbounds i8, ptr %25, i32 8 |
|
%675 = load ptr addrspace(10), ptr %674, align 8 |
|
%676 = extractvalue { ptr, ptr addrspace(10) } %663, 0 |
|
%677 = getelementptr i8, ptr %676, i64 %671 |
|
%678 = sub i64 %629, 1 |
|
%679 = mul i64 8, %678 |
|
%680 = getelementptr i8, ptr %677, i64 %679 |
|
%681 = getelementptr inbounds i64, ptr %680, i64 0 |
|
%682 = load i64, ptr %681, align 1 |
|
br label %684 |
|
|
|
683: ; preds = %646 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %629) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
684: ; preds = %655 |
|
%685 = load i64, ptr %621, align 8 |
|
%686 = xor i64 %685, %682 |
|
%687 = getelementptr inbounds i8, ptr %6, i32 32 |
|
br i1 false, label %694, label %688 |
|
|
|
688: ; preds = %684 |
|
%689 = sub i64 %353, %343 |
|
%690 = add i64 1, %689 |
|
%691 = icmp ult i64 4, %690 |
|
%692 = xor i1 %691, true |
|
br i1 %692, label %709, label %693 |
|
|
|
693: ; preds = %688 |
|
br label %694 |
|
|
|
694: ; preds = %693, %684 |
|
%695 = add i64 %417, 5 |
|
br i1 true, label %721, label %696 |
|
|
|
696: ; preds = %694 |
|
%697 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%698 = getelementptr inbounds i8, ptr addrspace(11) %697, i32 8 |
|
%699 = load i64, ptr addrspace(11) %698, align 8 |
|
%700 = load i64, ptr addrspace(11) %697, align 8 |
|
%701 = sub i64 %699, %700 |
|
%702 = add i64 1, %701 |
|
%703 = mul i64 %702, 1 |
|
%704 = icmp ne i64 %703, -9223372036854775808 |
|
%705 = or i1 true, %704 |
|
%706 = and i1 true, %705 |
|
%707 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %706, label %4214, label %4212 |
|
|
|
708: ; preds = %4214 |
|
br label %712 |
|
|
|
709: ; preds = %688 |
|
store ptr addrspace(10) %419, ptr %253, align 8 |
|
%710 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %710, ptr readonly captures(none) %253, i64 signext 5) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
711: ; preds = %4214 |
|
br label %712 |
|
|
|
712: ; preds = %711, %708 |
|
%713 = phi i64 [ %4217, %708 ], [ 0, %711 ] |
|
%714 = icmp slt i64 0, %713 |
|
%715 = xor i1 %714, true |
|
%716 = select i1 %715, i64 0, i64 %713 |
|
%717 = sub i64 %695, 1 |
|
%718 = icmp ult i64 %717, %716 |
|
%719 = xor i1 %718, true |
|
br i1 %719, label %749, label %720 |
|
|
|
720: ; preds = %712 |
|
br label %721 |
|
|
|
721: ; preds = %720, %694 |
|
%722 = load ptr addrspace(10), ptr %4, align 8 |
|
%723 = addrspacecast ptr addrspace(10) %722 to ptr addrspace(11) |
|
%724 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %723, i32 0, i32 0 |
|
%725 = load ptr, ptr addrspace(11) %724, align 8 |
|
%726 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %723, i32 0, i32 1 |
|
%727 = load ptr addrspace(10), ptr addrspace(11) %726, align 8 |
|
%728 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %725, 0 |
|
%729 = insertvalue { ptr, ptr addrspace(10) } %728, ptr addrspace(10) %727, 1 |
|
%730 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%731 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%732 = load i64, ptr addrspace(11) %731, align 8 |
|
%733 = mul i64 %732, 1 |
|
%734 = load i64, ptr addrspace(11) %730, align 8 |
|
%735 = add i64 %734, %733 |
|
%736 = sub i64 %735, 1 |
|
%737 = mul i64 %736, 1 |
|
%738 = getelementptr inbounds i8, ptr %26, i32 0 |
|
store i64 %737, ptr %27, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %738, ptr align 8 %27, i64 8, i1 false) |
|
%739 = getelementptr inbounds i8, ptr %26, i32 8 |
|
store { ptr, ptr addrspace(10) } %729, ptr %28, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %739, ptr align 8 %28, i64 8, i1 false) |
|
%740 = getelementptr inbounds i8, ptr %28, i32 8 |
|
%741 = load ptr addrspace(10), ptr %740, align 8 |
|
%742 = extractvalue { ptr, ptr addrspace(10) } %729, 0 |
|
%743 = getelementptr i8, ptr %742, i64 %737 |
|
%744 = sub i64 %695, 1 |
|
%745 = mul i64 8, %744 |
|
%746 = getelementptr i8, ptr %743, i64 %745 |
|
%747 = getelementptr inbounds i64, ptr %746, i64 0 |
|
%748 = load i64, ptr %747, align 1 |
|
br label %750 |
|
|
|
749: ; preds = %712 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %695) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
750: ; preds = %721 |
|
%751 = load i64, ptr %687, align 8 |
|
%752 = xor i64 %751, %748 |
|
%753 = getelementptr inbounds i8, ptr %6, i32 40 |
|
br i1 false, label %760, label %754 |
|
|
|
754: ; preds = %750 |
|
%755 = sub i64 %353, %343 |
|
%756 = add i64 1, %755 |
|
%757 = icmp ult i64 5, %756 |
|
%758 = xor i1 %757, true |
|
br i1 %758, label %775, label %759 |
|
|
|
759: ; preds = %754 |
|
br label %760 |
|
|
|
760: ; preds = %759, %750 |
|
%761 = add i64 %417, 6 |
|
br i1 true, label %787, label %762 |
|
|
|
762: ; preds = %760 |
|
%763 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%764 = getelementptr inbounds i8, ptr addrspace(11) %763, i32 8 |
|
%765 = load i64, ptr addrspace(11) %764, align 8 |
|
%766 = load i64, ptr addrspace(11) %763, align 8 |
|
%767 = sub i64 %765, %766 |
|
%768 = add i64 1, %767 |
|
%769 = mul i64 %768, 1 |
|
%770 = icmp ne i64 %769, -9223372036854775808 |
|
%771 = or i1 true, %770 |
|
%772 = and i1 true, %771 |
|
%773 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %772, label %4222, label %4220 |
|
|
|
774: ; preds = %4222 |
|
br label %778 |
|
|
|
775: ; preds = %754 |
|
store ptr addrspace(10) %419, ptr %252, align 8 |
|
%776 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %776, ptr readonly captures(none) %252, i64 signext 6) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
777: ; preds = %4222 |
|
br label %778 |
|
|
|
778: ; preds = %777, %774 |
|
%779 = phi i64 [ %4225, %774 ], [ 0, %777 ] |
|
%780 = icmp slt i64 0, %779 |
|
%781 = xor i1 %780, true |
|
%782 = select i1 %781, i64 0, i64 %779 |
|
%783 = sub i64 %761, 1 |
|
%784 = icmp ult i64 %783, %782 |
|
%785 = xor i1 %784, true |
|
br i1 %785, label %815, label %786 |
|
|
|
786: ; preds = %778 |
|
br label %787 |
|
|
|
787: ; preds = %786, %760 |
|
%788 = load ptr addrspace(10), ptr %4, align 8 |
|
%789 = addrspacecast ptr addrspace(10) %788 to ptr addrspace(11) |
|
%790 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %789, i32 0, i32 0 |
|
%791 = load ptr, ptr addrspace(11) %790, align 8 |
|
%792 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %789, i32 0, i32 1 |
|
%793 = load ptr addrspace(10), ptr addrspace(11) %792, align 8 |
|
%794 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %791, 0 |
|
%795 = insertvalue { ptr, ptr addrspace(10) } %794, ptr addrspace(10) %793, 1 |
|
%796 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%797 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%798 = load i64, ptr addrspace(11) %797, align 8 |
|
%799 = mul i64 %798, 1 |
|
%800 = load i64, ptr addrspace(11) %796, align 8 |
|
%801 = add i64 %800, %799 |
|
%802 = sub i64 %801, 1 |
|
%803 = mul i64 %802, 1 |
|
%804 = getelementptr inbounds i8, ptr %29, i32 0 |
|
store i64 %803, ptr %30, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %804, ptr align 8 %30, i64 8, i1 false) |
|
%805 = getelementptr inbounds i8, ptr %29, i32 8 |
|
store { ptr, ptr addrspace(10) } %795, ptr %31, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %805, ptr align 8 %31, i64 8, i1 false) |
|
%806 = getelementptr inbounds i8, ptr %31, i32 8 |
|
%807 = load ptr addrspace(10), ptr %806, align 8 |
|
%808 = extractvalue { ptr, ptr addrspace(10) } %795, 0 |
|
%809 = getelementptr i8, ptr %808, i64 %803 |
|
%810 = sub i64 %761, 1 |
|
%811 = mul i64 8, %810 |
|
%812 = getelementptr i8, ptr %809, i64 %811 |
|
%813 = getelementptr inbounds i64, ptr %812, i64 0 |
|
%814 = load i64, ptr %813, align 1 |
|
br label %816 |
|
|
|
815: ; preds = %778 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %761) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
816: ; preds = %787 |
|
%817 = load i64, ptr %753, align 8 |
|
%818 = xor i64 %817, %814 |
|
%819 = getelementptr inbounds i8, ptr %6, i32 48 |
|
br i1 false, label %826, label %820 |
|
|
|
820: ; preds = %816 |
|
%821 = sub i64 %353, %343 |
|
%822 = add i64 1, %821 |
|
%823 = icmp ult i64 6, %822 |
|
%824 = xor i1 %823, true |
|
br i1 %824, label %841, label %825 |
|
|
|
825: ; preds = %820 |
|
br label %826 |
|
|
|
826: ; preds = %825, %816 |
|
%827 = add i64 %417, 7 |
|
br i1 true, label %853, label %828 |
|
|
|
828: ; preds = %826 |
|
%829 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%830 = getelementptr inbounds i8, ptr addrspace(11) %829, i32 8 |
|
%831 = load i64, ptr addrspace(11) %830, align 8 |
|
%832 = load i64, ptr addrspace(11) %829, align 8 |
|
%833 = sub i64 %831, %832 |
|
%834 = add i64 1, %833 |
|
%835 = mul i64 %834, 1 |
|
%836 = icmp ne i64 %835, -9223372036854775808 |
|
%837 = or i1 true, %836 |
|
%838 = and i1 true, %837 |
|
%839 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %838, label %4230, label %4228 |
|
|
|
840: ; preds = %4230 |
|
br label %844 |
|
|
|
841: ; preds = %820 |
|
store ptr addrspace(10) %419, ptr %251, align 8 |
|
%842 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %842, ptr readonly captures(none) %251, i64 signext 7) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
843: ; preds = %4230 |
|
br label %844 |
|
|
|
844: ; preds = %843, %840 |
|
%845 = phi i64 [ %4233, %840 ], [ 0, %843 ] |
|
%846 = icmp slt i64 0, %845 |
|
%847 = xor i1 %846, true |
|
%848 = select i1 %847, i64 0, i64 %845 |
|
%849 = sub i64 %827, 1 |
|
%850 = icmp ult i64 %849, %848 |
|
%851 = xor i1 %850, true |
|
br i1 %851, label %881, label %852 |
|
|
|
852: ; preds = %844 |
|
br label %853 |
|
|
|
853: ; preds = %852, %826 |
|
%854 = load ptr addrspace(10), ptr %4, align 8 |
|
%855 = addrspacecast ptr addrspace(10) %854 to ptr addrspace(11) |
|
%856 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %855, i32 0, i32 0 |
|
%857 = load ptr, ptr addrspace(11) %856, align 8 |
|
%858 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %855, i32 0, i32 1 |
|
%859 = load ptr addrspace(10), ptr addrspace(11) %858, align 8 |
|
%860 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %857, 0 |
|
%861 = insertvalue { ptr, ptr addrspace(10) } %860, ptr addrspace(10) %859, 1 |
|
%862 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%863 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%864 = load i64, ptr addrspace(11) %863, align 8 |
|
%865 = mul i64 %864, 1 |
|
%866 = load i64, ptr addrspace(11) %862, align 8 |
|
%867 = add i64 %866, %865 |
|
%868 = sub i64 %867, 1 |
|
%869 = mul i64 %868, 1 |
|
%870 = getelementptr inbounds i8, ptr %32, i32 0 |
|
store i64 %869, ptr %33, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %870, ptr align 8 %33, i64 8, i1 false) |
|
%871 = getelementptr inbounds i8, ptr %32, i32 8 |
|
store { ptr, ptr addrspace(10) } %861, ptr %34, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %871, ptr align 8 %34, i64 8, i1 false) |
|
%872 = getelementptr inbounds i8, ptr %34, i32 8 |
|
%873 = load ptr addrspace(10), ptr %872, align 8 |
|
%874 = extractvalue { ptr, ptr addrspace(10) } %861, 0 |
|
%875 = getelementptr i8, ptr %874, i64 %869 |
|
%876 = sub i64 %827, 1 |
|
%877 = mul i64 8, %876 |
|
%878 = getelementptr i8, ptr %875, i64 %877 |
|
%879 = getelementptr inbounds i64, ptr %878, i64 0 |
|
%880 = load i64, ptr %879, align 1 |
|
br label %882 |
|
|
|
881: ; preds = %844 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %827) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
882: ; preds = %853 |
|
%883 = load i64, ptr %819, align 8 |
|
%884 = xor i64 %883, %880 |
|
%885 = getelementptr inbounds i8, ptr %6, i32 56 |
|
br i1 false, label %892, label %886 |
|
|
|
886: ; preds = %882 |
|
%887 = sub i64 %353, %343 |
|
%888 = add i64 1, %887 |
|
%889 = icmp ult i64 7, %888 |
|
%890 = xor i1 %889, true |
|
br i1 %890, label %907, label %891 |
|
|
|
891: ; preds = %886 |
|
br label %892 |
|
|
|
892: ; preds = %891, %882 |
|
%893 = add i64 %417, 8 |
|
br i1 true, label %919, label %894 |
|
|
|
894: ; preds = %892 |
|
%895 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%896 = getelementptr inbounds i8, ptr addrspace(11) %895, i32 8 |
|
%897 = load i64, ptr addrspace(11) %896, align 8 |
|
%898 = load i64, ptr addrspace(11) %895, align 8 |
|
%899 = sub i64 %897, %898 |
|
%900 = add i64 1, %899 |
|
%901 = mul i64 %900, 1 |
|
%902 = icmp ne i64 %901, -9223372036854775808 |
|
%903 = or i1 true, %902 |
|
%904 = and i1 true, %903 |
|
%905 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %904, label %4238, label %4236 |
|
|
|
906: ; preds = %4238 |
|
br label %910 |
|
|
|
907: ; preds = %886 |
|
store ptr addrspace(10) %419, ptr %250, align 8 |
|
%908 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %908, ptr readonly captures(none) %250, i64 signext 8) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
909: ; preds = %4238 |
|
br label %910 |
|
|
|
910: ; preds = %909, %906 |
|
%911 = phi i64 [ %4241, %906 ], [ 0, %909 ] |
|
%912 = icmp slt i64 0, %911 |
|
%913 = xor i1 %912, true |
|
%914 = select i1 %913, i64 0, i64 %911 |
|
%915 = sub i64 %893, 1 |
|
%916 = icmp ult i64 %915, %914 |
|
%917 = xor i1 %916, true |
|
br i1 %917, label %947, label %918 |
|
|
|
918: ; preds = %910 |
|
br label %919 |
|
|
|
919: ; preds = %918, %892 |
|
%920 = load ptr addrspace(10), ptr %4, align 8 |
|
%921 = addrspacecast ptr addrspace(10) %920 to ptr addrspace(11) |
|
%922 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %921, i32 0, i32 0 |
|
%923 = load ptr, ptr addrspace(11) %922, align 8 |
|
%924 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %921, i32 0, i32 1 |
|
%925 = load ptr addrspace(10), ptr addrspace(11) %924, align 8 |
|
%926 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %923, 0 |
|
%927 = insertvalue { ptr, ptr addrspace(10) } %926, ptr addrspace(10) %925, 1 |
|
%928 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%929 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%930 = load i64, ptr addrspace(11) %929, align 8 |
|
%931 = mul i64 %930, 1 |
|
%932 = load i64, ptr addrspace(11) %928, align 8 |
|
%933 = add i64 %932, %931 |
|
%934 = sub i64 %933, 1 |
|
%935 = mul i64 %934, 1 |
|
%936 = getelementptr inbounds i8, ptr %35, i32 0 |
|
store i64 %935, ptr %36, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %936, ptr align 8 %36, i64 8, i1 false) |
|
%937 = getelementptr inbounds i8, ptr %35, i32 8 |
|
store { ptr, ptr addrspace(10) } %927, ptr %37, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %937, ptr align 8 %37, i64 8, i1 false) |
|
%938 = getelementptr inbounds i8, ptr %37, i32 8 |
|
%939 = load ptr addrspace(10), ptr %938, align 8 |
|
%940 = extractvalue { ptr, ptr addrspace(10) } %927, 0 |
|
%941 = getelementptr i8, ptr %940, i64 %935 |
|
%942 = sub i64 %893, 1 |
|
%943 = mul i64 8, %942 |
|
%944 = getelementptr i8, ptr %941, i64 %943 |
|
%945 = getelementptr inbounds i64, ptr %944, i64 0 |
|
%946 = load i64, ptr %945, align 1 |
|
br label %948 |
|
|
|
947: ; preds = %910 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %893) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
948: ; preds = %919 |
|
%949 = load i64, ptr %885, align 8 |
|
%950 = xor i64 %949, %946 |
|
%951 = getelementptr inbounds i8, ptr %6, i32 64 |
|
br i1 false, label %958, label %952 |
|
|
|
952: ; preds = %948 |
|
%953 = sub i64 %353, %343 |
|
%954 = add i64 1, %953 |
|
%955 = icmp ult i64 8, %954 |
|
%956 = xor i1 %955, true |
|
br i1 %956, label %973, label %957 |
|
|
|
957: ; preds = %952 |
|
br label %958 |
|
|
|
958: ; preds = %957, %948 |
|
%959 = add i64 %417, 9 |
|
br i1 true, label %985, label %960 |
|
|
|
960: ; preds = %958 |
|
%961 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%962 = getelementptr inbounds i8, ptr addrspace(11) %961, i32 8 |
|
%963 = load i64, ptr addrspace(11) %962, align 8 |
|
%964 = load i64, ptr addrspace(11) %961, align 8 |
|
%965 = sub i64 %963, %964 |
|
%966 = add i64 1, %965 |
|
%967 = mul i64 %966, 1 |
|
%968 = icmp ne i64 %967, -9223372036854775808 |
|
%969 = or i1 true, %968 |
|
%970 = and i1 true, %969 |
|
%971 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %970, label %4246, label %4244 |
|
|
|
972: ; preds = %4246 |
|
br label %976 |
|
|
|
973: ; preds = %952 |
|
store ptr addrspace(10) %419, ptr %249, align 8 |
|
%974 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %974, ptr readonly captures(none) %249, i64 signext 9) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
975: ; preds = %4246 |
|
br label %976 |
|
|
|
976: ; preds = %975, %972 |
|
%977 = phi i64 [ %4249, %972 ], [ 0, %975 ] |
|
%978 = icmp slt i64 0, %977 |
|
%979 = xor i1 %978, true |
|
%980 = select i1 %979, i64 0, i64 %977 |
|
%981 = sub i64 %959, 1 |
|
%982 = icmp ult i64 %981, %980 |
|
%983 = xor i1 %982, true |
|
br i1 %983, label %1013, label %984 |
|
|
|
984: ; preds = %976 |
|
br label %985 |
|
|
|
985: ; preds = %984, %958 |
|
%986 = load ptr addrspace(10), ptr %4, align 8 |
|
%987 = addrspacecast ptr addrspace(10) %986 to ptr addrspace(11) |
|
%988 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %987, i32 0, i32 0 |
|
%989 = load ptr, ptr addrspace(11) %988, align 8 |
|
%990 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %987, i32 0, i32 1 |
|
%991 = load ptr addrspace(10), ptr addrspace(11) %990, align 8 |
|
%992 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %989, 0 |
|
%993 = insertvalue { ptr, ptr addrspace(10) } %992, ptr addrspace(10) %991, 1 |
|
%994 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%995 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%996 = load i64, ptr addrspace(11) %995, align 8 |
|
%997 = mul i64 %996, 1 |
|
%998 = load i64, ptr addrspace(11) %994, align 8 |
|
%999 = add i64 %998, %997 |
|
%1000 = sub i64 %999, 1 |
|
%1001 = mul i64 %1000, 1 |
|
%1002 = getelementptr inbounds i8, ptr %38, i32 0 |
|
store i64 %1001, ptr %39, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1002, ptr align 8 %39, i64 8, i1 false) |
|
%1003 = getelementptr inbounds i8, ptr %38, i32 8 |
|
store { ptr, ptr addrspace(10) } %993, ptr %40, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1003, ptr align 8 %40, i64 8, i1 false) |
|
%1004 = getelementptr inbounds i8, ptr %40, i32 8 |
|
%1005 = load ptr addrspace(10), ptr %1004, align 8 |
|
%1006 = extractvalue { ptr, ptr addrspace(10) } %993, 0 |
|
%1007 = getelementptr i8, ptr %1006, i64 %1001 |
|
%1008 = sub i64 %959, 1 |
|
%1009 = mul i64 8, %1008 |
|
%1010 = getelementptr i8, ptr %1007, i64 %1009 |
|
%1011 = getelementptr inbounds i64, ptr %1010, i64 0 |
|
%1012 = load i64, ptr %1011, align 1 |
|
br label %1014 |
|
|
|
1013: ; preds = %976 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %959) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1014: ; preds = %985 |
|
%1015 = load i64, ptr %951, align 8 |
|
%1016 = xor i64 %1015, %1012 |
|
%1017 = getelementptr inbounds i8, ptr %6, i32 72 |
|
br i1 false, label %1024, label %1018 |
|
|
|
1018: ; preds = %1014 |
|
%1019 = sub i64 %353, %343 |
|
%1020 = add i64 1, %1019 |
|
%1021 = icmp ult i64 9, %1020 |
|
%1022 = xor i1 %1021, true |
|
br i1 %1022, label %1039, label %1023 |
|
|
|
1023: ; preds = %1018 |
|
br label %1024 |
|
|
|
1024: ; preds = %1023, %1014 |
|
%1025 = add i64 %417, 10 |
|
br i1 true, label %1051, label %1026 |
|
|
|
1026: ; preds = %1024 |
|
%1027 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1028 = getelementptr inbounds i8, ptr addrspace(11) %1027, i32 8 |
|
%1029 = load i64, ptr addrspace(11) %1028, align 8 |
|
%1030 = load i64, ptr addrspace(11) %1027, align 8 |
|
%1031 = sub i64 %1029, %1030 |
|
%1032 = add i64 1, %1031 |
|
%1033 = mul i64 %1032, 1 |
|
%1034 = icmp ne i64 %1033, -9223372036854775808 |
|
%1035 = or i1 true, %1034 |
|
%1036 = and i1 true, %1035 |
|
%1037 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1036, label %4254, label %4252 |
|
|
|
1038: ; preds = %4254 |
|
br label %1042 |
|
|
|
1039: ; preds = %1018 |
|
store ptr addrspace(10) %419, ptr %248, align 8 |
|
%1040 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1040, ptr readonly captures(none) %248, i64 signext 10) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1041: ; preds = %4254 |
|
br label %1042 |
|
|
|
1042: ; preds = %1041, %1038 |
|
%1043 = phi i64 [ %4257, %1038 ], [ 0, %1041 ] |
|
%1044 = icmp slt i64 0, %1043 |
|
%1045 = xor i1 %1044, true |
|
%1046 = select i1 %1045, i64 0, i64 %1043 |
|
%1047 = sub i64 %1025, 1 |
|
%1048 = icmp ult i64 %1047, %1046 |
|
%1049 = xor i1 %1048, true |
|
br i1 %1049, label %1079, label %1050 |
|
|
|
1050: ; preds = %1042 |
|
br label %1051 |
|
|
|
1051: ; preds = %1050, %1024 |
|
%1052 = load ptr addrspace(10), ptr %4, align 8 |
|
%1053 = addrspacecast ptr addrspace(10) %1052 to ptr addrspace(11) |
|
%1054 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1053, i32 0, i32 0 |
|
%1055 = load ptr, ptr addrspace(11) %1054, align 8 |
|
%1056 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1053, i32 0, i32 1 |
|
%1057 = load ptr addrspace(10), ptr addrspace(11) %1056, align 8 |
|
%1058 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1055, 0 |
|
%1059 = insertvalue { ptr, ptr addrspace(10) } %1058, ptr addrspace(10) %1057, 1 |
|
%1060 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1061 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1062 = load i64, ptr addrspace(11) %1061, align 8 |
|
%1063 = mul i64 %1062, 1 |
|
%1064 = load i64, ptr addrspace(11) %1060, align 8 |
|
%1065 = add i64 %1064, %1063 |
|
%1066 = sub i64 %1065, 1 |
|
%1067 = mul i64 %1066, 1 |
|
%1068 = getelementptr inbounds i8, ptr %41, i32 0 |
|
store i64 %1067, ptr %42, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1068, ptr align 8 %42, i64 8, i1 false) |
|
%1069 = getelementptr inbounds i8, ptr %41, i32 8 |
|
store { ptr, ptr addrspace(10) } %1059, ptr %43, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1069, ptr align 8 %43, i64 8, i1 false) |
|
%1070 = getelementptr inbounds i8, ptr %43, i32 8 |
|
%1071 = load ptr addrspace(10), ptr %1070, align 8 |
|
%1072 = extractvalue { ptr, ptr addrspace(10) } %1059, 0 |
|
%1073 = getelementptr i8, ptr %1072, i64 %1067 |
|
%1074 = sub i64 %1025, 1 |
|
%1075 = mul i64 8, %1074 |
|
%1076 = getelementptr i8, ptr %1073, i64 %1075 |
|
%1077 = getelementptr inbounds i64, ptr %1076, i64 0 |
|
%1078 = load i64, ptr %1077, align 1 |
|
br label %1080 |
|
|
|
1079: ; preds = %1042 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1025) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1080: ; preds = %1051 |
|
%1081 = load i64, ptr %1017, align 8 |
|
%1082 = xor i64 %1081, %1078 |
|
%1083 = getelementptr inbounds i8, ptr %6, i32 80 |
|
br i1 false, label %1090, label %1084 |
|
|
|
1084: ; preds = %1080 |
|
%1085 = sub i64 %353, %343 |
|
%1086 = add i64 1, %1085 |
|
%1087 = icmp ult i64 10, %1086 |
|
%1088 = xor i1 %1087, true |
|
br i1 %1088, label %1105, label %1089 |
|
|
|
1089: ; preds = %1084 |
|
br label %1090 |
|
|
|
1090: ; preds = %1089, %1080 |
|
%1091 = add i64 %417, 11 |
|
br i1 true, label %1117, label %1092 |
|
|
|
1092: ; preds = %1090 |
|
%1093 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1094 = getelementptr inbounds i8, ptr addrspace(11) %1093, i32 8 |
|
%1095 = load i64, ptr addrspace(11) %1094, align 8 |
|
%1096 = load i64, ptr addrspace(11) %1093, align 8 |
|
%1097 = sub i64 %1095, %1096 |
|
%1098 = add i64 1, %1097 |
|
%1099 = mul i64 %1098, 1 |
|
%1100 = icmp ne i64 %1099, -9223372036854775808 |
|
%1101 = or i1 true, %1100 |
|
%1102 = and i1 true, %1101 |
|
%1103 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1102, label %4262, label %4260 |
|
|
|
1104: ; preds = %4262 |
|
br label %1108 |
|
|
|
1105: ; preds = %1084 |
|
store ptr addrspace(10) %419, ptr %247, align 8 |
|
%1106 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1106, ptr readonly captures(none) %247, i64 signext 11) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1107: ; preds = %4262 |
|
br label %1108 |
|
|
|
1108: ; preds = %1107, %1104 |
|
%1109 = phi i64 [ %4265, %1104 ], [ 0, %1107 ] |
|
%1110 = icmp slt i64 0, %1109 |
|
%1111 = xor i1 %1110, true |
|
%1112 = select i1 %1111, i64 0, i64 %1109 |
|
%1113 = sub i64 %1091, 1 |
|
%1114 = icmp ult i64 %1113, %1112 |
|
%1115 = xor i1 %1114, true |
|
br i1 %1115, label %1145, label %1116 |
|
|
|
1116: ; preds = %1108 |
|
br label %1117 |
|
|
|
1117: ; preds = %1116, %1090 |
|
%1118 = load ptr addrspace(10), ptr %4, align 8 |
|
%1119 = addrspacecast ptr addrspace(10) %1118 to ptr addrspace(11) |
|
%1120 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1119, i32 0, i32 0 |
|
%1121 = load ptr, ptr addrspace(11) %1120, align 8 |
|
%1122 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1119, i32 0, i32 1 |
|
%1123 = load ptr addrspace(10), ptr addrspace(11) %1122, align 8 |
|
%1124 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1121, 0 |
|
%1125 = insertvalue { ptr, ptr addrspace(10) } %1124, ptr addrspace(10) %1123, 1 |
|
%1126 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1127 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1128 = load i64, ptr addrspace(11) %1127, align 8 |
|
%1129 = mul i64 %1128, 1 |
|
%1130 = load i64, ptr addrspace(11) %1126, align 8 |
|
%1131 = add i64 %1130, %1129 |
|
%1132 = sub i64 %1131, 1 |
|
%1133 = mul i64 %1132, 1 |
|
%1134 = getelementptr inbounds i8, ptr %44, i32 0 |
|
store i64 %1133, ptr %45, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1134, ptr align 8 %45, i64 8, i1 false) |
|
%1135 = getelementptr inbounds i8, ptr %44, i32 8 |
|
store { ptr, ptr addrspace(10) } %1125, ptr %46, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1135, ptr align 8 %46, i64 8, i1 false) |
|
%1136 = getelementptr inbounds i8, ptr %46, i32 8 |
|
%1137 = load ptr addrspace(10), ptr %1136, align 8 |
|
%1138 = extractvalue { ptr, ptr addrspace(10) } %1125, 0 |
|
%1139 = getelementptr i8, ptr %1138, i64 %1133 |
|
%1140 = sub i64 %1091, 1 |
|
%1141 = mul i64 8, %1140 |
|
%1142 = getelementptr i8, ptr %1139, i64 %1141 |
|
%1143 = getelementptr inbounds i64, ptr %1142, i64 0 |
|
%1144 = load i64, ptr %1143, align 1 |
|
br label %1146 |
|
|
|
1145: ; preds = %1108 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1091) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1146: ; preds = %1117 |
|
%1147 = load i64, ptr %1083, align 8 |
|
%1148 = xor i64 %1147, %1144 |
|
%1149 = getelementptr inbounds i8, ptr %6, i32 88 |
|
br i1 false, label %1156, label %1150 |
|
|
|
1150: ; preds = %1146 |
|
%1151 = sub i64 %353, %343 |
|
%1152 = add i64 1, %1151 |
|
%1153 = icmp ult i64 11, %1152 |
|
%1154 = xor i1 %1153, true |
|
br i1 %1154, label %1171, label %1155 |
|
|
|
1155: ; preds = %1150 |
|
br label %1156 |
|
|
|
1156: ; preds = %1155, %1146 |
|
%1157 = add i64 %417, 12 |
|
br i1 true, label %1183, label %1158 |
|
|
|
1158: ; preds = %1156 |
|
%1159 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1160 = getelementptr inbounds i8, ptr addrspace(11) %1159, i32 8 |
|
%1161 = load i64, ptr addrspace(11) %1160, align 8 |
|
%1162 = load i64, ptr addrspace(11) %1159, align 8 |
|
%1163 = sub i64 %1161, %1162 |
|
%1164 = add i64 1, %1163 |
|
%1165 = mul i64 %1164, 1 |
|
%1166 = icmp ne i64 %1165, -9223372036854775808 |
|
%1167 = or i1 true, %1166 |
|
%1168 = and i1 true, %1167 |
|
%1169 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1168, label %4270, label %4268 |
|
|
|
1170: ; preds = %4270 |
|
br label %1174 |
|
|
|
1171: ; preds = %1150 |
|
store ptr addrspace(10) %419, ptr %246, align 8 |
|
%1172 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1172, ptr readonly captures(none) %246, i64 signext 12) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1173: ; preds = %4270 |
|
br label %1174 |
|
|
|
1174: ; preds = %1173, %1170 |
|
%1175 = phi i64 [ %4273, %1170 ], [ 0, %1173 ] |
|
%1176 = icmp slt i64 0, %1175 |
|
%1177 = xor i1 %1176, true |
|
%1178 = select i1 %1177, i64 0, i64 %1175 |
|
%1179 = sub i64 %1157, 1 |
|
%1180 = icmp ult i64 %1179, %1178 |
|
%1181 = xor i1 %1180, true |
|
br i1 %1181, label %1211, label %1182 |
|
|
|
1182: ; preds = %1174 |
|
br label %1183 |
|
|
|
1183: ; preds = %1182, %1156 |
|
%1184 = load ptr addrspace(10), ptr %4, align 8 |
|
%1185 = addrspacecast ptr addrspace(10) %1184 to ptr addrspace(11) |
|
%1186 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1185, i32 0, i32 0 |
|
%1187 = load ptr, ptr addrspace(11) %1186, align 8 |
|
%1188 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1185, i32 0, i32 1 |
|
%1189 = load ptr addrspace(10), ptr addrspace(11) %1188, align 8 |
|
%1190 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1187, 0 |
|
%1191 = insertvalue { ptr, ptr addrspace(10) } %1190, ptr addrspace(10) %1189, 1 |
|
%1192 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1193 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1194 = load i64, ptr addrspace(11) %1193, align 8 |
|
%1195 = mul i64 %1194, 1 |
|
%1196 = load i64, ptr addrspace(11) %1192, align 8 |
|
%1197 = add i64 %1196, %1195 |
|
%1198 = sub i64 %1197, 1 |
|
%1199 = mul i64 %1198, 1 |
|
%1200 = getelementptr inbounds i8, ptr %47, i32 0 |
|
store i64 %1199, ptr %48, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1200, ptr align 8 %48, i64 8, i1 false) |
|
%1201 = getelementptr inbounds i8, ptr %47, i32 8 |
|
store { ptr, ptr addrspace(10) } %1191, ptr %49, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1201, ptr align 8 %49, i64 8, i1 false) |
|
%1202 = getelementptr inbounds i8, ptr %49, i32 8 |
|
%1203 = load ptr addrspace(10), ptr %1202, align 8 |
|
%1204 = extractvalue { ptr, ptr addrspace(10) } %1191, 0 |
|
%1205 = getelementptr i8, ptr %1204, i64 %1199 |
|
%1206 = sub i64 %1157, 1 |
|
%1207 = mul i64 8, %1206 |
|
%1208 = getelementptr i8, ptr %1205, i64 %1207 |
|
%1209 = getelementptr inbounds i64, ptr %1208, i64 0 |
|
%1210 = load i64, ptr %1209, align 1 |
|
br label %1212 |
|
|
|
1211: ; preds = %1174 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1157) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1212: ; preds = %1183 |
|
%1213 = load i64, ptr %1149, align 8 |
|
%1214 = xor i64 %1213, %1210 |
|
%1215 = getelementptr inbounds i8, ptr %6, i32 96 |
|
br i1 false, label %1222, label %1216 |
|
|
|
1216: ; preds = %1212 |
|
%1217 = sub i64 %353, %343 |
|
%1218 = add i64 1, %1217 |
|
%1219 = icmp ult i64 12, %1218 |
|
%1220 = xor i1 %1219, true |
|
br i1 %1220, label %1237, label %1221 |
|
|
|
1221: ; preds = %1216 |
|
br label %1222 |
|
|
|
1222: ; preds = %1221, %1212 |
|
%1223 = add i64 %417, 13 |
|
br i1 true, label %1249, label %1224 |
|
|
|
1224: ; preds = %1222 |
|
%1225 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1226 = getelementptr inbounds i8, ptr addrspace(11) %1225, i32 8 |
|
%1227 = load i64, ptr addrspace(11) %1226, align 8 |
|
%1228 = load i64, ptr addrspace(11) %1225, align 8 |
|
%1229 = sub i64 %1227, %1228 |
|
%1230 = add i64 1, %1229 |
|
%1231 = mul i64 %1230, 1 |
|
%1232 = icmp ne i64 %1231, -9223372036854775808 |
|
%1233 = or i1 true, %1232 |
|
%1234 = and i1 true, %1233 |
|
%1235 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1234, label %4278, label %4276 |
|
|
|
1236: ; preds = %4278 |
|
br label %1240 |
|
|
|
1237: ; preds = %1216 |
|
store ptr addrspace(10) %419, ptr %245, align 8 |
|
%1238 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1238, ptr readonly captures(none) %245, i64 signext 13) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1239: ; preds = %4278 |
|
br label %1240 |
|
|
|
1240: ; preds = %1239, %1236 |
|
%1241 = phi i64 [ %4281, %1236 ], [ 0, %1239 ] |
|
%1242 = icmp slt i64 0, %1241 |
|
%1243 = xor i1 %1242, true |
|
%1244 = select i1 %1243, i64 0, i64 %1241 |
|
%1245 = sub i64 %1223, 1 |
|
%1246 = icmp ult i64 %1245, %1244 |
|
%1247 = xor i1 %1246, true |
|
br i1 %1247, label %1277, label %1248 |
|
|
|
1248: ; preds = %1240 |
|
br label %1249 |
|
|
|
1249: ; preds = %1248, %1222 |
|
%1250 = load ptr addrspace(10), ptr %4, align 8 |
|
%1251 = addrspacecast ptr addrspace(10) %1250 to ptr addrspace(11) |
|
%1252 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1251, i32 0, i32 0 |
|
%1253 = load ptr, ptr addrspace(11) %1252, align 8 |
|
%1254 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1251, i32 0, i32 1 |
|
%1255 = load ptr addrspace(10), ptr addrspace(11) %1254, align 8 |
|
%1256 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1253, 0 |
|
%1257 = insertvalue { ptr, ptr addrspace(10) } %1256, ptr addrspace(10) %1255, 1 |
|
%1258 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1259 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1260 = load i64, ptr addrspace(11) %1259, align 8 |
|
%1261 = mul i64 %1260, 1 |
|
%1262 = load i64, ptr addrspace(11) %1258, align 8 |
|
%1263 = add i64 %1262, %1261 |
|
%1264 = sub i64 %1263, 1 |
|
%1265 = mul i64 %1264, 1 |
|
%1266 = getelementptr inbounds i8, ptr %50, i32 0 |
|
store i64 %1265, ptr %51, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1266, ptr align 8 %51, i64 8, i1 false) |
|
%1267 = getelementptr inbounds i8, ptr %50, i32 8 |
|
store { ptr, ptr addrspace(10) } %1257, ptr %52, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1267, ptr align 8 %52, i64 8, i1 false) |
|
%1268 = getelementptr inbounds i8, ptr %52, i32 8 |
|
%1269 = load ptr addrspace(10), ptr %1268, align 8 |
|
%1270 = extractvalue { ptr, ptr addrspace(10) } %1257, 0 |
|
%1271 = getelementptr i8, ptr %1270, i64 %1265 |
|
%1272 = sub i64 %1223, 1 |
|
%1273 = mul i64 8, %1272 |
|
%1274 = getelementptr i8, ptr %1271, i64 %1273 |
|
%1275 = getelementptr inbounds i64, ptr %1274, i64 0 |
|
%1276 = load i64, ptr %1275, align 1 |
|
br label %1278 |
|
|
|
1277: ; preds = %1240 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1223) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1278: ; preds = %1249 |
|
%1279 = load i64, ptr %1215, align 8 |
|
%1280 = xor i64 %1279, %1276 |
|
%1281 = getelementptr inbounds i8, ptr %6, i32 104 |
|
br i1 false, label %1288, label %1282 |
|
|
|
1282: ; preds = %1278 |
|
%1283 = sub i64 %353, %343 |
|
%1284 = add i64 1, %1283 |
|
%1285 = icmp ult i64 13, %1284 |
|
%1286 = xor i1 %1285, true |
|
br i1 %1286, label %1303, label %1287 |
|
|
|
1287: ; preds = %1282 |
|
br label %1288 |
|
|
|
1288: ; preds = %1287, %1278 |
|
%1289 = add i64 %417, 14 |
|
br i1 true, label %1315, label %1290 |
|
|
|
1290: ; preds = %1288 |
|
%1291 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1292 = getelementptr inbounds i8, ptr addrspace(11) %1291, i32 8 |
|
%1293 = load i64, ptr addrspace(11) %1292, align 8 |
|
%1294 = load i64, ptr addrspace(11) %1291, align 8 |
|
%1295 = sub i64 %1293, %1294 |
|
%1296 = add i64 1, %1295 |
|
%1297 = mul i64 %1296, 1 |
|
%1298 = icmp ne i64 %1297, -9223372036854775808 |
|
%1299 = or i1 true, %1298 |
|
%1300 = and i1 true, %1299 |
|
%1301 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1300, label %4286, label %4284 |
|
|
|
1302: ; preds = %4286 |
|
br label %1306 |
|
|
|
1303: ; preds = %1282 |
|
store ptr addrspace(10) %419, ptr %244, align 8 |
|
%1304 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1304, ptr readonly captures(none) %244, i64 signext 14) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1305: ; preds = %4286 |
|
br label %1306 |
|
|
|
1306: ; preds = %1305, %1302 |
|
%1307 = phi i64 [ %4289, %1302 ], [ 0, %1305 ] |
|
%1308 = icmp slt i64 0, %1307 |
|
%1309 = xor i1 %1308, true |
|
%1310 = select i1 %1309, i64 0, i64 %1307 |
|
%1311 = sub i64 %1289, 1 |
|
%1312 = icmp ult i64 %1311, %1310 |
|
%1313 = xor i1 %1312, true |
|
br i1 %1313, label %1343, label %1314 |
|
|
|
1314: ; preds = %1306 |
|
br label %1315 |
|
|
|
1315: ; preds = %1314, %1288 |
|
%1316 = load ptr addrspace(10), ptr %4, align 8 |
|
%1317 = addrspacecast ptr addrspace(10) %1316 to ptr addrspace(11) |
|
%1318 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1317, i32 0, i32 0 |
|
%1319 = load ptr, ptr addrspace(11) %1318, align 8 |
|
%1320 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1317, i32 0, i32 1 |
|
%1321 = load ptr addrspace(10), ptr addrspace(11) %1320, align 8 |
|
%1322 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1319, 0 |
|
%1323 = insertvalue { ptr, ptr addrspace(10) } %1322, ptr addrspace(10) %1321, 1 |
|
%1324 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1325 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1326 = load i64, ptr addrspace(11) %1325, align 8 |
|
%1327 = mul i64 %1326, 1 |
|
%1328 = load i64, ptr addrspace(11) %1324, align 8 |
|
%1329 = add i64 %1328, %1327 |
|
%1330 = sub i64 %1329, 1 |
|
%1331 = mul i64 %1330, 1 |
|
%1332 = getelementptr inbounds i8, ptr %53, i32 0 |
|
store i64 %1331, ptr %54, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1332, ptr align 8 %54, i64 8, i1 false) |
|
%1333 = getelementptr inbounds i8, ptr %53, i32 8 |
|
store { ptr, ptr addrspace(10) } %1323, ptr %55, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1333, ptr align 8 %55, i64 8, i1 false) |
|
%1334 = getelementptr inbounds i8, ptr %55, i32 8 |
|
%1335 = load ptr addrspace(10), ptr %1334, align 8 |
|
%1336 = extractvalue { ptr, ptr addrspace(10) } %1323, 0 |
|
%1337 = getelementptr i8, ptr %1336, i64 %1331 |
|
%1338 = sub i64 %1289, 1 |
|
%1339 = mul i64 8, %1338 |
|
%1340 = getelementptr i8, ptr %1337, i64 %1339 |
|
%1341 = getelementptr inbounds i64, ptr %1340, i64 0 |
|
%1342 = load i64, ptr %1341, align 1 |
|
br label %1344 |
|
|
|
1343: ; preds = %1306 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1289) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1344: ; preds = %1315 |
|
%1345 = load i64, ptr %1281, align 8 |
|
%1346 = xor i64 %1345, %1342 |
|
%1347 = getelementptr inbounds i8, ptr %6, i32 112 |
|
br i1 false, label %1354, label %1348 |
|
|
|
1348: ; preds = %1344 |
|
%1349 = sub i64 %353, %343 |
|
%1350 = add i64 1, %1349 |
|
%1351 = icmp ult i64 14, %1350 |
|
%1352 = xor i1 %1351, true |
|
br i1 %1352, label %1369, label %1353 |
|
|
|
1353: ; preds = %1348 |
|
br label %1354 |
|
|
|
1354: ; preds = %1353, %1344 |
|
%1355 = add i64 %417, 15 |
|
br i1 true, label %1381, label %1356 |
|
|
|
1356: ; preds = %1354 |
|
%1357 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1358 = getelementptr inbounds i8, ptr addrspace(11) %1357, i32 8 |
|
%1359 = load i64, ptr addrspace(11) %1358, align 8 |
|
%1360 = load i64, ptr addrspace(11) %1357, align 8 |
|
%1361 = sub i64 %1359, %1360 |
|
%1362 = add i64 1, %1361 |
|
%1363 = mul i64 %1362, 1 |
|
%1364 = icmp ne i64 %1363, -9223372036854775808 |
|
%1365 = or i1 true, %1364 |
|
%1366 = and i1 true, %1365 |
|
%1367 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1366, label %4294, label %4292 |
|
|
|
1368: ; preds = %4294 |
|
br label %1372 |
|
|
|
1369: ; preds = %1348 |
|
store ptr addrspace(10) %419, ptr %243, align 8 |
|
%1370 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1370, ptr readonly captures(none) %243, i64 signext 15) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1371: ; preds = %4294 |
|
br label %1372 |
|
|
|
1372: ; preds = %1371, %1368 |
|
%1373 = phi i64 [ %4297, %1368 ], [ 0, %1371 ] |
|
%1374 = icmp slt i64 0, %1373 |
|
%1375 = xor i1 %1374, true |
|
%1376 = select i1 %1375, i64 0, i64 %1373 |
|
%1377 = sub i64 %1355, 1 |
|
%1378 = icmp ult i64 %1377, %1376 |
|
%1379 = xor i1 %1378, true |
|
br i1 %1379, label %1409, label %1380 |
|
|
|
1380: ; preds = %1372 |
|
br label %1381 |
|
|
|
1381: ; preds = %1380, %1354 |
|
%1382 = load ptr addrspace(10), ptr %4, align 8 |
|
%1383 = addrspacecast ptr addrspace(10) %1382 to ptr addrspace(11) |
|
%1384 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1383, i32 0, i32 0 |
|
%1385 = load ptr, ptr addrspace(11) %1384, align 8 |
|
%1386 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1383, i32 0, i32 1 |
|
%1387 = load ptr addrspace(10), ptr addrspace(11) %1386, align 8 |
|
%1388 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1385, 0 |
|
%1389 = insertvalue { ptr, ptr addrspace(10) } %1388, ptr addrspace(10) %1387, 1 |
|
%1390 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1391 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1392 = load i64, ptr addrspace(11) %1391, align 8 |
|
%1393 = mul i64 %1392, 1 |
|
%1394 = load i64, ptr addrspace(11) %1390, align 8 |
|
%1395 = add i64 %1394, %1393 |
|
%1396 = sub i64 %1395, 1 |
|
%1397 = mul i64 %1396, 1 |
|
%1398 = getelementptr inbounds i8, ptr %56, i32 0 |
|
store i64 %1397, ptr %57, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1398, ptr align 8 %57, i64 8, i1 false) |
|
%1399 = getelementptr inbounds i8, ptr %56, i32 8 |
|
store { ptr, ptr addrspace(10) } %1389, ptr %58, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1399, ptr align 8 %58, i64 8, i1 false) |
|
%1400 = getelementptr inbounds i8, ptr %58, i32 8 |
|
%1401 = load ptr addrspace(10), ptr %1400, align 8 |
|
%1402 = extractvalue { ptr, ptr addrspace(10) } %1389, 0 |
|
%1403 = getelementptr i8, ptr %1402, i64 %1397 |
|
%1404 = sub i64 %1355, 1 |
|
%1405 = mul i64 8, %1404 |
|
%1406 = getelementptr i8, ptr %1403, i64 %1405 |
|
%1407 = getelementptr inbounds i64, ptr %1406, i64 0 |
|
%1408 = load i64, ptr %1407, align 1 |
|
br label %1410 |
|
|
|
1409: ; preds = %1372 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1355) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1410: ; preds = %1381 |
|
%1411 = load i64, ptr %1347, align 8 |
|
%1412 = xor i64 %1411, %1408 |
|
%1413 = getelementptr inbounds i8, ptr %6, i32 120 |
|
br i1 false, label %1420, label %1414 |
|
|
|
1414: ; preds = %1410 |
|
%1415 = sub i64 %353, %343 |
|
%1416 = add i64 1, %1415 |
|
%1417 = icmp ult i64 15, %1416 |
|
%1418 = xor i1 %1417, true |
|
br i1 %1418, label %1435, label %1419 |
|
|
|
1419: ; preds = %1414 |
|
br label %1420 |
|
|
|
1420: ; preds = %1419, %1410 |
|
%1421 = add i64 %417, 16 |
|
br i1 true, label %1447, label %1422 |
|
|
|
1422: ; preds = %1420 |
|
%1423 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1424 = getelementptr inbounds i8, ptr addrspace(11) %1423, i32 8 |
|
%1425 = load i64, ptr addrspace(11) %1424, align 8 |
|
%1426 = load i64, ptr addrspace(11) %1423, align 8 |
|
%1427 = sub i64 %1425, %1426 |
|
%1428 = add i64 1, %1427 |
|
%1429 = mul i64 %1428, 1 |
|
%1430 = icmp ne i64 %1429, -9223372036854775808 |
|
%1431 = or i1 true, %1430 |
|
%1432 = and i1 true, %1431 |
|
%1433 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1432, label %4302, label %4300 |
|
|
|
1434: ; preds = %4302 |
|
br label %1438 |
|
|
|
1435: ; preds = %1414 |
|
store ptr addrspace(10) %419, ptr %242, align 8 |
|
%1436 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1436, ptr readonly captures(none) %242, i64 signext 16) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1437: ; preds = %4302 |
|
br label %1438 |
|
|
|
1438: ; preds = %1437, %1434 |
|
%1439 = phi i64 [ %4305, %1434 ], [ 0, %1437 ] |
|
%1440 = icmp slt i64 0, %1439 |
|
%1441 = xor i1 %1440, true |
|
%1442 = select i1 %1441, i64 0, i64 %1439 |
|
%1443 = sub i64 %1421, 1 |
|
%1444 = icmp ult i64 %1443, %1442 |
|
%1445 = xor i1 %1444, true |
|
br i1 %1445, label %1475, label %1446 |
|
|
|
1446: ; preds = %1438 |
|
br label %1447 |
|
|
|
1447: ; preds = %1446, %1420 |
|
%1448 = load ptr addrspace(10), ptr %4, align 8 |
|
%1449 = addrspacecast ptr addrspace(10) %1448 to ptr addrspace(11) |
|
%1450 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1449, i32 0, i32 0 |
|
%1451 = load ptr, ptr addrspace(11) %1450, align 8 |
|
%1452 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1449, i32 0, i32 1 |
|
%1453 = load ptr addrspace(10), ptr addrspace(11) %1452, align 8 |
|
%1454 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1451, 0 |
|
%1455 = insertvalue { ptr, ptr addrspace(10) } %1454, ptr addrspace(10) %1453, 1 |
|
%1456 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1457 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1458 = load i64, ptr addrspace(11) %1457, align 8 |
|
%1459 = mul i64 %1458, 1 |
|
%1460 = load i64, ptr addrspace(11) %1456, align 8 |
|
%1461 = add i64 %1460, %1459 |
|
%1462 = sub i64 %1461, 1 |
|
%1463 = mul i64 %1462, 1 |
|
%1464 = getelementptr inbounds i8, ptr %59, i32 0 |
|
store i64 %1463, ptr %60, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1464, ptr align 8 %60, i64 8, i1 false) |
|
%1465 = getelementptr inbounds i8, ptr %59, i32 8 |
|
store { ptr, ptr addrspace(10) } %1455, ptr %61, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1465, ptr align 8 %61, i64 8, i1 false) |
|
%1466 = getelementptr inbounds i8, ptr %61, i32 8 |
|
%1467 = load ptr addrspace(10), ptr %1466, align 8 |
|
%1468 = extractvalue { ptr, ptr addrspace(10) } %1455, 0 |
|
%1469 = getelementptr i8, ptr %1468, i64 %1463 |
|
%1470 = sub i64 %1421, 1 |
|
%1471 = mul i64 8, %1470 |
|
%1472 = getelementptr i8, ptr %1469, i64 %1471 |
|
%1473 = getelementptr inbounds i64, ptr %1472, i64 0 |
|
%1474 = load i64, ptr %1473, align 1 |
|
br label %1476 |
|
|
|
1475: ; preds = %1438 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1421) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1476: ; preds = %1447 |
|
%1477 = load i64, ptr %1413, align 8 |
|
%1478 = xor i64 %1477, %1474 |
|
%1479 = getelementptr inbounds i8, ptr %6, i32 128 |
|
br i1 false, label %1486, label %1480 |
|
|
|
1480: ; preds = %1476 |
|
%1481 = sub i64 %353, %343 |
|
%1482 = add i64 1, %1481 |
|
%1483 = icmp ult i64 16, %1482 |
|
%1484 = xor i1 %1483, true |
|
br i1 %1484, label %1501, label %1485 |
|
|
|
1485: ; preds = %1480 |
|
br label %1486 |
|
|
|
1486: ; preds = %1485, %1476 |
|
%1487 = add i64 %417, 17 |
|
br i1 true, label %1513, label %1488 |
|
|
|
1488: ; preds = %1486 |
|
%1489 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1490 = getelementptr inbounds i8, ptr addrspace(11) %1489, i32 8 |
|
%1491 = load i64, ptr addrspace(11) %1490, align 8 |
|
%1492 = load i64, ptr addrspace(11) %1489, align 8 |
|
%1493 = sub i64 %1491, %1492 |
|
%1494 = add i64 1, %1493 |
|
%1495 = mul i64 %1494, 1 |
|
%1496 = icmp ne i64 %1495, -9223372036854775808 |
|
%1497 = or i1 true, %1496 |
|
%1498 = and i1 true, %1497 |
|
%1499 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1498, label %4310, label %4308 |
|
|
|
1500: ; preds = %4310 |
|
br label %1504 |
|
|
|
1501: ; preds = %1480 |
|
store ptr addrspace(10) %419, ptr %241, align 8 |
|
%1502 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1502, ptr readonly captures(none) %241, i64 signext 17) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1503: ; preds = %4310 |
|
br label %1504 |
|
|
|
1504: ; preds = %1503, %1500 |
|
%1505 = phi i64 [ %4313, %1500 ], [ 0, %1503 ] |
|
%1506 = icmp slt i64 0, %1505 |
|
%1507 = xor i1 %1506, true |
|
%1508 = select i1 %1507, i64 0, i64 %1505 |
|
%1509 = sub i64 %1487, 1 |
|
%1510 = icmp ult i64 %1509, %1508 |
|
%1511 = xor i1 %1510, true |
|
br i1 %1511, label %1541, label %1512 |
|
|
|
1512: ; preds = %1504 |
|
br label %1513 |
|
|
|
1513: ; preds = %1512, %1486 |
|
%1514 = load ptr addrspace(10), ptr %4, align 8 |
|
%1515 = addrspacecast ptr addrspace(10) %1514 to ptr addrspace(11) |
|
%1516 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1515, i32 0, i32 0 |
|
%1517 = load ptr, ptr addrspace(11) %1516, align 8 |
|
%1518 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1515, i32 0, i32 1 |
|
%1519 = load ptr addrspace(10), ptr addrspace(11) %1518, align 8 |
|
%1520 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1517, 0 |
|
%1521 = insertvalue { ptr, ptr addrspace(10) } %1520, ptr addrspace(10) %1519, 1 |
|
%1522 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1523 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1524 = load i64, ptr addrspace(11) %1523, align 8 |
|
%1525 = mul i64 %1524, 1 |
|
%1526 = load i64, ptr addrspace(11) %1522, align 8 |
|
%1527 = add i64 %1526, %1525 |
|
%1528 = sub i64 %1527, 1 |
|
%1529 = mul i64 %1528, 1 |
|
%1530 = getelementptr inbounds i8, ptr %62, i32 0 |
|
store i64 %1529, ptr %63, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1530, ptr align 8 %63, i64 8, i1 false) |
|
%1531 = getelementptr inbounds i8, ptr %62, i32 8 |
|
store { ptr, ptr addrspace(10) } %1521, ptr %64, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1531, ptr align 8 %64, i64 8, i1 false) |
|
%1532 = getelementptr inbounds i8, ptr %64, i32 8 |
|
%1533 = load ptr addrspace(10), ptr %1532, align 8 |
|
%1534 = extractvalue { ptr, ptr addrspace(10) } %1521, 0 |
|
%1535 = getelementptr i8, ptr %1534, i64 %1529 |
|
%1536 = sub i64 %1487, 1 |
|
%1537 = mul i64 8, %1536 |
|
%1538 = getelementptr i8, ptr %1535, i64 %1537 |
|
%1539 = getelementptr inbounds i64, ptr %1538, i64 0 |
|
%1540 = load i64, ptr %1539, align 1 |
|
br label %1542 |
|
|
|
1541: ; preds = %1504 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1487) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1542: ; preds = %1513 |
|
%1543 = load i64, ptr %1479, align 8 |
|
%1544 = xor i64 %1543, %1540 |
|
%1545 = getelementptr inbounds i8, ptr %6, i32 136 |
|
br i1 false, label %1552, label %1546 |
|
|
|
1546: ; preds = %1542 |
|
%1547 = sub i64 %353, %343 |
|
%1548 = add i64 1, %1547 |
|
%1549 = icmp ult i64 17, %1548 |
|
%1550 = xor i1 %1549, true |
|
br i1 %1550, label %1567, label %1551 |
|
|
|
1551: ; preds = %1546 |
|
br label %1552 |
|
|
|
1552: ; preds = %1551, %1542 |
|
%1553 = add i64 %417, 18 |
|
br i1 true, label %1579, label %1554 |
|
|
|
1554: ; preds = %1552 |
|
%1555 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1556 = getelementptr inbounds i8, ptr addrspace(11) %1555, i32 8 |
|
%1557 = load i64, ptr addrspace(11) %1556, align 8 |
|
%1558 = load i64, ptr addrspace(11) %1555, align 8 |
|
%1559 = sub i64 %1557, %1558 |
|
%1560 = add i64 1, %1559 |
|
%1561 = mul i64 %1560, 1 |
|
%1562 = icmp ne i64 %1561, -9223372036854775808 |
|
%1563 = or i1 true, %1562 |
|
%1564 = and i1 true, %1563 |
|
%1565 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1564, label %4318, label %4316 |
|
|
|
1566: ; preds = %4318 |
|
br label %1570 |
|
|
|
1567: ; preds = %1546 |
|
store ptr addrspace(10) %419, ptr %240, align 8 |
|
%1568 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1568, ptr readonly captures(none) %240, i64 signext 18) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1569: ; preds = %4318 |
|
br label %1570 |
|
|
|
1570: ; preds = %1569, %1566 |
|
%1571 = phi i64 [ %4321, %1566 ], [ 0, %1569 ] |
|
%1572 = icmp slt i64 0, %1571 |
|
%1573 = xor i1 %1572, true |
|
%1574 = select i1 %1573, i64 0, i64 %1571 |
|
%1575 = sub i64 %1553, 1 |
|
%1576 = icmp ult i64 %1575, %1574 |
|
%1577 = xor i1 %1576, true |
|
br i1 %1577, label %1607, label %1578 |
|
|
|
1578: ; preds = %1570 |
|
br label %1579 |
|
|
|
1579: ; preds = %1578, %1552 |
|
%1580 = load ptr addrspace(10), ptr %4, align 8 |
|
%1581 = addrspacecast ptr addrspace(10) %1580 to ptr addrspace(11) |
|
%1582 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1581, i32 0, i32 0 |
|
%1583 = load ptr, ptr addrspace(11) %1582, align 8 |
|
%1584 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1581, i32 0, i32 1 |
|
%1585 = load ptr addrspace(10), ptr addrspace(11) %1584, align 8 |
|
%1586 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1583, 0 |
|
%1587 = insertvalue { ptr, ptr addrspace(10) } %1586, ptr addrspace(10) %1585, 1 |
|
%1588 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1589 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1590 = load i64, ptr addrspace(11) %1589, align 8 |
|
%1591 = mul i64 %1590, 1 |
|
%1592 = load i64, ptr addrspace(11) %1588, align 8 |
|
%1593 = add i64 %1592, %1591 |
|
%1594 = sub i64 %1593, 1 |
|
%1595 = mul i64 %1594, 1 |
|
%1596 = getelementptr inbounds i8, ptr %65, i32 0 |
|
store i64 %1595, ptr %66, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1596, ptr align 8 %66, i64 8, i1 false) |
|
%1597 = getelementptr inbounds i8, ptr %65, i32 8 |
|
store { ptr, ptr addrspace(10) } %1587, ptr %67, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1597, ptr align 8 %67, i64 8, i1 false) |
|
%1598 = getelementptr inbounds i8, ptr %67, i32 8 |
|
%1599 = load ptr addrspace(10), ptr %1598, align 8 |
|
%1600 = extractvalue { ptr, ptr addrspace(10) } %1587, 0 |
|
%1601 = getelementptr i8, ptr %1600, i64 %1595 |
|
%1602 = sub i64 %1553, 1 |
|
%1603 = mul i64 8, %1602 |
|
%1604 = getelementptr i8, ptr %1601, i64 %1603 |
|
%1605 = getelementptr inbounds i64, ptr %1604, i64 0 |
|
%1606 = load i64, ptr %1605, align 1 |
|
br label %1608 |
|
|
|
1607: ; preds = %1570 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1553) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1608: ; preds = %1579 |
|
%1609 = load i64, ptr %1545, align 8 |
|
%1610 = xor i64 %1609, %1606 |
|
%1611 = getelementptr inbounds i8, ptr %6, i32 144 |
|
br i1 false, label %1618, label %1612 |
|
|
|
1612: ; preds = %1608 |
|
%1613 = sub i64 %353, %343 |
|
%1614 = add i64 1, %1613 |
|
%1615 = icmp ult i64 18, %1614 |
|
%1616 = xor i1 %1615, true |
|
br i1 %1616, label %1633, label %1617 |
|
|
|
1617: ; preds = %1612 |
|
br label %1618 |
|
|
|
1618: ; preds = %1617, %1608 |
|
%1619 = add i64 %417, 19 |
|
br i1 true, label %1645, label %1620 |
|
|
|
1620: ; preds = %1618 |
|
%1621 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1622 = getelementptr inbounds i8, ptr addrspace(11) %1621, i32 8 |
|
%1623 = load i64, ptr addrspace(11) %1622, align 8 |
|
%1624 = load i64, ptr addrspace(11) %1621, align 8 |
|
%1625 = sub i64 %1623, %1624 |
|
%1626 = add i64 1, %1625 |
|
%1627 = mul i64 %1626, 1 |
|
%1628 = icmp ne i64 %1627, -9223372036854775808 |
|
%1629 = or i1 true, %1628 |
|
%1630 = and i1 true, %1629 |
|
%1631 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1630, label %4326, label %4324 |
|
|
|
1632: ; preds = %4326 |
|
br label %1636 |
|
|
|
1633: ; preds = %1612 |
|
store ptr addrspace(10) %419, ptr %239, align 8 |
|
%1634 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1634, ptr readonly captures(none) %239, i64 signext 19) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1635: ; preds = %4326 |
|
br label %1636 |
|
|
|
1636: ; preds = %1635, %1632 |
|
%1637 = phi i64 [ %4329, %1632 ], [ 0, %1635 ] |
|
%1638 = icmp slt i64 0, %1637 |
|
%1639 = xor i1 %1638, true |
|
%1640 = select i1 %1639, i64 0, i64 %1637 |
|
%1641 = sub i64 %1619, 1 |
|
%1642 = icmp ult i64 %1641, %1640 |
|
%1643 = xor i1 %1642, true |
|
br i1 %1643, label %1673, label %1644 |
|
|
|
1644: ; preds = %1636 |
|
br label %1645 |
|
|
|
1645: ; preds = %1644, %1618 |
|
%1646 = load ptr addrspace(10), ptr %4, align 8 |
|
%1647 = addrspacecast ptr addrspace(10) %1646 to ptr addrspace(11) |
|
%1648 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1647, i32 0, i32 0 |
|
%1649 = load ptr, ptr addrspace(11) %1648, align 8 |
|
%1650 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1647, i32 0, i32 1 |
|
%1651 = load ptr addrspace(10), ptr addrspace(11) %1650, align 8 |
|
%1652 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1649, 0 |
|
%1653 = insertvalue { ptr, ptr addrspace(10) } %1652, ptr addrspace(10) %1651, 1 |
|
%1654 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1655 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1656 = load i64, ptr addrspace(11) %1655, align 8 |
|
%1657 = mul i64 %1656, 1 |
|
%1658 = load i64, ptr addrspace(11) %1654, align 8 |
|
%1659 = add i64 %1658, %1657 |
|
%1660 = sub i64 %1659, 1 |
|
%1661 = mul i64 %1660, 1 |
|
%1662 = getelementptr inbounds i8, ptr %68, i32 0 |
|
store i64 %1661, ptr %69, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1662, ptr align 8 %69, i64 8, i1 false) |
|
%1663 = getelementptr inbounds i8, ptr %68, i32 8 |
|
store { ptr, ptr addrspace(10) } %1653, ptr %70, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1663, ptr align 8 %70, i64 8, i1 false) |
|
%1664 = getelementptr inbounds i8, ptr %70, i32 8 |
|
%1665 = load ptr addrspace(10), ptr %1664, align 8 |
|
%1666 = extractvalue { ptr, ptr addrspace(10) } %1653, 0 |
|
%1667 = getelementptr i8, ptr %1666, i64 %1661 |
|
%1668 = sub i64 %1619, 1 |
|
%1669 = mul i64 8, %1668 |
|
%1670 = getelementptr i8, ptr %1667, i64 %1669 |
|
%1671 = getelementptr inbounds i64, ptr %1670, i64 0 |
|
%1672 = load i64, ptr %1671, align 1 |
|
br label %1674 |
|
|
|
1673: ; preds = %1636 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1619) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1674: ; preds = %1645 |
|
%1675 = load i64, ptr %1611, align 8 |
|
%1676 = xor i64 %1675, %1672 |
|
%1677 = getelementptr inbounds i8, ptr %6, i32 152 |
|
br i1 false, label %1684, label %1678 |
|
|
|
1678: ; preds = %1674 |
|
%1679 = sub i64 %353, %343 |
|
%1680 = add i64 1, %1679 |
|
%1681 = icmp ult i64 19, %1680 |
|
%1682 = xor i1 %1681, true |
|
br i1 %1682, label %1699, label %1683 |
|
|
|
1683: ; preds = %1678 |
|
br label %1684 |
|
|
|
1684: ; preds = %1683, %1674 |
|
%1685 = add i64 %417, 20 |
|
br i1 true, label %1711, label %1686 |
|
|
|
1686: ; preds = %1684 |
|
%1687 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1688 = getelementptr inbounds i8, ptr addrspace(11) %1687, i32 8 |
|
%1689 = load i64, ptr addrspace(11) %1688, align 8 |
|
%1690 = load i64, ptr addrspace(11) %1687, align 8 |
|
%1691 = sub i64 %1689, %1690 |
|
%1692 = add i64 1, %1691 |
|
%1693 = mul i64 %1692, 1 |
|
%1694 = icmp ne i64 %1693, -9223372036854775808 |
|
%1695 = or i1 true, %1694 |
|
%1696 = and i1 true, %1695 |
|
%1697 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1696, label %4334, label %4332 |
|
|
|
1698: ; preds = %4334 |
|
br label %1702 |
|
|
|
1699: ; preds = %1678 |
|
store ptr addrspace(10) %419, ptr %238, align 8 |
|
%1700 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1700, ptr readonly captures(none) %238, i64 signext 20) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1701: ; preds = %4334 |
|
br label %1702 |
|
|
|
1702: ; preds = %1701, %1698 |
|
%1703 = phi i64 [ %4337, %1698 ], [ 0, %1701 ] |
|
%1704 = icmp slt i64 0, %1703 |
|
%1705 = xor i1 %1704, true |
|
%1706 = select i1 %1705, i64 0, i64 %1703 |
|
%1707 = sub i64 %1685, 1 |
|
%1708 = icmp ult i64 %1707, %1706 |
|
%1709 = xor i1 %1708, true |
|
br i1 %1709, label %1739, label %1710 |
|
|
|
1710: ; preds = %1702 |
|
br label %1711 |
|
|
|
1711: ; preds = %1710, %1684 |
|
%1712 = load ptr addrspace(10), ptr %4, align 8 |
|
%1713 = addrspacecast ptr addrspace(10) %1712 to ptr addrspace(11) |
|
%1714 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1713, i32 0, i32 0 |
|
%1715 = load ptr, ptr addrspace(11) %1714, align 8 |
|
%1716 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1713, i32 0, i32 1 |
|
%1717 = load ptr addrspace(10), ptr addrspace(11) %1716, align 8 |
|
%1718 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1715, 0 |
|
%1719 = insertvalue { ptr, ptr addrspace(10) } %1718, ptr addrspace(10) %1717, 1 |
|
%1720 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1721 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1722 = load i64, ptr addrspace(11) %1721, align 8 |
|
%1723 = mul i64 %1722, 1 |
|
%1724 = load i64, ptr addrspace(11) %1720, align 8 |
|
%1725 = add i64 %1724, %1723 |
|
%1726 = sub i64 %1725, 1 |
|
%1727 = mul i64 %1726, 1 |
|
%1728 = getelementptr inbounds i8, ptr %71, i32 0 |
|
store i64 %1727, ptr %72, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1728, ptr align 8 %72, i64 8, i1 false) |
|
%1729 = getelementptr inbounds i8, ptr %71, i32 8 |
|
store { ptr, ptr addrspace(10) } %1719, ptr %73, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1729, ptr align 8 %73, i64 8, i1 false) |
|
%1730 = getelementptr inbounds i8, ptr %73, i32 8 |
|
%1731 = load ptr addrspace(10), ptr %1730, align 8 |
|
%1732 = extractvalue { ptr, ptr addrspace(10) } %1719, 0 |
|
%1733 = getelementptr i8, ptr %1732, i64 %1727 |
|
%1734 = sub i64 %1685, 1 |
|
%1735 = mul i64 8, %1734 |
|
%1736 = getelementptr i8, ptr %1733, i64 %1735 |
|
%1737 = getelementptr inbounds i64, ptr %1736, i64 0 |
|
%1738 = load i64, ptr %1737, align 1 |
|
br label %1740 |
|
|
|
1739: ; preds = %1702 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1685) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1740: ; preds = %1711 |
|
%1741 = load i64, ptr %1677, align 8 |
|
%1742 = xor i64 %1741, %1738 |
|
%1743 = getelementptr inbounds i8, ptr %6, i32 160 |
|
br i1 false, label %1750, label %1744 |
|
|
|
1744: ; preds = %1740 |
|
%1745 = sub i64 %353, %343 |
|
%1746 = add i64 1, %1745 |
|
%1747 = icmp ult i64 20, %1746 |
|
%1748 = xor i1 %1747, true |
|
br i1 %1748, label %1765, label %1749 |
|
|
|
1749: ; preds = %1744 |
|
br label %1750 |
|
|
|
1750: ; preds = %1749, %1740 |
|
%1751 = add i64 %417, 21 |
|
br i1 true, label %1777, label %1752 |
|
|
|
1752: ; preds = %1750 |
|
%1753 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%1754 = getelementptr inbounds i8, ptr addrspace(11) %1753, i32 8 |
|
%1755 = load i64, ptr addrspace(11) %1754, align 8 |
|
%1756 = load i64, ptr addrspace(11) %1753, align 8 |
|
%1757 = sub i64 %1755, %1756 |
|
%1758 = add i64 1, %1757 |
|
%1759 = mul i64 %1758, 1 |
|
%1760 = icmp ne i64 %1759, -9223372036854775808 |
|
%1761 = or i1 true, %1760 |
|
%1762 = and i1 true, %1761 |
|
%1763 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %1762, label %4342, label %4340 |
|
|
|
1764: ; preds = %4342 |
|
br label %1768 |
|
|
|
1765: ; preds = %1744 |
|
store ptr addrspace(10) %419, ptr %237, align 8 |
|
%1766 = addrspacecast ptr %12 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %1766, ptr readonly captures(none) %237, i64 signext 21) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1767: ; preds = %4342 |
|
br label %1768 |
|
|
|
1768: ; preds = %1767, %1764 |
|
%1769 = phi i64 [ %4345, %1764 ], [ 0, %1767 ] |
|
%1770 = icmp slt i64 0, %1769 |
|
%1771 = xor i1 %1770, true |
|
%1772 = select i1 %1771, i64 0, i64 %1769 |
|
%1773 = sub i64 %1751, 1 |
|
%1774 = icmp ult i64 %1773, %1772 |
|
%1775 = xor i1 %1774, true |
|
br i1 %1775, label %1805, label %1776 |
|
|
|
1776: ; preds = %1768 |
|
br label %1777 |
|
|
|
1777: ; preds = %1776, %1750 |
|
%1778 = load ptr addrspace(10), ptr %4, align 8 |
|
%1779 = addrspacecast ptr addrspace(10) %1778 to ptr addrspace(11) |
|
%1780 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1779, i32 0, i32 0 |
|
%1781 = load ptr, ptr addrspace(11) %1780, align 8 |
|
%1782 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %1779, i32 0, i32 1 |
|
%1783 = load ptr addrspace(10), ptr addrspace(11) %1782, align 8 |
|
%1784 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %1781, 0 |
|
%1785 = insertvalue { ptr, ptr addrspace(10) } %1784, ptr addrspace(10) %1783, 1 |
|
%1786 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%1787 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%1788 = load i64, ptr addrspace(11) %1787, align 8 |
|
%1789 = mul i64 %1788, 1 |
|
%1790 = load i64, ptr addrspace(11) %1786, align 8 |
|
%1791 = add i64 %1790, %1789 |
|
%1792 = sub i64 %1791, 1 |
|
%1793 = mul i64 %1792, 1 |
|
%1794 = getelementptr inbounds i8, ptr %74, i32 0 |
|
store i64 %1793, ptr %75, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1794, ptr align 8 %75, i64 8, i1 false) |
|
%1795 = getelementptr inbounds i8, ptr %74, i32 8 |
|
store { ptr, ptr addrspace(10) } %1785, ptr %76, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %1795, ptr align 8 %76, i64 8, i1 false) |
|
%1796 = getelementptr inbounds i8, ptr %76, i32 8 |
|
%1797 = load ptr addrspace(10), ptr %1796, align 8 |
|
%1798 = extractvalue { ptr, ptr addrspace(10) } %1785, 0 |
|
%1799 = getelementptr i8, ptr %1798, i64 %1793 |
|
%1800 = sub i64 %1751, 1 |
|
%1801 = mul i64 8, %1800 |
|
%1802 = getelementptr i8, ptr %1799, i64 %1801 |
|
%1803 = getelementptr inbounds i64, ptr %1802, i64 0 |
|
%1804 = load i64, ptr %1803, align 1 |
|
br label %1806 |
|
|
|
1805: ; preds = %1768 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %1751) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
1806: ; preds = %1777 |
|
%1807 = load i64, ptr %1743, align 8 |
|
%1808 = xor i64 %1807, %1804 |
|
%1809 = getelementptr inbounds i8, ptr %6, i32 168 |
|
%1810 = load i64, ptr %1809, align 8 |
|
%1811 = xor i64 %1810, 0 |
|
%1812 = getelementptr inbounds i8, ptr %6, i32 176 |
|
%1813 = load i64, ptr %1812, align 8 |
|
%1814 = xor i64 %1813, 0 |
|
%1815 = getelementptr inbounds i8, ptr %6, i32 184 |
|
%1816 = load i64, ptr %1815, align 8 |
|
%1817 = xor i64 %1816, 0 |
|
%1818 = getelementptr inbounds i8, ptr %6, i32 192 |
|
%1819 = load i64, ptr %1818, align 8 |
|
%1820 = xor i64 %1819, 0 |
|
br label %1821 |
|
|
|
1821: ; preds = %2163, %1806 |
|
%1822 = phi i64 [ 13, %1806 ], [ %2157, %2163 ] |
|
%1823 = phi i64 [ 13, %1806 ], [ %2158, %2163 ] |
|
%1824 = phi i64 [ %488, %1806 ], [ %2122, %2163 ] |
|
%1825 = phi i64 [ %818, %1806 ], [ %2061, %2163 ] |
|
%1826 = phi i64 [ %1148, %1806 ], [ %2076, %2163 ] |
|
%1827 = phi i64 [ %1478, %1806 ], [ %2091, %2163 ] |
|
%1828 = phi i64 [ %1808, %1806 ], [ %2106, %2163 ] |
|
%1829 = phi i64 [ %554, %1806 ], [ %2049, %2163 ] |
|
%1830 = phi i64 [ %884, %1806 ], [ %2064, %2163 ] |
|
%1831 = phi i64 [ %1214, %1806 ], [ %2079, %2163 ] |
|
%1832 = phi i64 [ %1544, %1806 ], [ %2094, %2163 ] |
|
%1833 = phi i64 [ %1811, %1806 ], [ %2109, %2163 ] |
|
%1834 = phi i64 [ %620, %1806 ], [ %2052, %2163 ] |
|
%1835 = phi i64 [ %950, %1806 ], [ %2067, %2163 ] |
|
%1836 = phi i64 [ %1280, %1806 ], [ %2082, %2163 ] |
|
%1837 = phi i64 [ %1610, %1806 ], [ %2097, %2163 ] |
|
%1838 = phi i64 [ %1814, %1806 ], [ %2112, %2163 ] |
|
%1839 = phi i64 [ %686, %1806 ], [ %2055, %2163 ] |
|
%1840 = phi i64 [ %1016, %1806 ], [ %2070, %2163 ] |
|
%1841 = phi i64 [ %1346, %1806 ], [ %2085, %2163 ] |
|
%1842 = phi i64 [ %1676, %1806 ], [ %2100, %2163 ] |
|
%1843 = phi i64 [ %1817, %1806 ], [ %2115, %2163 ] |
|
%1844 = phi i64 [ %752, %1806 ], [ %2058, %2163 ] |
|
%1845 = phi i64 [ %1082, %1806 ], [ %2073, %2163 ] |
|
%1846 = phi i64 [ %1412, %1806 ], [ %2088, %2163 ] |
|
%1847 = phi i64 [ %1742, %1806 ], [ %2103, %2163 ] |
|
%1848 = phi i64 [ %1820, %1806 ], [ %2118, %2163 ] |
|
%1849 = xor i64 %1824, %1825 |
|
%1850 = xor i64 %1849, %1826 |
|
%1851 = xor i64 %1850, %1827 |
|
%1852 = xor i64 %1851, %1828 |
|
%1853 = xor i64 %1829, %1830 |
|
%1854 = xor i64 %1853, %1831 |
|
%1855 = xor i64 %1854, %1832 |
|
%1856 = xor i64 %1855, %1833 |
|
%1857 = xor i64 %1834, %1835 |
|
%1858 = xor i64 %1857, %1836 |
|
%1859 = xor i64 %1858, %1837 |
|
%1860 = xor i64 %1859, %1838 |
|
%1861 = xor i64 %1839, %1840 |
|
%1862 = xor i64 %1861, %1841 |
|
%1863 = xor i64 %1862, %1842 |
|
%1864 = xor i64 %1863, %1843 |
|
%1865 = xor i64 %1844, %1845 |
|
%1866 = xor i64 %1865, %1846 |
|
%1867 = xor i64 %1866, %1847 |
|
%1868 = xor i64 %1867, %1848 |
|
%1869 = shl i64 %1856, 1 |
|
%1870 = select i1 false, i64 0, i64 %1869 |
|
%1871 = lshr i64 %1856, 63 |
|
%1872 = select i1 false, i64 0, i64 %1871 |
|
%1873 = or i64 %1870, %1872 |
|
%1874 = xor i64 %1868, %1873 |
|
%1875 = shl i64 %1860, 1 |
|
%1876 = select i1 false, i64 0, i64 %1875 |
|
%1877 = lshr i64 %1860, 63 |
|
%1878 = select i1 false, i64 0, i64 %1877 |
|
%1879 = or i64 %1876, %1878 |
|
%1880 = xor i64 %1852, %1879 |
|
%1881 = shl i64 %1864, 1 |
|
%1882 = select i1 false, i64 0, i64 %1881 |
|
%1883 = lshr i64 %1864, 63 |
|
%1884 = select i1 false, i64 0, i64 %1883 |
|
%1885 = or i64 %1882, %1884 |
|
%1886 = xor i64 %1856, %1885 |
|
%1887 = shl i64 %1868, 1 |
|
%1888 = select i1 false, i64 0, i64 %1887 |
|
%1889 = lshr i64 %1868, 63 |
|
%1890 = select i1 false, i64 0, i64 %1889 |
|
%1891 = or i64 %1888, %1890 |
|
%1892 = xor i64 %1860, %1891 |
|
%1893 = shl i64 %1852, 1 |
|
%1894 = select i1 false, i64 0, i64 %1893 |
|
%1895 = lshr i64 %1852, 63 |
|
%1896 = select i1 false, i64 0, i64 %1895 |
|
%1897 = or i64 %1894, %1896 |
|
%1898 = xor i64 %1864, %1897 |
|
%1899 = xor i64 %1824, %1874 |
|
%1900 = xor i64 %1829, %1880 |
|
%1901 = xor i64 %1834, %1886 |
|
%1902 = xor i64 %1839, %1892 |
|
%1903 = xor i64 %1844, %1898 |
|
%1904 = xor i64 %1825, %1874 |
|
%1905 = xor i64 %1830, %1880 |
|
%1906 = xor i64 %1835, %1886 |
|
%1907 = xor i64 %1840, %1892 |
|
%1908 = xor i64 %1845, %1898 |
|
%1909 = xor i64 %1826, %1874 |
|
%1910 = xor i64 %1831, %1880 |
|
%1911 = xor i64 %1836, %1886 |
|
%1912 = xor i64 %1841, %1892 |
|
%1913 = xor i64 %1846, %1898 |
|
%1914 = xor i64 %1827, %1874 |
|
%1915 = xor i64 %1832, %1880 |
|
%1916 = xor i64 %1837, %1886 |
|
%1917 = xor i64 %1842, %1892 |
|
%1918 = xor i64 %1847, %1898 |
|
%1919 = xor i64 %1828, %1874 |
|
%1920 = xor i64 %1833, %1880 |
|
%1921 = xor i64 %1838, %1886 |
|
%1922 = xor i64 %1843, %1892 |
|
%1923 = xor i64 %1848, %1898 |
|
%1924 = shl i64 %1905, 44 |
|
%1925 = select i1 false, i64 0, i64 %1924 |
|
%1926 = lshr i64 %1905, 20 |
|
%1927 = select i1 false, i64 0, i64 %1926 |
|
%1928 = or i64 %1925, %1927 |
|
%1929 = shl i64 %1911, 43 |
|
%1930 = select i1 false, i64 0, i64 %1929 |
|
%1931 = lshr i64 %1911, 21 |
|
%1932 = select i1 false, i64 0, i64 %1931 |
|
%1933 = or i64 %1930, %1932 |
|
%1934 = shl i64 %1917, 21 |
|
%1935 = select i1 false, i64 0, i64 %1934 |
|
%1936 = lshr i64 %1917, 43 |
|
%1937 = select i1 false, i64 0, i64 %1936 |
|
%1938 = or i64 %1935, %1937 |
|
%1939 = shl i64 %1923, 14 |
|
%1940 = select i1 false, i64 0, i64 %1939 |
|
%1941 = lshr i64 %1923, 50 |
|
%1942 = select i1 false, i64 0, i64 %1941 |
|
%1943 = or i64 %1940, %1942 |
|
%1944 = shl i64 %1902, 28 |
|
%1945 = select i1 false, i64 0, i64 %1944 |
|
%1946 = lshr i64 %1902, 36 |
|
%1947 = select i1 false, i64 0, i64 %1946 |
|
%1948 = or i64 %1945, %1947 |
|
%1949 = shl i64 %1908, 20 |
|
%1950 = select i1 false, i64 0, i64 %1949 |
|
%1951 = lshr i64 %1908, 44 |
|
%1952 = select i1 false, i64 0, i64 %1951 |
|
%1953 = or i64 %1950, %1952 |
|
%1954 = shl i64 %1909, 3 |
|
%1955 = select i1 false, i64 0, i64 %1954 |
|
%1956 = lshr i64 %1909, 61 |
|
%1957 = select i1 false, i64 0, i64 %1956 |
|
%1958 = or i64 %1955, %1957 |
|
%1959 = shl i64 %1915, 45 |
|
%1960 = select i1 false, i64 0, i64 %1959 |
|
%1961 = lshr i64 %1915, 19 |
|
%1962 = select i1 false, i64 0, i64 %1961 |
|
%1963 = or i64 %1960, %1962 |
|
%1964 = shl i64 %1921, 61 |
|
%1965 = select i1 false, i64 0, i64 %1964 |
|
%1966 = lshr i64 %1921, 3 |
|
%1967 = select i1 false, i64 0, i64 %1966 |
|
%1968 = or i64 %1965, %1967 |
|
%1969 = shl i64 %1900, 1 |
|
%1970 = select i1 false, i64 0, i64 %1969 |
|
%1971 = lshr i64 %1900, 63 |
|
%1972 = select i1 false, i64 0, i64 %1971 |
|
%1973 = or i64 %1970, %1972 |
|
%1974 = shl i64 %1906, 6 |
|
%1975 = select i1 false, i64 0, i64 %1974 |
|
%1976 = lshr i64 %1906, 58 |
|
%1977 = select i1 false, i64 0, i64 %1976 |
|
%1978 = or i64 %1975, %1977 |
|
%1979 = shl i64 %1912, 25 |
|
%1980 = select i1 false, i64 0, i64 %1979 |
|
%1981 = lshr i64 %1912, 39 |
|
%1982 = select i1 false, i64 0, i64 %1981 |
|
%1983 = or i64 %1980, %1982 |
|
%1984 = shl i64 %1918, 8 |
|
%1985 = select i1 false, i64 0, i64 %1984 |
|
%1986 = lshr i64 %1918, 56 |
|
%1987 = select i1 false, i64 0, i64 %1986 |
|
%1988 = or i64 %1985, %1987 |
|
%1989 = shl i64 %1919, 18 |
|
%1990 = select i1 false, i64 0, i64 %1989 |
|
%1991 = lshr i64 %1919, 46 |
|
%1992 = select i1 false, i64 0, i64 %1991 |
|
%1993 = or i64 %1990, %1992 |
|
%1994 = shl i64 %1903, 27 |
|
%1995 = select i1 false, i64 0, i64 %1994 |
|
%1996 = lshr i64 %1903, 37 |
|
%1997 = select i1 false, i64 0, i64 %1996 |
|
%1998 = or i64 %1995, %1997 |
|
%1999 = shl i64 %1904, 36 |
|
%2000 = select i1 false, i64 0, i64 %1999 |
|
%2001 = lshr i64 %1904, 28 |
|
%2002 = select i1 false, i64 0, i64 %2001 |
|
%2003 = or i64 %2000, %2002 |
|
%2004 = shl i64 %1910, 10 |
|
%2005 = select i1 false, i64 0, i64 %2004 |
|
%2006 = lshr i64 %1910, 54 |
|
%2007 = select i1 false, i64 0, i64 %2006 |
|
%2008 = or i64 %2005, %2007 |
|
%2009 = shl i64 %1916, 15 |
|
%2010 = select i1 false, i64 0, i64 %2009 |
|
%2011 = lshr i64 %1916, 49 |
|
%2012 = select i1 false, i64 0, i64 %2011 |
|
%2013 = or i64 %2010, %2012 |
|
%2014 = shl i64 %1922, 56 |
|
%2015 = select i1 false, i64 0, i64 %2014 |
|
%2016 = lshr i64 %1922, 8 |
|
%2017 = select i1 false, i64 0, i64 %2016 |
|
%2018 = or i64 %2015, %2017 |
|
%2019 = shl i64 %1901, 62 |
|
%2020 = select i1 false, i64 0, i64 %2019 |
|
%2021 = lshr i64 %1901, 2 |
|
%2022 = select i1 false, i64 0, i64 %2021 |
|
%2023 = or i64 %2020, %2022 |
|
%2024 = shl i64 %1907, 55 |
|
%2025 = select i1 false, i64 0, i64 %2024 |
|
%2026 = lshr i64 %1907, 9 |
|
%2027 = select i1 false, i64 0, i64 %2026 |
|
%2028 = or i64 %2025, %2027 |
|
%2029 = shl i64 %1913, 39 |
|
%2030 = select i1 false, i64 0, i64 %2029 |
|
%2031 = lshr i64 %1913, 25 |
|
%2032 = select i1 false, i64 0, i64 %2031 |
|
%2033 = or i64 %2030, %2032 |
|
%2034 = shl i64 %1914, 41 |
|
%2035 = select i1 false, i64 0, i64 %2034 |
|
%2036 = lshr i64 %1914, 23 |
|
%2037 = select i1 false, i64 0, i64 %2036 |
|
%2038 = or i64 %2035, %2037 |
|
%2039 = shl i64 %1920, 2 |
|
%2040 = select i1 false, i64 0, i64 %2039 |
|
%2041 = lshr i64 %1920, 62 |
|
%2042 = select i1 false, i64 0, i64 %2041 |
|
%2043 = or i64 %2040, %2042 |
|
%2044 = xor i64 %1928, -1 |
|
%2045 = and i64 %2044, %1933 |
|
%2046 = xor i64 %1899, %2045 |
|
%2047 = xor i64 %1933, -1 |
|
%2048 = and i64 %2047, %1938 |
|
%2049 = xor i64 %1928, %2048 |
|
%2050 = xor i64 %1938, -1 |
|
%2051 = and i64 %2050, %1943 |
|
%2052 = xor i64 %1933, %2051 |
|
%2053 = xor i64 %1943, -1 |
|
%2054 = and i64 %2053, %1899 |
|
%2055 = xor i64 %1938, %2054 |
|
%2056 = xor i64 %1899, -1 |
|
%2057 = and i64 %2056, %1928 |
|
%2058 = xor i64 %1943, %2057 |
|
%2059 = xor i64 %1953, -1 |
|
%2060 = and i64 %2059, %1958 |
|
%2061 = xor i64 %1948, %2060 |
|
%2062 = xor i64 %1958, -1 |
|
%2063 = and i64 %2062, %1963 |
|
%2064 = xor i64 %1953, %2063 |
|
%2065 = xor i64 %1963, -1 |
|
%2066 = and i64 %2065, %1968 |
|
%2067 = xor i64 %1958, %2066 |
|
%2068 = xor i64 %1968, -1 |
|
%2069 = and i64 %2068, %1948 |
|
%2070 = xor i64 %1963, %2069 |
|
%2071 = xor i64 %1948, -1 |
|
%2072 = and i64 %2071, %1953 |
|
%2073 = xor i64 %1968, %2072 |
|
%2074 = xor i64 %1978, -1 |
|
%2075 = and i64 %2074, %1983 |
|
%2076 = xor i64 %1973, %2075 |
|
%2077 = xor i64 %1983, -1 |
|
%2078 = and i64 %2077, %1988 |
|
%2079 = xor i64 %1978, %2078 |
|
%2080 = xor i64 %1988, -1 |
|
%2081 = and i64 %2080, %1993 |
|
%2082 = xor i64 %1983, %2081 |
|
%2083 = xor i64 %1993, -1 |
|
%2084 = and i64 %2083, %1973 |
|
%2085 = xor i64 %1988, %2084 |
|
%2086 = xor i64 %1973, -1 |
|
%2087 = and i64 %2086, %1978 |
|
%2088 = xor i64 %1993, %2087 |
|
%2089 = xor i64 %2003, -1 |
|
%2090 = and i64 %2089, %2008 |
|
%2091 = xor i64 %1998, %2090 |
|
%2092 = xor i64 %2008, -1 |
|
%2093 = and i64 %2092, %2013 |
|
%2094 = xor i64 %2003, %2093 |
|
%2095 = xor i64 %2013, -1 |
|
%2096 = and i64 %2095, %2018 |
|
%2097 = xor i64 %2008, %2096 |
|
%2098 = xor i64 %2018, -1 |
|
%2099 = and i64 %2098, %1998 |
|
%2100 = xor i64 %2013, %2099 |
|
%2101 = xor i64 %1998, -1 |
|
%2102 = and i64 %2101, %2003 |
|
%2103 = xor i64 %2018, %2102 |
|
%2104 = xor i64 %2028, -1 |
|
%2105 = and i64 %2104, %2033 |
|
%2106 = xor i64 %2023, %2105 |
|
%2107 = xor i64 %2033, -1 |
|
%2108 = and i64 %2107, %2038 |
|
%2109 = xor i64 %2028, %2108 |
|
%2110 = xor i64 %2038, -1 |
|
%2111 = and i64 %2110, %2043 |
|
%2112 = xor i64 %2033, %2111 |
|
%2113 = xor i64 %2043, -1 |
|
%2114 = and i64 %2113, %2023 |
|
%2115 = xor i64 %2038, %2114 |
|
%2116 = xor i64 %2023, -1 |
|
%2117 = and i64 %2116, %2028 |
|
%2118 = xor i64 %2043, %2117 |
|
%2119 = sub i64 %1822, 1 |
|
%2120 = getelementptr inbounds i64, ptr @_j_constYY.5, i64 %2119 |
|
%2121 = load i64, ptr %2120, align 8 |
|
%2122 = xor i64 %2046, %2121 |
|
br i1 true, label %2124, label %2123 |
|
|
|
2123: ; preds = %1821 |
|
br label %2124 |
|
|
|
2124: ; preds = %2123, %1821 |
|
%2125 = getelementptr inbounds i8, ptr %77, i32 0 |
|
store i64 %2122, ptr %78, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2125, ptr align 8 %78, i64 8, i1 false) |
|
%2126 = getelementptr inbounds i8, ptr %77, i32 8 |
|
store i64 %2049, ptr %79, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2126, ptr align 8 %79, i64 8, i1 false) |
|
%2127 = getelementptr inbounds i8, ptr %77, i32 16 |
|
store i64 %2052, ptr %80, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2127, ptr align 8 %80, i64 8, i1 false) |
|
%2128 = getelementptr inbounds i8, ptr %77, i32 24 |
|
store i64 %2055, ptr %81, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2128, ptr align 8 %81, i64 8, i1 false) |
|
%2129 = getelementptr inbounds i8, ptr %77, i32 32 |
|
store i64 %2058, ptr %82, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2129, ptr align 8 %82, i64 8, i1 false) |
|
%2130 = getelementptr inbounds i8, ptr %77, i32 40 |
|
store i64 %2061, ptr %83, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2130, ptr align 8 %83, i64 8, i1 false) |
|
%2131 = getelementptr inbounds i8, ptr %77, i32 48 |
|
store i64 %2064, ptr %84, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2131, ptr align 8 %84, i64 8, i1 false) |
|
%2132 = getelementptr inbounds i8, ptr %77, i32 56 |
|
store i64 %2067, ptr %85, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2132, ptr align 8 %85, i64 8, i1 false) |
|
%2133 = getelementptr inbounds i8, ptr %77, i32 64 |
|
store i64 %2070, ptr %86, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2133, ptr align 8 %86, i64 8, i1 false) |
|
%2134 = getelementptr inbounds i8, ptr %77, i32 72 |
|
store i64 %2073, ptr %87, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2134, ptr align 8 %87, i64 8, i1 false) |
|
%2135 = getelementptr inbounds i8, ptr %77, i32 80 |
|
store i64 %2076, ptr %88, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2135, ptr align 8 %88, i64 8, i1 false) |
|
%2136 = getelementptr inbounds i8, ptr %77, i32 88 |
|
store i64 %2079, ptr %89, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2136, ptr align 8 %89, i64 8, i1 false) |
|
%2137 = getelementptr inbounds i8, ptr %77, i32 96 |
|
store i64 %2082, ptr %90, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2137, ptr align 8 %90, i64 8, i1 false) |
|
%2138 = getelementptr inbounds i8, ptr %77, i32 104 |
|
store i64 %2085, ptr %91, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2138, ptr align 8 %91, i64 8, i1 false) |
|
%2139 = getelementptr inbounds i8, ptr %77, i32 112 |
|
store i64 %2088, ptr %92, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2139, ptr align 8 %92, i64 8, i1 false) |
|
%2140 = getelementptr inbounds i8, ptr %77, i32 120 |
|
store i64 %2091, ptr %93, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2140, ptr align 8 %93, i64 8, i1 false) |
|
%2141 = getelementptr inbounds i8, ptr %77, i32 128 |
|
store i64 %2094, ptr %94, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2141, ptr align 8 %94, i64 8, i1 false) |
|
%2142 = getelementptr inbounds i8, ptr %77, i32 136 |
|
store i64 %2097, ptr %95, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2142, ptr align 8 %95, i64 8, i1 false) |
|
%2143 = getelementptr inbounds i8, ptr %77, i32 144 |
|
store i64 %2100, ptr %96, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2143, ptr align 8 %96, i64 8, i1 false) |
|
%2144 = getelementptr inbounds i8, ptr %77, i32 152 |
|
store i64 %2103, ptr %97, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2144, ptr align 8 %97, i64 8, i1 false) |
|
%2145 = getelementptr inbounds i8, ptr %77, i32 160 |
|
store i64 %2106, ptr %98, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2145, ptr align 8 %98, i64 8, i1 false) |
|
%2146 = getelementptr inbounds i8, ptr %77, i32 168 |
|
store i64 %2109, ptr %99, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2146, ptr align 8 %99, i64 8, i1 false) |
|
%2147 = getelementptr inbounds i8, ptr %77, i32 176 |
|
store i64 %2112, ptr %100, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2147, ptr align 8 %100, i64 8, i1 false) |
|
%2148 = getelementptr inbounds i8, ptr %77, i32 184 |
|
store i64 %2115, ptr %101, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2148, ptr align 8 %101, i64 8, i1 false) |
|
%2149 = getelementptr inbounds i8, ptr %77, i32 192 |
|
store i64 %2118, ptr %102, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2149, ptr align 8 %102, i64 8, i1 false) |
|
br label %2150 |
|
|
|
2150: ; preds = %2124 |
|
%2151 = icmp eq i64 %1823, 24 |
|
%2152 = xor i1 %2151, true |
|
br i1 %2152, label %2154, label %2153 |
|
|
|
2153: ; preds = %2150 |
|
br label %2156 |
|
|
|
2154: ; preds = %2150 |
|
%2155 = add i64 %1823, 1 |
|
br label %2156 |
|
|
|
2156: ; preds = %2154, %2153 |
|
%2157 = phi i64 [ %2155, %2154 ], [ undef, %2153 ] |
|
%2158 = phi i64 [ %2155, %2154 ], [ undef, %2153 ] |
|
%2159 = phi i8 [ 1, %2153 ], [ 0, %2154 ] |
|
%2160 = trunc i8 %2159 to i1 |
|
%2161 = xor i1 %2160, true |
|
%2162 = xor i1 %2161, true |
|
br i1 %2162, label %2164, label %2163 |
|
|
|
2163: ; preds = %2156 |
|
br label %1821 |
|
|
|
2164: ; preds = %2156 |
|
br label %2165 |
|
|
|
2165: ; preds = %2164 |
|
br label %2166 |
|
|
|
2166: ; preds = %2165 |
|
%2167 = icmp eq i64 %344, %315 |
|
%2168 = xor i1 %2167, true |
|
br i1 %2168, label %2170, label %2169 |
|
|
|
2169: ; preds = %2166 |
|
br label %2172 |
|
|
|
2170: ; preds = %2166 |
|
%2171 = add i64 %344, 21 |
|
br label %2172 |
|
|
|
2172: ; preds = %2170, %2169 |
|
%2173 = phi i64 [ %2171, %2170 ], [ undef, %2169 ] |
|
%2174 = phi i64 [ %2171, %2170 ], [ undef, %2169 ] |
|
%2175 = phi i8 [ 1, %2169 ], [ 0, %2170 ] |
|
%2176 = trunc i8 %2175 to i1 |
|
%2177 = xor i1 %2176, true |
|
%2178 = xor i1 %2177, true |
|
br i1 %2178, label %2179, label %2181 |
|
|
|
2179: ; preds = %2172 |
|
call void @llvm.lifetime.start.p0(ptr %104) |
|
%2180 = icmp ne ptr %77, null |
|
br i1 %2180, label %4685, label %4686 |
|
|
|
2181: ; preds = %2172 |
|
call void @llvm.lifetime.start.p0(ptr %7) |
|
%2182 = icmp ne ptr %77, null |
|
br i1 %2182, label %4680, label %4681 |
|
|
|
2183: ; preds = %4694, %4689 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %103, ptr align 8 %104, i64 200, i1 false) |
|
call void @llvm.lifetime.end.p0(ptr %104) |
|
%2184 = add i64 %4163, 1 |
|
%2185 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2186 = getelementptr inbounds i8, ptr addrspace(11) %2185, i32 8 |
|
%2187 = load i64, ptr addrspace(11) %2186, align 8 |
|
%2188 = load i64, ptr addrspace(11) %2185, align 8 |
|
%2189 = sub i64 %2187, %2188 |
|
%2190 = add i64 1, %2189 |
|
%2191 = mul i64 %2190, 1 |
|
%2192 = icmp ne i64 %2191, -9223372036854775808 |
|
%2193 = or i1 true, %2192 |
|
%2194 = and i1 true, %2193 |
|
%2195 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2194, label %4350, label %4348 |
|
|
|
2196: ; preds = %4350 |
|
br label %2198 |
|
|
|
2197: ; preds = %4350 |
|
br label %2198 |
|
|
|
2198: ; preds = %2197, %2196 |
|
%2199 = phi i64 [ %4353, %2196 ], [ 0, %2197 ] |
|
br label %2200 |
|
|
|
2200: ; preds = %2198 |
|
br label %2201 |
|
|
|
2201: ; preds = %2200 |
|
%2202 = icmp slt i64 0, %2199 |
|
%2203 = xor i1 %2202, true |
|
%2204 = select i1 %2203, i64 0, i64 %2199 |
|
br label %2205 |
|
|
|
2205: ; preds = %2201 |
|
br label %2206 |
|
|
|
2206: ; preds = %2205 |
|
br label %2207 |
|
|
|
2207: ; preds = %2206 |
|
br label %2208 |
|
|
|
2208: ; preds = %2207 |
|
%2209 = icmp sle i64 %2184, %2204 |
|
%2210 = xor i1 %2209, true |
|
br i1 %2210, label %2212, label %2211 |
|
|
|
2211: ; preds = %2208 |
|
br label %2214 |
|
|
|
2212: ; preds = %2208 |
|
%2213 = sub i64 %2184, 1 |
|
br label %2214 |
|
|
|
2214: ; preds = %2212, %2211 |
|
%2215 = phi i64 [ %2204, %2211 ], [ %2213, %2212 ] |
|
%2216 = getelementptr inbounds i8, ptr %105, i32 0 |
|
store i64 %2184, ptr %106, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2216, ptr align 8 %106, i64 8, i1 false) |
|
%2217 = getelementptr inbounds i8, ptr %105, i32 8 |
|
store i64 %2215, ptr %107, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2217, ptr align 8 %107, i64 8, i1 false) |
|
br label %2218 |
|
|
|
2218: ; preds = %2214 |
|
br label %2219 |
|
|
|
2219: ; preds = %2218 |
|
%2220 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2221 = getelementptr inbounds i8, ptr addrspace(11) %2220, i32 8 |
|
%2222 = load i64, ptr addrspace(11) %2221, align 8 |
|
%2223 = load i64, ptr addrspace(11) %2220, align 8 |
|
%2224 = sub i64 %2222, %2223 |
|
%2225 = add i64 1, %2224 |
|
%2226 = mul i64 %2225, 1 |
|
%2227 = icmp ne i64 %2226, -9223372036854775808 |
|
%2228 = or i1 true, %2227 |
|
%2229 = and i1 true, %2228 |
|
%2230 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2229, label %4358, label %4356 |
|
|
|
2231: ; preds = %4358 |
|
br label %2233 |
|
|
|
2232: ; preds = %4358 |
|
br label %2233 |
|
|
|
2233: ; preds = %2232, %2231 |
|
br label %2234 |
|
|
|
2234: ; preds = %2233 |
|
br label %2235 |
|
|
|
2235: ; preds = %2234 |
|
br label %2236 |
|
|
|
2236: ; preds = %2235 |
|
br label %2237 |
|
|
|
2237: ; preds = %2236 |
|
br label %2238 |
|
|
|
2238: ; preds = %2237 |
|
br label %2239 |
|
|
|
2239: ; preds = %2238 |
|
br i1 false, label %2277, label %2240 |
|
|
|
2240: ; preds = %2239 |
|
%2241 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2242 = getelementptr inbounds i8, ptr addrspace(11) %2241, i32 8 |
|
%2243 = load i64, ptr addrspace(11) %2242, align 8 |
|
%2244 = load i64, ptr addrspace(11) %2241, align 8 |
|
%2245 = sub i64 %2243, %2244 |
|
%2246 = add i64 1, %2245 |
|
%2247 = mul i64 %2246, 1 |
|
%2248 = icmp ne i64 %2247, -9223372036854775808 |
|
%2249 = or i1 true, %2248 |
|
%2250 = and i1 true, %2249 |
|
%2251 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2250, label %4366, label %4364 |
|
|
|
2252: ; preds = %4366 |
|
br label %2254 |
|
|
|
2253: ; preds = %4366 |
|
br label %2254 |
|
|
|
2254: ; preds = %2253, %2252 |
|
%2255 = phi i64 [ %4369, %2252 ], [ 0, %2253 ] |
|
br label %2256 |
|
|
|
2256: ; preds = %2254 |
|
br label %2257 |
|
|
|
2257: ; preds = %2256 |
|
%2258 = icmp slt i64 0, %2255 |
|
%2259 = xor i1 %2258, true |
|
%2260 = select i1 %2259, i64 0, i64 %2255 |
|
br label %2261 |
|
|
|
2261: ; preds = %2257 |
|
br label %2262 |
|
|
|
2262: ; preds = %2261 |
|
br label %2263 |
|
|
|
2263: ; preds = %2262 |
|
%2264 = icmp slt i64 %2215, %2184 |
|
%2265 = sub i64 %2184, 1 |
|
%2266 = icmp ult i64 %2265, %2260 |
|
%2267 = sub i64 %2215, 1 |
|
%2268 = icmp ult i64 %2267, %2260 |
|
%2269 = and i1 %2266, %2268 |
|
%2270 = or i1 %2264, %2269 |
|
br label %2271 |
|
|
|
2271: ; preds = %2263 |
|
%2272 = xor i1 %2270, true |
|
br i1 %2272, label %2274, label %2273 |
|
|
|
2273: ; preds = %2271 |
|
br label %2276 |
|
|
|
2274: ; preds = %2271 |
|
%2275 = addrspacecast ptr %105 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_2(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, ptr addrspace(11) readonly captures(none) %2275) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2276: ; preds = %2273 |
|
br label %2277 |
|
|
|
2277: ; preds = %2276, %2239 |
|
%2278 = getelementptr inbounds i8, ptr %108, i32 0 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2278, ptr align 8 %105, i64 16, i1 false) |
|
%2279 = sub i64 %2184, 1 |
|
%2280 = getelementptr inbounds i8, ptr %109, i32 0 |
|
call void @llvm.memcpy.p0.p11.i64(ptr align 8 %2280, ptr addrspace(11) align 8 %3, i64 48, i1 false) |
|
%2281 = load ptr addrspace(10), ptr %4, align 8 |
|
%2282 = getelementptr inbounds i8, ptr %109, i32 48 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2282, ptr align 8 %108, i64 16, i1 false) |
|
%2283 = getelementptr inbounds i8, ptr %109, i32 64 |
|
store i64 %2279, ptr %110, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2283, ptr align 8 %110, i64 8, i1 false) |
|
%2284 = getelementptr inbounds i8, ptr %109, i32 72 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2284, ptr align 8 @_j_constYY.2, i64 8, i1 false) |
|
br label %2285 |
|
|
|
2285: ; preds = %2277 |
|
%2286 = sub i64 %2215, %2184 |
|
%2287 = add i64 1, %2286 |
|
%2288 = icmp ult i64 0, %2287 |
|
%2289 = xor i1 %2288, true |
|
br i1 %2289, label %2353, label %2290 |
|
|
|
2290: ; preds = %2285 |
|
br i1 false, label %2297, label %2291 |
|
|
|
2291: ; preds = %2290 |
|
%2292 = sub i64 %2215, %2184 |
|
%2293 = add i64 1, %2292 |
|
%2294 = icmp ult i64 0, %2293 |
|
%2295 = xor i1 %2294, true |
|
br i1 %2295, label %2312, label %2296 |
|
|
|
2296: ; preds = %2291 |
|
br label %2297 |
|
|
|
2297: ; preds = %2296, %2290 |
|
%2298 = add i64 %2279, 1 |
|
br i1 true, label %2324, label %2299 |
|
|
|
2299: ; preds = %2297 |
|
%2300 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2301 = getelementptr inbounds i8, ptr addrspace(11) %2300, i32 8 |
|
%2302 = load i64, ptr addrspace(11) %2301, align 8 |
|
%2303 = load i64, ptr addrspace(11) %2300, align 8 |
|
%2304 = sub i64 %2302, %2303 |
|
%2305 = add i64 1, %2304 |
|
%2306 = mul i64 %2305, 1 |
|
%2307 = icmp ne i64 %2306, -9223372036854775808 |
|
%2308 = or i1 true, %2307 |
|
%2309 = and i1 true, %2308 |
|
%2310 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2309, label %4374, label %4372 |
|
|
|
2311: ; preds = %4374 |
|
br label %2315 |
|
|
|
2312: ; preds = %2291 |
|
store ptr addrspace(10) %2281, ptr %236, align 8 |
|
%2313 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2313, ptr readonly captures(none) %236, i64 signext 1) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2314: ; preds = %4374 |
|
br label %2315 |
|
|
|
2315: ; preds = %2314, %2311 |
|
%2316 = phi i64 [ %4377, %2311 ], [ 0, %2314 ] |
|
%2317 = icmp slt i64 0, %2316 |
|
%2318 = xor i1 %2317, true |
|
%2319 = select i1 %2318, i64 0, i64 %2316 |
|
%2320 = sub i64 %2298, 1 |
|
%2321 = icmp ult i64 %2320, %2319 |
|
%2322 = xor i1 %2321, true |
|
br i1 %2322, label %2352, label %2323 |
|
|
|
2323: ; preds = %2315 |
|
br label %2324 |
|
|
|
2324: ; preds = %2323, %2297 |
|
%2325 = load ptr addrspace(10), ptr %4, align 8 |
|
%2326 = addrspacecast ptr addrspace(10) %2325 to ptr addrspace(11) |
|
%2327 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2326, i32 0, i32 0 |
|
%2328 = load ptr, ptr addrspace(11) %2327, align 8 |
|
%2329 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2326, i32 0, i32 1 |
|
%2330 = load ptr addrspace(10), ptr addrspace(11) %2329, align 8 |
|
%2331 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2328, 0 |
|
%2332 = insertvalue { ptr, ptr addrspace(10) } %2331, ptr addrspace(10) %2330, 1 |
|
%2333 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2334 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2335 = load i64, ptr addrspace(11) %2334, align 8 |
|
%2336 = mul i64 %2335, 1 |
|
%2337 = load i64, ptr addrspace(11) %2333, align 8 |
|
%2338 = add i64 %2337, %2336 |
|
%2339 = sub i64 %2338, 1 |
|
%2340 = mul i64 %2339, 1 |
|
%2341 = getelementptr inbounds i8, ptr %111, i32 0 |
|
store i64 %2340, ptr %112, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2341, ptr align 8 %112, i64 8, i1 false) |
|
%2342 = getelementptr inbounds i8, ptr %111, i32 8 |
|
store { ptr, ptr addrspace(10) } %2332, ptr %113, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2342, ptr align 8 %113, i64 8, i1 false) |
|
%2343 = getelementptr inbounds i8, ptr %113, i32 8 |
|
%2344 = load ptr addrspace(10), ptr %2343, align 8 |
|
%2345 = extractvalue { ptr, ptr addrspace(10) } %2332, 0 |
|
%2346 = getelementptr i8, ptr %2345, i64 %2340 |
|
%2347 = sub i64 %2298, 1 |
|
%2348 = mul i64 8, %2347 |
|
%2349 = getelementptr i8, ptr %2346, i64 %2348 |
|
%2350 = getelementptr inbounds i64, ptr %2349, i64 0 |
|
%2351 = load i64, ptr %2350, align 1 |
|
br label %2354 |
|
|
|
2352: ; preds = %2315 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2298) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2353: ; preds = %2285 |
|
br label %2354 |
|
|
|
2354: ; preds = %2353, %2324 |
|
%2355 = phi i64 [ %2351, %2324 ], [ 0, %2353 ] |
|
%2356 = load i64, ptr %103, align 8 |
|
%2357 = xor i64 %2356, %2355 |
|
%2358 = getelementptr inbounds i8, ptr %103, i32 8 |
|
%2359 = sub i64 %2215, %2184 |
|
%2360 = add i64 1, %2359 |
|
%2361 = icmp ult i64 1, %2360 |
|
%2362 = xor i1 %2361, true |
|
br i1 %2362, label %2426, label %2363 |
|
|
|
2363: ; preds = %2354 |
|
br i1 false, label %2370, label %2364 |
|
|
|
2364: ; preds = %2363 |
|
%2365 = sub i64 %2215, %2184 |
|
%2366 = add i64 1, %2365 |
|
%2367 = icmp ult i64 1, %2366 |
|
%2368 = xor i1 %2367, true |
|
br i1 %2368, label %2385, label %2369 |
|
|
|
2369: ; preds = %2364 |
|
br label %2370 |
|
|
|
2370: ; preds = %2369, %2363 |
|
%2371 = add i64 %2279, 2 |
|
br i1 true, label %2397, label %2372 |
|
|
|
2372: ; preds = %2370 |
|
%2373 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2374 = getelementptr inbounds i8, ptr addrspace(11) %2373, i32 8 |
|
%2375 = load i64, ptr addrspace(11) %2374, align 8 |
|
%2376 = load i64, ptr addrspace(11) %2373, align 8 |
|
%2377 = sub i64 %2375, %2376 |
|
%2378 = add i64 1, %2377 |
|
%2379 = mul i64 %2378, 1 |
|
%2380 = icmp ne i64 %2379, -9223372036854775808 |
|
%2381 = or i1 true, %2380 |
|
%2382 = and i1 true, %2381 |
|
%2383 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2382, label %4382, label %4380 |
|
|
|
2384: ; preds = %4382 |
|
br label %2388 |
|
|
|
2385: ; preds = %2364 |
|
store ptr addrspace(10) %2281, ptr %235, align 8 |
|
%2386 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2386, ptr readonly captures(none) %235, i64 signext 2) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2387: ; preds = %4382 |
|
br label %2388 |
|
|
|
2388: ; preds = %2387, %2384 |
|
%2389 = phi i64 [ %4385, %2384 ], [ 0, %2387 ] |
|
%2390 = icmp slt i64 0, %2389 |
|
%2391 = xor i1 %2390, true |
|
%2392 = select i1 %2391, i64 0, i64 %2389 |
|
%2393 = sub i64 %2371, 1 |
|
%2394 = icmp ult i64 %2393, %2392 |
|
%2395 = xor i1 %2394, true |
|
br i1 %2395, label %2425, label %2396 |
|
|
|
2396: ; preds = %2388 |
|
br label %2397 |
|
|
|
2397: ; preds = %2396, %2370 |
|
%2398 = load ptr addrspace(10), ptr %4, align 8 |
|
%2399 = addrspacecast ptr addrspace(10) %2398 to ptr addrspace(11) |
|
%2400 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2399, i32 0, i32 0 |
|
%2401 = load ptr, ptr addrspace(11) %2400, align 8 |
|
%2402 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2399, i32 0, i32 1 |
|
%2403 = load ptr addrspace(10), ptr addrspace(11) %2402, align 8 |
|
%2404 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2401, 0 |
|
%2405 = insertvalue { ptr, ptr addrspace(10) } %2404, ptr addrspace(10) %2403, 1 |
|
%2406 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2407 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2408 = load i64, ptr addrspace(11) %2407, align 8 |
|
%2409 = mul i64 %2408, 1 |
|
%2410 = load i64, ptr addrspace(11) %2406, align 8 |
|
%2411 = add i64 %2410, %2409 |
|
%2412 = sub i64 %2411, 1 |
|
%2413 = mul i64 %2412, 1 |
|
%2414 = getelementptr inbounds i8, ptr %114, i32 0 |
|
store i64 %2413, ptr %115, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2414, ptr align 8 %115, i64 8, i1 false) |
|
%2415 = getelementptr inbounds i8, ptr %114, i32 8 |
|
store { ptr, ptr addrspace(10) } %2405, ptr %116, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2415, ptr align 8 %116, i64 8, i1 false) |
|
%2416 = getelementptr inbounds i8, ptr %116, i32 8 |
|
%2417 = load ptr addrspace(10), ptr %2416, align 8 |
|
%2418 = extractvalue { ptr, ptr addrspace(10) } %2405, 0 |
|
%2419 = getelementptr i8, ptr %2418, i64 %2413 |
|
%2420 = sub i64 %2371, 1 |
|
%2421 = mul i64 8, %2420 |
|
%2422 = getelementptr i8, ptr %2419, i64 %2421 |
|
%2423 = getelementptr inbounds i64, ptr %2422, i64 0 |
|
%2424 = load i64, ptr %2423, align 1 |
|
br label %2427 |
|
|
|
2425: ; preds = %2388 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2371) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2426: ; preds = %2354 |
|
br label %2427 |
|
|
|
2427: ; preds = %2426, %2397 |
|
%2428 = phi i64 [ %2424, %2397 ], [ 0, %2426 ] |
|
%2429 = load i64, ptr %2358, align 8 |
|
%2430 = xor i64 %2429, %2428 |
|
%2431 = getelementptr inbounds i8, ptr %103, i32 16 |
|
%2432 = sub i64 %2215, %2184 |
|
%2433 = add i64 1, %2432 |
|
%2434 = icmp ult i64 2, %2433 |
|
%2435 = xor i1 %2434, true |
|
br i1 %2435, label %2499, label %2436 |
|
|
|
2436: ; preds = %2427 |
|
br i1 false, label %2443, label %2437 |
|
|
|
2437: ; preds = %2436 |
|
%2438 = sub i64 %2215, %2184 |
|
%2439 = add i64 1, %2438 |
|
%2440 = icmp ult i64 2, %2439 |
|
%2441 = xor i1 %2440, true |
|
br i1 %2441, label %2458, label %2442 |
|
|
|
2442: ; preds = %2437 |
|
br label %2443 |
|
|
|
2443: ; preds = %2442, %2436 |
|
%2444 = add i64 %2279, 3 |
|
br i1 true, label %2470, label %2445 |
|
|
|
2445: ; preds = %2443 |
|
%2446 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2447 = getelementptr inbounds i8, ptr addrspace(11) %2446, i32 8 |
|
%2448 = load i64, ptr addrspace(11) %2447, align 8 |
|
%2449 = load i64, ptr addrspace(11) %2446, align 8 |
|
%2450 = sub i64 %2448, %2449 |
|
%2451 = add i64 1, %2450 |
|
%2452 = mul i64 %2451, 1 |
|
%2453 = icmp ne i64 %2452, -9223372036854775808 |
|
%2454 = or i1 true, %2453 |
|
%2455 = and i1 true, %2454 |
|
%2456 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2455, label %4390, label %4388 |
|
|
|
2457: ; preds = %4390 |
|
br label %2461 |
|
|
|
2458: ; preds = %2437 |
|
store ptr addrspace(10) %2281, ptr %234, align 8 |
|
%2459 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2459, ptr readonly captures(none) %234, i64 signext 3) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2460: ; preds = %4390 |
|
br label %2461 |
|
|
|
2461: ; preds = %2460, %2457 |
|
%2462 = phi i64 [ %4393, %2457 ], [ 0, %2460 ] |
|
%2463 = icmp slt i64 0, %2462 |
|
%2464 = xor i1 %2463, true |
|
%2465 = select i1 %2464, i64 0, i64 %2462 |
|
%2466 = sub i64 %2444, 1 |
|
%2467 = icmp ult i64 %2466, %2465 |
|
%2468 = xor i1 %2467, true |
|
br i1 %2468, label %2498, label %2469 |
|
|
|
2469: ; preds = %2461 |
|
br label %2470 |
|
|
|
2470: ; preds = %2469, %2443 |
|
%2471 = load ptr addrspace(10), ptr %4, align 8 |
|
%2472 = addrspacecast ptr addrspace(10) %2471 to ptr addrspace(11) |
|
%2473 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2472, i32 0, i32 0 |
|
%2474 = load ptr, ptr addrspace(11) %2473, align 8 |
|
%2475 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2472, i32 0, i32 1 |
|
%2476 = load ptr addrspace(10), ptr addrspace(11) %2475, align 8 |
|
%2477 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2474, 0 |
|
%2478 = insertvalue { ptr, ptr addrspace(10) } %2477, ptr addrspace(10) %2476, 1 |
|
%2479 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2480 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2481 = load i64, ptr addrspace(11) %2480, align 8 |
|
%2482 = mul i64 %2481, 1 |
|
%2483 = load i64, ptr addrspace(11) %2479, align 8 |
|
%2484 = add i64 %2483, %2482 |
|
%2485 = sub i64 %2484, 1 |
|
%2486 = mul i64 %2485, 1 |
|
%2487 = getelementptr inbounds i8, ptr %117, i32 0 |
|
store i64 %2486, ptr %118, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2487, ptr align 8 %118, i64 8, i1 false) |
|
%2488 = getelementptr inbounds i8, ptr %117, i32 8 |
|
store { ptr, ptr addrspace(10) } %2478, ptr %119, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2488, ptr align 8 %119, i64 8, i1 false) |
|
%2489 = getelementptr inbounds i8, ptr %119, i32 8 |
|
%2490 = load ptr addrspace(10), ptr %2489, align 8 |
|
%2491 = extractvalue { ptr, ptr addrspace(10) } %2478, 0 |
|
%2492 = getelementptr i8, ptr %2491, i64 %2486 |
|
%2493 = sub i64 %2444, 1 |
|
%2494 = mul i64 8, %2493 |
|
%2495 = getelementptr i8, ptr %2492, i64 %2494 |
|
%2496 = getelementptr inbounds i64, ptr %2495, i64 0 |
|
%2497 = load i64, ptr %2496, align 1 |
|
br label %2500 |
|
|
|
2498: ; preds = %2461 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2444) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2499: ; preds = %2427 |
|
br label %2500 |
|
|
|
2500: ; preds = %2499, %2470 |
|
%2501 = phi i64 [ %2497, %2470 ], [ 0, %2499 ] |
|
%2502 = load i64, ptr %2431, align 8 |
|
%2503 = xor i64 %2502, %2501 |
|
%2504 = getelementptr inbounds i8, ptr %103, i32 24 |
|
%2505 = sub i64 %2215, %2184 |
|
%2506 = add i64 1, %2505 |
|
%2507 = icmp ult i64 3, %2506 |
|
%2508 = xor i1 %2507, true |
|
br i1 %2508, label %2572, label %2509 |
|
|
|
2509: ; preds = %2500 |
|
br i1 false, label %2516, label %2510 |
|
|
|
2510: ; preds = %2509 |
|
%2511 = sub i64 %2215, %2184 |
|
%2512 = add i64 1, %2511 |
|
%2513 = icmp ult i64 3, %2512 |
|
%2514 = xor i1 %2513, true |
|
br i1 %2514, label %2531, label %2515 |
|
|
|
2515: ; preds = %2510 |
|
br label %2516 |
|
|
|
2516: ; preds = %2515, %2509 |
|
%2517 = add i64 %2279, 4 |
|
br i1 true, label %2543, label %2518 |
|
|
|
2518: ; preds = %2516 |
|
%2519 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2520 = getelementptr inbounds i8, ptr addrspace(11) %2519, i32 8 |
|
%2521 = load i64, ptr addrspace(11) %2520, align 8 |
|
%2522 = load i64, ptr addrspace(11) %2519, align 8 |
|
%2523 = sub i64 %2521, %2522 |
|
%2524 = add i64 1, %2523 |
|
%2525 = mul i64 %2524, 1 |
|
%2526 = icmp ne i64 %2525, -9223372036854775808 |
|
%2527 = or i1 true, %2526 |
|
%2528 = and i1 true, %2527 |
|
%2529 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2528, label %4398, label %4396 |
|
|
|
2530: ; preds = %4398 |
|
br label %2534 |
|
|
|
2531: ; preds = %2510 |
|
store ptr addrspace(10) %2281, ptr %233, align 8 |
|
%2532 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2532, ptr readonly captures(none) %233, i64 signext 4) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2533: ; preds = %4398 |
|
br label %2534 |
|
|
|
2534: ; preds = %2533, %2530 |
|
%2535 = phi i64 [ %4401, %2530 ], [ 0, %2533 ] |
|
%2536 = icmp slt i64 0, %2535 |
|
%2537 = xor i1 %2536, true |
|
%2538 = select i1 %2537, i64 0, i64 %2535 |
|
%2539 = sub i64 %2517, 1 |
|
%2540 = icmp ult i64 %2539, %2538 |
|
%2541 = xor i1 %2540, true |
|
br i1 %2541, label %2571, label %2542 |
|
|
|
2542: ; preds = %2534 |
|
br label %2543 |
|
|
|
2543: ; preds = %2542, %2516 |
|
%2544 = load ptr addrspace(10), ptr %4, align 8 |
|
%2545 = addrspacecast ptr addrspace(10) %2544 to ptr addrspace(11) |
|
%2546 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2545, i32 0, i32 0 |
|
%2547 = load ptr, ptr addrspace(11) %2546, align 8 |
|
%2548 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2545, i32 0, i32 1 |
|
%2549 = load ptr addrspace(10), ptr addrspace(11) %2548, align 8 |
|
%2550 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2547, 0 |
|
%2551 = insertvalue { ptr, ptr addrspace(10) } %2550, ptr addrspace(10) %2549, 1 |
|
%2552 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2553 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2554 = load i64, ptr addrspace(11) %2553, align 8 |
|
%2555 = mul i64 %2554, 1 |
|
%2556 = load i64, ptr addrspace(11) %2552, align 8 |
|
%2557 = add i64 %2556, %2555 |
|
%2558 = sub i64 %2557, 1 |
|
%2559 = mul i64 %2558, 1 |
|
%2560 = getelementptr inbounds i8, ptr %120, i32 0 |
|
store i64 %2559, ptr %121, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2560, ptr align 8 %121, i64 8, i1 false) |
|
%2561 = getelementptr inbounds i8, ptr %120, i32 8 |
|
store { ptr, ptr addrspace(10) } %2551, ptr %122, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2561, ptr align 8 %122, i64 8, i1 false) |
|
%2562 = getelementptr inbounds i8, ptr %122, i32 8 |
|
%2563 = load ptr addrspace(10), ptr %2562, align 8 |
|
%2564 = extractvalue { ptr, ptr addrspace(10) } %2551, 0 |
|
%2565 = getelementptr i8, ptr %2564, i64 %2559 |
|
%2566 = sub i64 %2517, 1 |
|
%2567 = mul i64 8, %2566 |
|
%2568 = getelementptr i8, ptr %2565, i64 %2567 |
|
%2569 = getelementptr inbounds i64, ptr %2568, i64 0 |
|
%2570 = load i64, ptr %2569, align 1 |
|
br label %2573 |
|
|
|
2571: ; preds = %2534 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2517) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2572: ; preds = %2500 |
|
br label %2573 |
|
|
|
2573: ; preds = %2572, %2543 |
|
%2574 = phi i64 [ %2570, %2543 ], [ 0, %2572 ] |
|
%2575 = load i64, ptr %2504, align 8 |
|
%2576 = xor i64 %2575, %2574 |
|
%2577 = getelementptr inbounds i8, ptr %103, i32 32 |
|
%2578 = sub i64 %2215, %2184 |
|
%2579 = add i64 1, %2578 |
|
%2580 = icmp ult i64 4, %2579 |
|
%2581 = xor i1 %2580, true |
|
br i1 %2581, label %2645, label %2582 |
|
|
|
2582: ; preds = %2573 |
|
br i1 false, label %2589, label %2583 |
|
|
|
2583: ; preds = %2582 |
|
%2584 = sub i64 %2215, %2184 |
|
%2585 = add i64 1, %2584 |
|
%2586 = icmp ult i64 4, %2585 |
|
%2587 = xor i1 %2586, true |
|
br i1 %2587, label %2604, label %2588 |
|
|
|
2588: ; preds = %2583 |
|
br label %2589 |
|
|
|
2589: ; preds = %2588, %2582 |
|
%2590 = add i64 %2279, 5 |
|
br i1 true, label %2616, label %2591 |
|
|
|
2591: ; preds = %2589 |
|
%2592 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2593 = getelementptr inbounds i8, ptr addrspace(11) %2592, i32 8 |
|
%2594 = load i64, ptr addrspace(11) %2593, align 8 |
|
%2595 = load i64, ptr addrspace(11) %2592, align 8 |
|
%2596 = sub i64 %2594, %2595 |
|
%2597 = add i64 1, %2596 |
|
%2598 = mul i64 %2597, 1 |
|
%2599 = icmp ne i64 %2598, -9223372036854775808 |
|
%2600 = or i1 true, %2599 |
|
%2601 = and i1 true, %2600 |
|
%2602 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2601, label %4406, label %4404 |
|
|
|
2603: ; preds = %4406 |
|
br label %2607 |
|
|
|
2604: ; preds = %2583 |
|
store ptr addrspace(10) %2281, ptr %232, align 8 |
|
%2605 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2605, ptr readonly captures(none) %232, i64 signext 5) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2606: ; preds = %4406 |
|
br label %2607 |
|
|
|
2607: ; preds = %2606, %2603 |
|
%2608 = phi i64 [ %4409, %2603 ], [ 0, %2606 ] |
|
%2609 = icmp slt i64 0, %2608 |
|
%2610 = xor i1 %2609, true |
|
%2611 = select i1 %2610, i64 0, i64 %2608 |
|
%2612 = sub i64 %2590, 1 |
|
%2613 = icmp ult i64 %2612, %2611 |
|
%2614 = xor i1 %2613, true |
|
br i1 %2614, label %2644, label %2615 |
|
|
|
2615: ; preds = %2607 |
|
br label %2616 |
|
|
|
2616: ; preds = %2615, %2589 |
|
%2617 = load ptr addrspace(10), ptr %4, align 8 |
|
%2618 = addrspacecast ptr addrspace(10) %2617 to ptr addrspace(11) |
|
%2619 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2618, i32 0, i32 0 |
|
%2620 = load ptr, ptr addrspace(11) %2619, align 8 |
|
%2621 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2618, i32 0, i32 1 |
|
%2622 = load ptr addrspace(10), ptr addrspace(11) %2621, align 8 |
|
%2623 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2620, 0 |
|
%2624 = insertvalue { ptr, ptr addrspace(10) } %2623, ptr addrspace(10) %2622, 1 |
|
%2625 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2626 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2627 = load i64, ptr addrspace(11) %2626, align 8 |
|
%2628 = mul i64 %2627, 1 |
|
%2629 = load i64, ptr addrspace(11) %2625, align 8 |
|
%2630 = add i64 %2629, %2628 |
|
%2631 = sub i64 %2630, 1 |
|
%2632 = mul i64 %2631, 1 |
|
%2633 = getelementptr inbounds i8, ptr %123, i32 0 |
|
store i64 %2632, ptr %124, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2633, ptr align 8 %124, i64 8, i1 false) |
|
%2634 = getelementptr inbounds i8, ptr %123, i32 8 |
|
store { ptr, ptr addrspace(10) } %2624, ptr %125, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2634, ptr align 8 %125, i64 8, i1 false) |
|
%2635 = getelementptr inbounds i8, ptr %125, i32 8 |
|
%2636 = load ptr addrspace(10), ptr %2635, align 8 |
|
%2637 = extractvalue { ptr, ptr addrspace(10) } %2624, 0 |
|
%2638 = getelementptr i8, ptr %2637, i64 %2632 |
|
%2639 = sub i64 %2590, 1 |
|
%2640 = mul i64 8, %2639 |
|
%2641 = getelementptr i8, ptr %2638, i64 %2640 |
|
%2642 = getelementptr inbounds i64, ptr %2641, i64 0 |
|
%2643 = load i64, ptr %2642, align 1 |
|
br label %2646 |
|
|
|
2644: ; preds = %2607 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2590) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2645: ; preds = %2573 |
|
br label %2646 |
|
|
|
2646: ; preds = %2645, %2616 |
|
%2647 = phi i64 [ %2643, %2616 ], [ 0, %2645 ] |
|
%2648 = load i64, ptr %2577, align 8 |
|
%2649 = xor i64 %2648, %2647 |
|
%2650 = getelementptr inbounds i8, ptr %103, i32 40 |
|
%2651 = sub i64 %2215, %2184 |
|
%2652 = add i64 1, %2651 |
|
%2653 = icmp ult i64 5, %2652 |
|
%2654 = xor i1 %2653, true |
|
br i1 %2654, label %2718, label %2655 |
|
|
|
2655: ; preds = %2646 |
|
br i1 false, label %2662, label %2656 |
|
|
|
2656: ; preds = %2655 |
|
%2657 = sub i64 %2215, %2184 |
|
%2658 = add i64 1, %2657 |
|
%2659 = icmp ult i64 5, %2658 |
|
%2660 = xor i1 %2659, true |
|
br i1 %2660, label %2677, label %2661 |
|
|
|
2661: ; preds = %2656 |
|
br label %2662 |
|
|
|
2662: ; preds = %2661, %2655 |
|
%2663 = add i64 %2279, 6 |
|
br i1 true, label %2689, label %2664 |
|
|
|
2664: ; preds = %2662 |
|
%2665 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2666 = getelementptr inbounds i8, ptr addrspace(11) %2665, i32 8 |
|
%2667 = load i64, ptr addrspace(11) %2666, align 8 |
|
%2668 = load i64, ptr addrspace(11) %2665, align 8 |
|
%2669 = sub i64 %2667, %2668 |
|
%2670 = add i64 1, %2669 |
|
%2671 = mul i64 %2670, 1 |
|
%2672 = icmp ne i64 %2671, -9223372036854775808 |
|
%2673 = or i1 true, %2672 |
|
%2674 = and i1 true, %2673 |
|
%2675 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2674, label %4414, label %4412 |
|
|
|
2676: ; preds = %4414 |
|
br label %2680 |
|
|
|
2677: ; preds = %2656 |
|
store ptr addrspace(10) %2281, ptr %231, align 8 |
|
%2678 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2678, ptr readonly captures(none) %231, i64 signext 6) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2679: ; preds = %4414 |
|
br label %2680 |
|
|
|
2680: ; preds = %2679, %2676 |
|
%2681 = phi i64 [ %4417, %2676 ], [ 0, %2679 ] |
|
%2682 = icmp slt i64 0, %2681 |
|
%2683 = xor i1 %2682, true |
|
%2684 = select i1 %2683, i64 0, i64 %2681 |
|
%2685 = sub i64 %2663, 1 |
|
%2686 = icmp ult i64 %2685, %2684 |
|
%2687 = xor i1 %2686, true |
|
br i1 %2687, label %2717, label %2688 |
|
|
|
2688: ; preds = %2680 |
|
br label %2689 |
|
|
|
2689: ; preds = %2688, %2662 |
|
%2690 = load ptr addrspace(10), ptr %4, align 8 |
|
%2691 = addrspacecast ptr addrspace(10) %2690 to ptr addrspace(11) |
|
%2692 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2691, i32 0, i32 0 |
|
%2693 = load ptr, ptr addrspace(11) %2692, align 8 |
|
%2694 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2691, i32 0, i32 1 |
|
%2695 = load ptr addrspace(10), ptr addrspace(11) %2694, align 8 |
|
%2696 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2693, 0 |
|
%2697 = insertvalue { ptr, ptr addrspace(10) } %2696, ptr addrspace(10) %2695, 1 |
|
%2698 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2699 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2700 = load i64, ptr addrspace(11) %2699, align 8 |
|
%2701 = mul i64 %2700, 1 |
|
%2702 = load i64, ptr addrspace(11) %2698, align 8 |
|
%2703 = add i64 %2702, %2701 |
|
%2704 = sub i64 %2703, 1 |
|
%2705 = mul i64 %2704, 1 |
|
%2706 = getelementptr inbounds i8, ptr %126, i32 0 |
|
store i64 %2705, ptr %127, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2706, ptr align 8 %127, i64 8, i1 false) |
|
%2707 = getelementptr inbounds i8, ptr %126, i32 8 |
|
store { ptr, ptr addrspace(10) } %2697, ptr %128, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2707, ptr align 8 %128, i64 8, i1 false) |
|
%2708 = getelementptr inbounds i8, ptr %128, i32 8 |
|
%2709 = load ptr addrspace(10), ptr %2708, align 8 |
|
%2710 = extractvalue { ptr, ptr addrspace(10) } %2697, 0 |
|
%2711 = getelementptr i8, ptr %2710, i64 %2705 |
|
%2712 = sub i64 %2663, 1 |
|
%2713 = mul i64 8, %2712 |
|
%2714 = getelementptr i8, ptr %2711, i64 %2713 |
|
%2715 = getelementptr inbounds i64, ptr %2714, i64 0 |
|
%2716 = load i64, ptr %2715, align 1 |
|
br label %2719 |
|
|
|
2717: ; preds = %2680 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2663) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2718: ; preds = %2646 |
|
br label %2719 |
|
|
|
2719: ; preds = %2718, %2689 |
|
%2720 = phi i64 [ %2716, %2689 ], [ 0, %2718 ] |
|
%2721 = load i64, ptr %2650, align 8 |
|
%2722 = xor i64 %2721, %2720 |
|
%2723 = getelementptr inbounds i8, ptr %103, i32 48 |
|
%2724 = sub i64 %2215, %2184 |
|
%2725 = add i64 1, %2724 |
|
%2726 = icmp ult i64 6, %2725 |
|
%2727 = xor i1 %2726, true |
|
br i1 %2727, label %2791, label %2728 |
|
|
|
2728: ; preds = %2719 |
|
br i1 false, label %2735, label %2729 |
|
|
|
2729: ; preds = %2728 |
|
%2730 = sub i64 %2215, %2184 |
|
%2731 = add i64 1, %2730 |
|
%2732 = icmp ult i64 6, %2731 |
|
%2733 = xor i1 %2732, true |
|
br i1 %2733, label %2750, label %2734 |
|
|
|
2734: ; preds = %2729 |
|
br label %2735 |
|
|
|
2735: ; preds = %2734, %2728 |
|
%2736 = add i64 %2279, 7 |
|
br i1 true, label %2762, label %2737 |
|
|
|
2737: ; preds = %2735 |
|
%2738 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2739 = getelementptr inbounds i8, ptr addrspace(11) %2738, i32 8 |
|
%2740 = load i64, ptr addrspace(11) %2739, align 8 |
|
%2741 = load i64, ptr addrspace(11) %2738, align 8 |
|
%2742 = sub i64 %2740, %2741 |
|
%2743 = add i64 1, %2742 |
|
%2744 = mul i64 %2743, 1 |
|
%2745 = icmp ne i64 %2744, -9223372036854775808 |
|
%2746 = or i1 true, %2745 |
|
%2747 = and i1 true, %2746 |
|
%2748 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2747, label %4422, label %4420 |
|
|
|
2749: ; preds = %4422 |
|
br label %2753 |
|
|
|
2750: ; preds = %2729 |
|
store ptr addrspace(10) %2281, ptr %230, align 8 |
|
%2751 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2751, ptr readonly captures(none) %230, i64 signext 7) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2752: ; preds = %4422 |
|
br label %2753 |
|
|
|
2753: ; preds = %2752, %2749 |
|
%2754 = phi i64 [ %4425, %2749 ], [ 0, %2752 ] |
|
%2755 = icmp slt i64 0, %2754 |
|
%2756 = xor i1 %2755, true |
|
%2757 = select i1 %2756, i64 0, i64 %2754 |
|
%2758 = sub i64 %2736, 1 |
|
%2759 = icmp ult i64 %2758, %2757 |
|
%2760 = xor i1 %2759, true |
|
br i1 %2760, label %2790, label %2761 |
|
|
|
2761: ; preds = %2753 |
|
br label %2762 |
|
|
|
2762: ; preds = %2761, %2735 |
|
%2763 = load ptr addrspace(10), ptr %4, align 8 |
|
%2764 = addrspacecast ptr addrspace(10) %2763 to ptr addrspace(11) |
|
%2765 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2764, i32 0, i32 0 |
|
%2766 = load ptr, ptr addrspace(11) %2765, align 8 |
|
%2767 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2764, i32 0, i32 1 |
|
%2768 = load ptr addrspace(10), ptr addrspace(11) %2767, align 8 |
|
%2769 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2766, 0 |
|
%2770 = insertvalue { ptr, ptr addrspace(10) } %2769, ptr addrspace(10) %2768, 1 |
|
%2771 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2772 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2773 = load i64, ptr addrspace(11) %2772, align 8 |
|
%2774 = mul i64 %2773, 1 |
|
%2775 = load i64, ptr addrspace(11) %2771, align 8 |
|
%2776 = add i64 %2775, %2774 |
|
%2777 = sub i64 %2776, 1 |
|
%2778 = mul i64 %2777, 1 |
|
%2779 = getelementptr inbounds i8, ptr %129, i32 0 |
|
store i64 %2778, ptr %130, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2779, ptr align 8 %130, i64 8, i1 false) |
|
%2780 = getelementptr inbounds i8, ptr %129, i32 8 |
|
store { ptr, ptr addrspace(10) } %2770, ptr %131, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2780, ptr align 8 %131, i64 8, i1 false) |
|
%2781 = getelementptr inbounds i8, ptr %131, i32 8 |
|
%2782 = load ptr addrspace(10), ptr %2781, align 8 |
|
%2783 = extractvalue { ptr, ptr addrspace(10) } %2770, 0 |
|
%2784 = getelementptr i8, ptr %2783, i64 %2778 |
|
%2785 = sub i64 %2736, 1 |
|
%2786 = mul i64 8, %2785 |
|
%2787 = getelementptr i8, ptr %2784, i64 %2786 |
|
%2788 = getelementptr inbounds i64, ptr %2787, i64 0 |
|
%2789 = load i64, ptr %2788, align 1 |
|
br label %2792 |
|
|
|
2790: ; preds = %2753 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2736) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2791: ; preds = %2719 |
|
br label %2792 |
|
|
|
2792: ; preds = %2791, %2762 |
|
%2793 = phi i64 [ %2789, %2762 ], [ 0, %2791 ] |
|
%2794 = load i64, ptr %2723, align 8 |
|
%2795 = xor i64 %2794, %2793 |
|
%2796 = getelementptr inbounds i8, ptr %103, i32 56 |
|
%2797 = sub i64 %2215, %2184 |
|
%2798 = add i64 1, %2797 |
|
%2799 = icmp ult i64 7, %2798 |
|
%2800 = xor i1 %2799, true |
|
br i1 %2800, label %2864, label %2801 |
|
|
|
2801: ; preds = %2792 |
|
br i1 false, label %2808, label %2802 |
|
|
|
2802: ; preds = %2801 |
|
%2803 = sub i64 %2215, %2184 |
|
%2804 = add i64 1, %2803 |
|
%2805 = icmp ult i64 7, %2804 |
|
%2806 = xor i1 %2805, true |
|
br i1 %2806, label %2823, label %2807 |
|
|
|
2807: ; preds = %2802 |
|
br label %2808 |
|
|
|
2808: ; preds = %2807, %2801 |
|
%2809 = add i64 %2279, 8 |
|
br i1 true, label %2835, label %2810 |
|
|
|
2810: ; preds = %2808 |
|
%2811 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2812 = getelementptr inbounds i8, ptr addrspace(11) %2811, i32 8 |
|
%2813 = load i64, ptr addrspace(11) %2812, align 8 |
|
%2814 = load i64, ptr addrspace(11) %2811, align 8 |
|
%2815 = sub i64 %2813, %2814 |
|
%2816 = add i64 1, %2815 |
|
%2817 = mul i64 %2816, 1 |
|
%2818 = icmp ne i64 %2817, -9223372036854775808 |
|
%2819 = or i1 true, %2818 |
|
%2820 = and i1 true, %2819 |
|
%2821 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2820, label %4430, label %4428 |
|
|
|
2822: ; preds = %4430 |
|
br label %2826 |
|
|
|
2823: ; preds = %2802 |
|
store ptr addrspace(10) %2281, ptr %229, align 8 |
|
%2824 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2824, ptr readonly captures(none) %229, i64 signext 8) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2825: ; preds = %4430 |
|
br label %2826 |
|
|
|
2826: ; preds = %2825, %2822 |
|
%2827 = phi i64 [ %4433, %2822 ], [ 0, %2825 ] |
|
%2828 = icmp slt i64 0, %2827 |
|
%2829 = xor i1 %2828, true |
|
%2830 = select i1 %2829, i64 0, i64 %2827 |
|
%2831 = sub i64 %2809, 1 |
|
%2832 = icmp ult i64 %2831, %2830 |
|
%2833 = xor i1 %2832, true |
|
br i1 %2833, label %2863, label %2834 |
|
|
|
2834: ; preds = %2826 |
|
br label %2835 |
|
|
|
2835: ; preds = %2834, %2808 |
|
%2836 = load ptr addrspace(10), ptr %4, align 8 |
|
%2837 = addrspacecast ptr addrspace(10) %2836 to ptr addrspace(11) |
|
%2838 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2837, i32 0, i32 0 |
|
%2839 = load ptr, ptr addrspace(11) %2838, align 8 |
|
%2840 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2837, i32 0, i32 1 |
|
%2841 = load ptr addrspace(10), ptr addrspace(11) %2840, align 8 |
|
%2842 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2839, 0 |
|
%2843 = insertvalue { ptr, ptr addrspace(10) } %2842, ptr addrspace(10) %2841, 1 |
|
%2844 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2845 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2846 = load i64, ptr addrspace(11) %2845, align 8 |
|
%2847 = mul i64 %2846, 1 |
|
%2848 = load i64, ptr addrspace(11) %2844, align 8 |
|
%2849 = add i64 %2848, %2847 |
|
%2850 = sub i64 %2849, 1 |
|
%2851 = mul i64 %2850, 1 |
|
%2852 = getelementptr inbounds i8, ptr %132, i32 0 |
|
store i64 %2851, ptr %133, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2852, ptr align 8 %133, i64 8, i1 false) |
|
%2853 = getelementptr inbounds i8, ptr %132, i32 8 |
|
store { ptr, ptr addrspace(10) } %2843, ptr %134, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2853, ptr align 8 %134, i64 8, i1 false) |
|
%2854 = getelementptr inbounds i8, ptr %134, i32 8 |
|
%2855 = load ptr addrspace(10), ptr %2854, align 8 |
|
%2856 = extractvalue { ptr, ptr addrspace(10) } %2843, 0 |
|
%2857 = getelementptr i8, ptr %2856, i64 %2851 |
|
%2858 = sub i64 %2809, 1 |
|
%2859 = mul i64 8, %2858 |
|
%2860 = getelementptr i8, ptr %2857, i64 %2859 |
|
%2861 = getelementptr inbounds i64, ptr %2860, i64 0 |
|
%2862 = load i64, ptr %2861, align 1 |
|
br label %2865 |
|
|
|
2863: ; preds = %2826 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2809) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2864: ; preds = %2792 |
|
br label %2865 |
|
|
|
2865: ; preds = %2864, %2835 |
|
%2866 = phi i64 [ %2862, %2835 ], [ 0, %2864 ] |
|
%2867 = load i64, ptr %2796, align 8 |
|
%2868 = xor i64 %2867, %2866 |
|
%2869 = getelementptr inbounds i8, ptr %103, i32 64 |
|
%2870 = sub i64 %2215, %2184 |
|
%2871 = add i64 1, %2870 |
|
%2872 = icmp ult i64 8, %2871 |
|
%2873 = xor i1 %2872, true |
|
br i1 %2873, label %2937, label %2874 |
|
|
|
2874: ; preds = %2865 |
|
br i1 false, label %2881, label %2875 |
|
|
|
2875: ; preds = %2874 |
|
%2876 = sub i64 %2215, %2184 |
|
%2877 = add i64 1, %2876 |
|
%2878 = icmp ult i64 8, %2877 |
|
%2879 = xor i1 %2878, true |
|
br i1 %2879, label %2896, label %2880 |
|
|
|
2880: ; preds = %2875 |
|
br label %2881 |
|
|
|
2881: ; preds = %2880, %2874 |
|
%2882 = add i64 %2279, 9 |
|
br i1 true, label %2908, label %2883 |
|
|
|
2883: ; preds = %2881 |
|
%2884 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2885 = getelementptr inbounds i8, ptr addrspace(11) %2884, i32 8 |
|
%2886 = load i64, ptr addrspace(11) %2885, align 8 |
|
%2887 = load i64, ptr addrspace(11) %2884, align 8 |
|
%2888 = sub i64 %2886, %2887 |
|
%2889 = add i64 1, %2888 |
|
%2890 = mul i64 %2889, 1 |
|
%2891 = icmp ne i64 %2890, -9223372036854775808 |
|
%2892 = or i1 true, %2891 |
|
%2893 = and i1 true, %2892 |
|
%2894 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2893, label %4438, label %4436 |
|
|
|
2895: ; preds = %4438 |
|
br label %2899 |
|
|
|
2896: ; preds = %2875 |
|
store ptr addrspace(10) %2281, ptr %228, align 8 |
|
%2897 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2897, ptr readonly captures(none) %228, i64 signext 9) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2898: ; preds = %4438 |
|
br label %2899 |
|
|
|
2899: ; preds = %2898, %2895 |
|
%2900 = phi i64 [ %4441, %2895 ], [ 0, %2898 ] |
|
%2901 = icmp slt i64 0, %2900 |
|
%2902 = xor i1 %2901, true |
|
%2903 = select i1 %2902, i64 0, i64 %2900 |
|
%2904 = sub i64 %2882, 1 |
|
%2905 = icmp ult i64 %2904, %2903 |
|
%2906 = xor i1 %2905, true |
|
br i1 %2906, label %2936, label %2907 |
|
|
|
2907: ; preds = %2899 |
|
br label %2908 |
|
|
|
2908: ; preds = %2907, %2881 |
|
%2909 = load ptr addrspace(10), ptr %4, align 8 |
|
%2910 = addrspacecast ptr addrspace(10) %2909 to ptr addrspace(11) |
|
%2911 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2910, i32 0, i32 0 |
|
%2912 = load ptr, ptr addrspace(11) %2911, align 8 |
|
%2913 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2910, i32 0, i32 1 |
|
%2914 = load ptr addrspace(10), ptr addrspace(11) %2913, align 8 |
|
%2915 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2912, 0 |
|
%2916 = insertvalue { ptr, ptr addrspace(10) } %2915, ptr addrspace(10) %2914, 1 |
|
%2917 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2918 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2919 = load i64, ptr addrspace(11) %2918, align 8 |
|
%2920 = mul i64 %2919, 1 |
|
%2921 = load i64, ptr addrspace(11) %2917, align 8 |
|
%2922 = add i64 %2921, %2920 |
|
%2923 = sub i64 %2922, 1 |
|
%2924 = mul i64 %2923, 1 |
|
%2925 = getelementptr inbounds i8, ptr %135, i32 0 |
|
store i64 %2924, ptr %136, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2925, ptr align 8 %136, i64 8, i1 false) |
|
%2926 = getelementptr inbounds i8, ptr %135, i32 8 |
|
store { ptr, ptr addrspace(10) } %2916, ptr %137, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2926, ptr align 8 %137, i64 8, i1 false) |
|
%2927 = getelementptr inbounds i8, ptr %137, i32 8 |
|
%2928 = load ptr addrspace(10), ptr %2927, align 8 |
|
%2929 = extractvalue { ptr, ptr addrspace(10) } %2916, 0 |
|
%2930 = getelementptr i8, ptr %2929, i64 %2924 |
|
%2931 = sub i64 %2882, 1 |
|
%2932 = mul i64 8, %2931 |
|
%2933 = getelementptr i8, ptr %2930, i64 %2932 |
|
%2934 = getelementptr inbounds i64, ptr %2933, i64 0 |
|
%2935 = load i64, ptr %2934, align 1 |
|
br label %2938 |
|
|
|
2936: ; preds = %2899 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2882) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2937: ; preds = %2865 |
|
br label %2938 |
|
|
|
2938: ; preds = %2937, %2908 |
|
%2939 = phi i64 [ %2935, %2908 ], [ 0, %2937 ] |
|
%2940 = load i64, ptr %2869, align 8 |
|
%2941 = xor i64 %2940, %2939 |
|
%2942 = getelementptr inbounds i8, ptr %103, i32 72 |
|
%2943 = sub i64 %2215, %2184 |
|
%2944 = add i64 1, %2943 |
|
%2945 = icmp ult i64 9, %2944 |
|
%2946 = xor i1 %2945, true |
|
br i1 %2946, label %3010, label %2947 |
|
|
|
2947: ; preds = %2938 |
|
br i1 false, label %2954, label %2948 |
|
|
|
2948: ; preds = %2947 |
|
%2949 = sub i64 %2215, %2184 |
|
%2950 = add i64 1, %2949 |
|
%2951 = icmp ult i64 9, %2950 |
|
%2952 = xor i1 %2951, true |
|
br i1 %2952, label %2969, label %2953 |
|
|
|
2953: ; preds = %2948 |
|
br label %2954 |
|
|
|
2954: ; preds = %2953, %2947 |
|
%2955 = add i64 %2279, 10 |
|
br i1 true, label %2981, label %2956 |
|
|
|
2956: ; preds = %2954 |
|
%2957 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%2958 = getelementptr inbounds i8, ptr addrspace(11) %2957, i32 8 |
|
%2959 = load i64, ptr addrspace(11) %2958, align 8 |
|
%2960 = load i64, ptr addrspace(11) %2957, align 8 |
|
%2961 = sub i64 %2959, %2960 |
|
%2962 = add i64 1, %2961 |
|
%2963 = mul i64 %2962, 1 |
|
%2964 = icmp ne i64 %2963, -9223372036854775808 |
|
%2965 = or i1 true, %2964 |
|
%2966 = and i1 true, %2965 |
|
%2967 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %2966, label %4446, label %4444 |
|
|
|
2968: ; preds = %4446 |
|
br label %2972 |
|
|
|
2969: ; preds = %2948 |
|
store ptr addrspace(10) %2281, ptr %227, align 8 |
|
%2970 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %2970, ptr readonly captures(none) %227, i64 signext 10) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
2971: ; preds = %4446 |
|
br label %2972 |
|
|
|
2972: ; preds = %2971, %2968 |
|
%2973 = phi i64 [ %4449, %2968 ], [ 0, %2971 ] |
|
%2974 = icmp slt i64 0, %2973 |
|
%2975 = xor i1 %2974, true |
|
%2976 = select i1 %2975, i64 0, i64 %2973 |
|
%2977 = sub i64 %2955, 1 |
|
%2978 = icmp ult i64 %2977, %2976 |
|
%2979 = xor i1 %2978, true |
|
br i1 %2979, label %3009, label %2980 |
|
|
|
2980: ; preds = %2972 |
|
br label %2981 |
|
|
|
2981: ; preds = %2980, %2954 |
|
%2982 = load ptr addrspace(10), ptr %4, align 8 |
|
%2983 = addrspacecast ptr addrspace(10) %2982 to ptr addrspace(11) |
|
%2984 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2983, i32 0, i32 0 |
|
%2985 = load ptr, ptr addrspace(11) %2984, align 8 |
|
%2986 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %2983, i32 0, i32 1 |
|
%2987 = load ptr addrspace(10), ptr addrspace(11) %2986, align 8 |
|
%2988 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %2985, 0 |
|
%2989 = insertvalue { ptr, ptr addrspace(10) } %2988, ptr addrspace(10) %2987, 1 |
|
%2990 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%2991 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%2992 = load i64, ptr addrspace(11) %2991, align 8 |
|
%2993 = mul i64 %2992, 1 |
|
%2994 = load i64, ptr addrspace(11) %2990, align 8 |
|
%2995 = add i64 %2994, %2993 |
|
%2996 = sub i64 %2995, 1 |
|
%2997 = mul i64 %2996, 1 |
|
%2998 = getelementptr inbounds i8, ptr %138, i32 0 |
|
store i64 %2997, ptr %139, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2998, ptr align 8 %139, i64 8, i1 false) |
|
%2999 = getelementptr inbounds i8, ptr %138, i32 8 |
|
store { ptr, ptr addrspace(10) } %2989, ptr %140, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %2999, ptr align 8 %140, i64 8, i1 false) |
|
%3000 = getelementptr inbounds i8, ptr %140, i32 8 |
|
%3001 = load ptr addrspace(10), ptr %3000, align 8 |
|
%3002 = extractvalue { ptr, ptr addrspace(10) } %2989, 0 |
|
%3003 = getelementptr i8, ptr %3002, i64 %2997 |
|
%3004 = sub i64 %2955, 1 |
|
%3005 = mul i64 8, %3004 |
|
%3006 = getelementptr i8, ptr %3003, i64 %3005 |
|
%3007 = getelementptr inbounds i64, ptr %3006, i64 0 |
|
%3008 = load i64, ptr %3007, align 1 |
|
br label %3011 |
|
|
|
3009: ; preds = %2972 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %2955) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3010: ; preds = %2938 |
|
br label %3011 |
|
|
|
3011: ; preds = %3010, %2981 |
|
%3012 = phi i64 [ %3008, %2981 ], [ 0, %3010 ] |
|
%3013 = load i64, ptr %2942, align 8 |
|
%3014 = xor i64 %3013, %3012 |
|
%3015 = getelementptr inbounds i8, ptr %103, i32 80 |
|
%3016 = sub i64 %2215, %2184 |
|
%3017 = add i64 1, %3016 |
|
%3018 = icmp ult i64 10, %3017 |
|
%3019 = xor i1 %3018, true |
|
br i1 %3019, label %3083, label %3020 |
|
|
|
3020: ; preds = %3011 |
|
br i1 false, label %3027, label %3021 |
|
|
|
3021: ; preds = %3020 |
|
%3022 = sub i64 %2215, %2184 |
|
%3023 = add i64 1, %3022 |
|
%3024 = icmp ult i64 10, %3023 |
|
%3025 = xor i1 %3024, true |
|
br i1 %3025, label %3042, label %3026 |
|
|
|
3026: ; preds = %3021 |
|
br label %3027 |
|
|
|
3027: ; preds = %3026, %3020 |
|
%3028 = add i64 %2279, 11 |
|
br i1 true, label %3054, label %3029 |
|
|
|
3029: ; preds = %3027 |
|
%3030 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3031 = getelementptr inbounds i8, ptr addrspace(11) %3030, i32 8 |
|
%3032 = load i64, ptr addrspace(11) %3031, align 8 |
|
%3033 = load i64, ptr addrspace(11) %3030, align 8 |
|
%3034 = sub i64 %3032, %3033 |
|
%3035 = add i64 1, %3034 |
|
%3036 = mul i64 %3035, 1 |
|
%3037 = icmp ne i64 %3036, -9223372036854775808 |
|
%3038 = or i1 true, %3037 |
|
%3039 = and i1 true, %3038 |
|
%3040 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3039, label %4454, label %4452 |
|
|
|
3041: ; preds = %4454 |
|
br label %3045 |
|
|
|
3042: ; preds = %3021 |
|
store ptr addrspace(10) %2281, ptr %226, align 8 |
|
%3043 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3043, ptr readonly captures(none) %226, i64 signext 11) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3044: ; preds = %4454 |
|
br label %3045 |
|
|
|
3045: ; preds = %3044, %3041 |
|
%3046 = phi i64 [ %4457, %3041 ], [ 0, %3044 ] |
|
%3047 = icmp slt i64 0, %3046 |
|
%3048 = xor i1 %3047, true |
|
%3049 = select i1 %3048, i64 0, i64 %3046 |
|
%3050 = sub i64 %3028, 1 |
|
%3051 = icmp ult i64 %3050, %3049 |
|
%3052 = xor i1 %3051, true |
|
br i1 %3052, label %3082, label %3053 |
|
|
|
3053: ; preds = %3045 |
|
br label %3054 |
|
|
|
3054: ; preds = %3053, %3027 |
|
%3055 = load ptr addrspace(10), ptr %4, align 8 |
|
%3056 = addrspacecast ptr addrspace(10) %3055 to ptr addrspace(11) |
|
%3057 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3056, i32 0, i32 0 |
|
%3058 = load ptr, ptr addrspace(11) %3057, align 8 |
|
%3059 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3056, i32 0, i32 1 |
|
%3060 = load ptr addrspace(10), ptr addrspace(11) %3059, align 8 |
|
%3061 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3058, 0 |
|
%3062 = insertvalue { ptr, ptr addrspace(10) } %3061, ptr addrspace(10) %3060, 1 |
|
%3063 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3064 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3065 = load i64, ptr addrspace(11) %3064, align 8 |
|
%3066 = mul i64 %3065, 1 |
|
%3067 = load i64, ptr addrspace(11) %3063, align 8 |
|
%3068 = add i64 %3067, %3066 |
|
%3069 = sub i64 %3068, 1 |
|
%3070 = mul i64 %3069, 1 |
|
%3071 = getelementptr inbounds i8, ptr %141, i32 0 |
|
store i64 %3070, ptr %142, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3071, ptr align 8 %142, i64 8, i1 false) |
|
%3072 = getelementptr inbounds i8, ptr %141, i32 8 |
|
store { ptr, ptr addrspace(10) } %3062, ptr %143, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3072, ptr align 8 %143, i64 8, i1 false) |
|
%3073 = getelementptr inbounds i8, ptr %143, i32 8 |
|
%3074 = load ptr addrspace(10), ptr %3073, align 8 |
|
%3075 = extractvalue { ptr, ptr addrspace(10) } %3062, 0 |
|
%3076 = getelementptr i8, ptr %3075, i64 %3070 |
|
%3077 = sub i64 %3028, 1 |
|
%3078 = mul i64 8, %3077 |
|
%3079 = getelementptr i8, ptr %3076, i64 %3078 |
|
%3080 = getelementptr inbounds i64, ptr %3079, i64 0 |
|
%3081 = load i64, ptr %3080, align 1 |
|
br label %3084 |
|
|
|
3082: ; preds = %3045 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3028) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3083: ; preds = %3011 |
|
br label %3084 |
|
|
|
3084: ; preds = %3083, %3054 |
|
%3085 = phi i64 [ %3081, %3054 ], [ 0, %3083 ] |
|
%3086 = load i64, ptr %3015, align 8 |
|
%3087 = xor i64 %3086, %3085 |
|
%3088 = getelementptr inbounds i8, ptr %103, i32 88 |
|
%3089 = sub i64 %2215, %2184 |
|
%3090 = add i64 1, %3089 |
|
%3091 = icmp ult i64 11, %3090 |
|
%3092 = xor i1 %3091, true |
|
br i1 %3092, label %3156, label %3093 |
|
|
|
3093: ; preds = %3084 |
|
br i1 false, label %3100, label %3094 |
|
|
|
3094: ; preds = %3093 |
|
%3095 = sub i64 %2215, %2184 |
|
%3096 = add i64 1, %3095 |
|
%3097 = icmp ult i64 11, %3096 |
|
%3098 = xor i1 %3097, true |
|
br i1 %3098, label %3115, label %3099 |
|
|
|
3099: ; preds = %3094 |
|
br label %3100 |
|
|
|
3100: ; preds = %3099, %3093 |
|
%3101 = add i64 %2279, 12 |
|
br i1 true, label %3127, label %3102 |
|
|
|
3102: ; preds = %3100 |
|
%3103 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3104 = getelementptr inbounds i8, ptr addrspace(11) %3103, i32 8 |
|
%3105 = load i64, ptr addrspace(11) %3104, align 8 |
|
%3106 = load i64, ptr addrspace(11) %3103, align 8 |
|
%3107 = sub i64 %3105, %3106 |
|
%3108 = add i64 1, %3107 |
|
%3109 = mul i64 %3108, 1 |
|
%3110 = icmp ne i64 %3109, -9223372036854775808 |
|
%3111 = or i1 true, %3110 |
|
%3112 = and i1 true, %3111 |
|
%3113 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3112, label %4462, label %4460 |
|
|
|
3114: ; preds = %4462 |
|
br label %3118 |
|
|
|
3115: ; preds = %3094 |
|
store ptr addrspace(10) %2281, ptr %225, align 8 |
|
%3116 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3116, ptr readonly captures(none) %225, i64 signext 12) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3117: ; preds = %4462 |
|
br label %3118 |
|
|
|
3118: ; preds = %3117, %3114 |
|
%3119 = phi i64 [ %4465, %3114 ], [ 0, %3117 ] |
|
%3120 = icmp slt i64 0, %3119 |
|
%3121 = xor i1 %3120, true |
|
%3122 = select i1 %3121, i64 0, i64 %3119 |
|
%3123 = sub i64 %3101, 1 |
|
%3124 = icmp ult i64 %3123, %3122 |
|
%3125 = xor i1 %3124, true |
|
br i1 %3125, label %3155, label %3126 |
|
|
|
3126: ; preds = %3118 |
|
br label %3127 |
|
|
|
3127: ; preds = %3126, %3100 |
|
%3128 = load ptr addrspace(10), ptr %4, align 8 |
|
%3129 = addrspacecast ptr addrspace(10) %3128 to ptr addrspace(11) |
|
%3130 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3129, i32 0, i32 0 |
|
%3131 = load ptr, ptr addrspace(11) %3130, align 8 |
|
%3132 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3129, i32 0, i32 1 |
|
%3133 = load ptr addrspace(10), ptr addrspace(11) %3132, align 8 |
|
%3134 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3131, 0 |
|
%3135 = insertvalue { ptr, ptr addrspace(10) } %3134, ptr addrspace(10) %3133, 1 |
|
%3136 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3137 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3138 = load i64, ptr addrspace(11) %3137, align 8 |
|
%3139 = mul i64 %3138, 1 |
|
%3140 = load i64, ptr addrspace(11) %3136, align 8 |
|
%3141 = add i64 %3140, %3139 |
|
%3142 = sub i64 %3141, 1 |
|
%3143 = mul i64 %3142, 1 |
|
%3144 = getelementptr inbounds i8, ptr %144, i32 0 |
|
store i64 %3143, ptr %145, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3144, ptr align 8 %145, i64 8, i1 false) |
|
%3145 = getelementptr inbounds i8, ptr %144, i32 8 |
|
store { ptr, ptr addrspace(10) } %3135, ptr %146, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3145, ptr align 8 %146, i64 8, i1 false) |
|
%3146 = getelementptr inbounds i8, ptr %146, i32 8 |
|
%3147 = load ptr addrspace(10), ptr %3146, align 8 |
|
%3148 = extractvalue { ptr, ptr addrspace(10) } %3135, 0 |
|
%3149 = getelementptr i8, ptr %3148, i64 %3143 |
|
%3150 = sub i64 %3101, 1 |
|
%3151 = mul i64 8, %3150 |
|
%3152 = getelementptr i8, ptr %3149, i64 %3151 |
|
%3153 = getelementptr inbounds i64, ptr %3152, i64 0 |
|
%3154 = load i64, ptr %3153, align 1 |
|
br label %3157 |
|
|
|
3155: ; preds = %3118 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3101) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3156: ; preds = %3084 |
|
br label %3157 |
|
|
|
3157: ; preds = %3156, %3127 |
|
%3158 = phi i64 [ %3154, %3127 ], [ 0, %3156 ] |
|
%3159 = load i64, ptr %3088, align 8 |
|
%3160 = xor i64 %3159, %3158 |
|
%3161 = getelementptr inbounds i8, ptr %103, i32 96 |
|
%3162 = sub i64 %2215, %2184 |
|
%3163 = add i64 1, %3162 |
|
%3164 = icmp ult i64 12, %3163 |
|
%3165 = xor i1 %3164, true |
|
br i1 %3165, label %3229, label %3166 |
|
|
|
3166: ; preds = %3157 |
|
br i1 false, label %3173, label %3167 |
|
|
|
3167: ; preds = %3166 |
|
%3168 = sub i64 %2215, %2184 |
|
%3169 = add i64 1, %3168 |
|
%3170 = icmp ult i64 12, %3169 |
|
%3171 = xor i1 %3170, true |
|
br i1 %3171, label %3188, label %3172 |
|
|
|
3172: ; preds = %3167 |
|
br label %3173 |
|
|
|
3173: ; preds = %3172, %3166 |
|
%3174 = add i64 %2279, 13 |
|
br i1 true, label %3200, label %3175 |
|
|
|
3175: ; preds = %3173 |
|
%3176 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3177 = getelementptr inbounds i8, ptr addrspace(11) %3176, i32 8 |
|
%3178 = load i64, ptr addrspace(11) %3177, align 8 |
|
%3179 = load i64, ptr addrspace(11) %3176, align 8 |
|
%3180 = sub i64 %3178, %3179 |
|
%3181 = add i64 1, %3180 |
|
%3182 = mul i64 %3181, 1 |
|
%3183 = icmp ne i64 %3182, -9223372036854775808 |
|
%3184 = or i1 true, %3183 |
|
%3185 = and i1 true, %3184 |
|
%3186 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3185, label %4470, label %4468 |
|
|
|
3187: ; preds = %4470 |
|
br label %3191 |
|
|
|
3188: ; preds = %3167 |
|
store ptr addrspace(10) %2281, ptr %224, align 8 |
|
%3189 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3189, ptr readonly captures(none) %224, i64 signext 13) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3190: ; preds = %4470 |
|
br label %3191 |
|
|
|
3191: ; preds = %3190, %3187 |
|
%3192 = phi i64 [ %4473, %3187 ], [ 0, %3190 ] |
|
%3193 = icmp slt i64 0, %3192 |
|
%3194 = xor i1 %3193, true |
|
%3195 = select i1 %3194, i64 0, i64 %3192 |
|
%3196 = sub i64 %3174, 1 |
|
%3197 = icmp ult i64 %3196, %3195 |
|
%3198 = xor i1 %3197, true |
|
br i1 %3198, label %3228, label %3199 |
|
|
|
3199: ; preds = %3191 |
|
br label %3200 |
|
|
|
3200: ; preds = %3199, %3173 |
|
%3201 = load ptr addrspace(10), ptr %4, align 8 |
|
%3202 = addrspacecast ptr addrspace(10) %3201 to ptr addrspace(11) |
|
%3203 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3202, i32 0, i32 0 |
|
%3204 = load ptr, ptr addrspace(11) %3203, align 8 |
|
%3205 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3202, i32 0, i32 1 |
|
%3206 = load ptr addrspace(10), ptr addrspace(11) %3205, align 8 |
|
%3207 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3204, 0 |
|
%3208 = insertvalue { ptr, ptr addrspace(10) } %3207, ptr addrspace(10) %3206, 1 |
|
%3209 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3210 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3211 = load i64, ptr addrspace(11) %3210, align 8 |
|
%3212 = mul i64 %3211, 1 |
|
%3213 = load i64, ptr addrspace(11) %3209, align 8 |
|
%3214 = add i64 %3213, %3212 |
|
%3215 = sub i64 %3214, 1 |
|
%3216 = mul i64 %3215, 1 |
|
%3217 = getelementptr inbounds i8, ptr %147, i32 0 |
|
store i64 %3216, ptr %148, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3217, ptr align 8 %148, i64 8, i1 false) |
|
%3218 = getelementptr inbounds i8, ptr %147, i32 8 |
|
store { ptr, ptr addrspace(10) } %3208, ptr %149, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3218, ptr align 8 %149, i64 8, i1 false) |
|
%3219 = getelementptr inbounds i8, ptr %149, i32 8 |
|
%3220 = load ptr addrspace(10), ptr %3219, align 8 |
|
%3221 = extractvalue { ptr, ptr addrspace(10) } %3208, 0 |
|
%3222 = getelementptr i8, ptr %3221, i64 %3216 |
|
%3223 = sub i64 %3174, 1 |
|
%3224 = mul i64 8, %3223 |
|
%3225 = getelementptr i8, ptr %3222, i64 %3224 |
|
%3226 = getelementptr inbounds i64, ptr %3225, i64 0 |
|
%3227 = load i64, ptr %3226, align 1 |
|
br label %3230 |
|
|
|
3228: ; preds = %3191 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3174) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3229: ; preds = %3157 |
|
br label %3230 |
|
|
|
3230: ; preds = %3229, %3200 |
|
%3231 = phi i64 [ %3227, %3200 ], [ 0, %3229 ] |
|
%3232 = load i64, ptr %3161, align 8 |
|
%3233 = xor i64 %3232, %3231 |
|
%3234 = getelementptr inbounds i8, ptr %103, i32 104 |
|
%3235 = sub i64 %2215, %2184 |
|
%3236 = add i64 1, %3235 |
|
%3237 = icmp ult i64 13, %3236 |
|
%3238 = xor i1 %3237, true |
|
br i1 %3238, label %3302, label %3239 |
|
|
|
3239: ; preds = %3230 |
|
br i1 false, label %3246, label %3240 |
|
|
|
3240: ; preds = %3239 |
|
%3241 = sub i64 %2215, %2184 |
|
%3242 = add i64 1, %3241 |
|
%3243 = icmp ult i64 13, %3242 |
|
%3244 = xor i1 %3243, true |
|
br i1 %3244, label %3261, label %3245 |
|
|
|
3245: ; preds = %3240 |
|
br label %3246 |
|
|
|
3246: ; preds = %3245, %3239 |
|
%3247 = add i64 %2279, 14 |
|
br i1 true, label %3273, label %3248 |
|
|
|
3248: ; preds = %3246 |
|
%3249 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3250 = getelementptr inbounds i8, ptr addrspace(11) %3249, i32 8 |
|
%3251 = load i64, ptr addrspace(11) %3250, align 8 |
|
%3252 = load i64, ptr addrspace(11) %3249, align 8 |
|
%3253 = sub i64 %3251, %3252 |
|
%3254 = add i64 1, %3253 |
|
%3255 = mul i64 %3254, 1 |
|
%3256 = icmp ne i64 %3255, -9223372036854775808 |
|
%3257 = or i1 true, %3256 |
|
%3258 = and i1 true, %3257 |
|
%3259 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3258, label %4478, label %4476 |
|
|
|
3260: ; preds = %4478 |
|
br label %3264 |
|
|
|
3261: ; preds = %3240 |
|
store ptr addrspace(10) %2281, ptr %223, align 8 |
|
%3262 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3262, ptr readonly captures(none) %223, i64 signext 14) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3263: ; preds = %4478 |
|
br label %3264 |
|
|
|
3264: ; preds = %3263, %3260 |
|
%3265 = phi i64 [ %4481, %3260 ], [ 0, %3263 ] |
|
%3266 = icmp slt i64 0, %3265 |
|
%3267 = xor i1 %3266, true |
|
%3268 = select i1 %3267, i64 0, i64 %3265 |
|
%3269 = sub i64 %3247, 1 |
|
%3270 = icmp ult i64 %3269, %3268 |
|
%3271 = xor i1 %3270, true |
|
br i1 %3271, label %3301, label %3272 |
|
|
|
3272: ; preds = %3264 |
|
br label %3273 |
|
|
|
3273: ; preds = %3272, %3246 |
|
%3274 = load ptr addrspace(10), ptr %4, align 8 |
|
%3275 = addrspacecast ptr addrspace(10) %3274 to ptr addrspace(11) |
|
%3276 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3275, i32 0, i32 0 |
|
%3277 = load ptr, ptr addrspace(11) %3276, align 8 |
|
%3278 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3275, i32 0, i32 1 |
|
%3279 = load ptr addrspace(10), ptr addrspace(11) %3278, align 8 |
|
%3280 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3277, 0 |
|
%3281 = insertvalue { ptr, ptr addrspace(10) } %3280, ptr addrspace(10) %3279, 1 |
|
%3282 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3283 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3284 = load i64, ptr addrspace(11) %3283, align 8 |
|
%3285 = mul i64 %3284, 1 |
|
%3286 = load i64, ptr addrspace(11) %3282, align 8 |
|
%3287 = add i64 %3286, %3285 |
|
%3288 = sub i64 %3287, 1 |
|
%3289 = mul i64 %3288, 1 |
|
%3290 = getelementptr inbounds i8, ptr %150, i32 0 |
|
store i64 %3289, ptr %151, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3290, ptr align 8 %151, i64 8, i1 false) |
|
%3291 = getelementptr inbounds i8, ptr %150, i32 8 |
|
store { ptr, ptr addrspace(10) } %3281, ptr %152, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3291, ptr align 8 %152, i64 8, i1 false) |
|
%3292 = getelementptr inbounds i8, ptr %152, i32 8 |
|
%3293 = load ptr addrspace(10), ptr %3292, align 8 |
|
%3294 = extractvalue { ptr, ptr addrspace(10) } %3281, 0 |
|
%3295 = getelementptr i8, ptr %3294, i64 %3289 |
|
%3296 = sub i64 %3247, 1 |
|
%3297 = mul i64 8, %3296 |
|
%3298 = getelementptr i8, ptr %3295, i64 %3297 |
|
%3299 = getelementptr inbounds i64, ptr %3298, i64 0 |
|
%3300 = load i64, ptr %3299, align 1 |
|
br label %3303 |
|
|
|
3301: ; preds = %3264 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3247) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3302: ; preds = %3230 |
|
br label %3303 |
|
|
|
3303: ; preds = %3302, %3273 |
|
%3304 = phi i64 [ %3300, %3273 ], [ 0, %3302 ] |
|
%3305 = load i64, ptr %3234, align 8 |
|
%3306 = xor i64 %3305, %3304 |
|
%3307 = getelementptr inbounds i8, ptr %103, i32 112 |
|
%3308 = sub i64 %2215, %2184 |
|
%3309 = add i64 1, %3308 |
|
%3310 = icmp ult i64 14, %3309 |
|
%3311 = xor i1 %3310, true |
|
br i1 %3311, label %3375, label %3312 |
|
|
|
3312: ; preds = %3303 |
|
br i1 false, label %3319, label %3313 |
|
|
|
3313: ; preds = %3312 |
|
%3314 = sub i64 %2215, %2184 |
|
%3315 = add i64 1, %3314 |
|
%3316 = icmp ult i64 14, %3315 |
|
%3317 = xor i1 %3316, true |
|
br i1 %3317, label %3334, label %3318 |
|
|
|
3318: ; preds = %3313 |
|
br label %3319 |
|
|
|
3319: ; preds = %3318, %3312 |
|
%3320 = add i64 %2279, 15 |
|
br i1 true, label %3346, label %3321 |
|
|
|
3321: ; preds = %3319 |
|
%3322 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3323 = getelementptr inbounds i8, ptr addrspace(11) %3322, i32 8 |
|
%3324 = load i64, ptr addrspace(11) %3323, align 8 |
|
%3325 = load i64, ptr addrspace(11) %3322, align 8 |
|
%3326 = sub i64 %3324, %3325 |
|
%3327 = add i64 1, %3326 |
|
%3328 = mul i64 %3327, 1 |
|
%3329 = icmp ne i64 %3328, -9223372036854775808 |
|
%3330 = or i1 true, %3329 |
|
%3331 = and i1 true, %3330 |
|
%3332 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3331, label %4486, label %4484 |
|
|
|
3333: ; preds = %4486 |
|
br label %3337 |
|
|
|
3334: ; preds = %3313 |
|
store ptr addrspace(10) %2281, ptr %222, align 8 |
|
%3335 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3335, ptr readonly captures(none) %222, i64 signext 15) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3336: ; preds = %4486 |
|
br label %3337 |
|
|
|
3337: ; preds = %3336, %3333 |
|
%3338 = phi i64 [ %4489, %3333 ], [ 0, %3336 ] |
|
%3339 = icmp slt i64 0, %3338 |
|
%3340 = xor i1 %3339, true |
|
%3341 = select i1 %3340, i64 0, i64 %3338 |
|
%3342 = sub i64 %3320, 1 |
|
%3343 = icmp ult i64 %3342, %3341 |
|
%3344 = xor i1 %3343, true |
|
br i1 %3344, label %3374, label %3345 |
|
|
|
3345: ; preds = %3337 |
|
br label %3346 |
|
|
|
3346: ; preds = %3345, %3319 |
|
%3347 = load ptr addrspace(10), ptr %4, align 8 |
|
%3348 = addrspacecast ptr addrspace(10) %3347 to ptr addrspace(11) |
|
%3349 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3348, i32 0, i32 0 |
|
%3350 = load ptr, ptr addrspace(11) %3349, align 8 |
|
%3351 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3348, i32 0, i32 1 |
|
%3352 = load ptr addrspace(10), ptr addrspace(11) %3351, align 8 |
|
%3353 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3350, 0 |
|
%3354 = insertvalue { ptr, ptr addrspace(10) } %3353, ptr addrspace(10) %3352, 1 |
|
%3355 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3356 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3357 = load i64, ptr addrspace(11) %3356, align 8 |
|
%3358 = mul i64 %3357, 1 |
|
%3359 = load i64, ptr addrspace(11) %3355, align 8 |
|
%3360 = add i64 %3359, %3358 |
|
%3361 = sub i64 %3360, 1 |
|
%3362 = mul i64 %3361, 1 |
|
%3363 = getelementptr inbounds i8, ptr %153, i32 0 |
|
store i64 %3362, ptr %154, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3363, ptr align 8 %154, i64 8, i1 false) |
|
%3364 = getelementptr inbounds i8, ptr %153, i32 8 |
|
store { ptr, ptr addrspace(10) } %3354, ptr %155, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3364, ptr align 8 %155, i64 8, i1 false) |
|
%3365 = getelementptr inbounds i8, ptr %155, i32 8 |
|
%3366 = load ptr addrspace(10), ptr %3365, align 8 |
|
%3367 = extractvalue { ptr, ptr addrspace(10) } %3354, 0 |
|
%3368 = getelementptr i8, ptr %3367, i64 %3362 |
|
%3369 = sub i64 %3320, 1 |
|
%3370 = mul i64 8, %3369 |
|
%3371 = getelementptr i8, ptr %3368, i64 %3370 |
|
%3372 = getelementptr inbounds i64, ptr %3371, i64 0 |
|
%3373 = load i64, ptr %3372, align 1 |
|
br label %3376 |
|
|
|
3374: ; preds = %3337 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3320) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3375: ; preds = %3303 |
|
br label %3376 |
|
|
|
3376: ; preds = %3375, %3346 |
|
%3377 = phi i64 [ %3373, %3346 ], [ 0, %3375 ] |
|
%3378 = load i64, ptr %3307, align 8 |
|
%3379 = xor i64 %3378, %3377 |
|
%3380 = getelementptr inbounds i8, ptr %103, i32 120 |
|
%3381 = sub i64 %2215, %2184 |
|
%3382 = add i64 1, %3381 |
|
%3383 = icmp ult i64 15, %3382 |
|
%3384 = xor i1 %3383, true |
|
br i1 %3384, label %3448, label %3385 |
|
|
|
3385: ; preds = %3376 |
|
br i1 false, label %3392, label %3386 |
|
|
|
3386: ; preds = %3385 |
|
%3387 = sub i64 %2215, %2184 |
|
%3388 = add i64 1, %3387 |
|
%3389 = icmp ult i64 15, %3388 |
|
%3390 = xor i1 %3389, true |
|
br i1 %3390, label %3407, label %3391 |
|
|
|
3391: ; preds = %3386 |
|
br label %3392 |
|
|
|
3392: ; preds = %3391, %3385 |
|
%3393 = add i64 %2279, 16 |
|
br i1 true, label %3419, label %3394 |
|
|
|
3394: ; preds = %3392 |
|
%3395 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3396 = getelementptr inbounds i8, ptr addrspace(11) %3395, i32 8 |
|
%3397 = load i64, ptr addrspace(11) %3396, align 8 |
|
%3398 = load i64, ptr addrspace(11) %3395, align 8 |
|
%3399 = sub i64 %3397, %3398 |
|
%3400 = add i64 1, %3399 |
|
%3401 = mul i64 %3400, 1 |
|
%3402 = icmp ne i64 %3401, -9223372036854775808 |
|
%3403 = or i1 true, %3402 |
|
%3404 = and i1 true, %3403 |
|
%3405 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3404, label %4494, label %4492 |
|
|
|
3406: ; preds = %4494 |
|
br label %3410 |
|
|
|
3407: ; preds = %3386 |
|
store ptr addrspace(10) %2281, ptr %221, align 8 |
|
%3408 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3408, ptr readonly captures(none) %221, i64 signext 16) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3409: ; preds = %4494 |
|
br label %3410 |
|
|
|
3410: ; preds = %3409, %3406 |
|
%3411 = phi i64 [ %4497, %3406 ], [ 0, %3409 ] |
|
%3412 = icmp slt i64 0, %3411 |
|
%3413 = xor i1 %3412, true |
|
%3414 = select i1 %3413, i64 0, i64 %3411 |
|
%3415 = sub i64 %3393, 1 |
|
%3416 = icmp ult i64 %3415, %3414 |
|
%3417 = xor i1 %3416, true |
|
br i1 %3417, label %3447, label %3418 |
|
|
|
3418: ; preds = %3410 |
|
br label %3419 |
|
|
|
3419: ; preds = %3418, %3392 |
|
%3420 = load ptr addrspace(10), ptr %4, align 8 |
|
%3421 = addrspacecast ptr addrspace(10) %3420 to ptr addrspace(11) |
|
%3422 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3421, i32 0, i32 0 |
|
%3423 = load ptr, ptr addrspace(11) %3422, align 8 |
|
%3424 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3421, i32 0, i32 1 |
|
%3425 = load ptr addrspace(10), ptr addrspace(11) %3424, align 8 |
|
%3426 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3423, 0 |
|
%3427 = insertvalue { ptr, ptr addrspace(10) } %3426, ptr addrspace(10) %3425, 1 |
|
%3428 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3429 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3430 = load i64, ptr addrspace(11) %3429, align 8 |
|
%3431 = mul i64 %3430, 1 |
|
%3432 = load i64, ptr addrspace(11) %3428, align 8 |
|
%3433 = add i64 %3432, %3431 |
|
%3434 = sub i64 %3433, 1 |
|
%3435 = mul i64 %3434, 1 |
|
%3436 = getelementptr inbounds i8, ptr %156, i32 0 |
|
store i64 %3435, ptr %157, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3436, ptr align 8 %157, i64 8, i1 false) |
|
%3437 = getelementptr inbounds i8, ptr %156, i32 8 |
|
store { ptr, ptr addrspace(10) } %3427, ptr %158, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3437, ptr align 8 %158, i64 8, i1 false) |
|
%3438 = getelementptr inbounds i8, ptr %158, i32 8 |
|
%3439 = load ptr addrspace(10), ptr %3438, align 8 |
|
%3440 = extractvalue { ptr, ptr addrspace(10) } %3427, 0 |
|
%3441 = getelementptr i8, ptr %3440, i64 %3435 |
|
%3442 = sub i64 %3393, 1 |
|
%3443 = mul i64 8, %3442 |
|
%3444 = getelementptr i8, ptr %3441, i64 %3443 |
|
%3445 = getelementptr inbounds i64, ptr %3444, i64 0 |
|
%3446 = load i64, ptr %3445, align 1 |
|
br label %3449 |
|
|
|
3447: ; preds = %3410 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3393) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3448: ; preds = %3376 |
|
br label %3449 |
|
|
|
3449: ; preds = %3448, %3419 |
|
%3450 = phi i64 [ %3446, %3419 ], [ 0, %3448 ] |
|
%3451 = load i64, ptr %3380, align 8 |
|
%3452 = xor i64 %3451, %3450 |
|
%3453 = getelementptr inbounds i8, ptr %103, i32 128 |
|
%3454 = sub i64 %2215, %2184 |
|
%3455 = add i64 1, %3454 |
|
%3456 = icmp ult i64 16, %3455 |
|
%3457 = xor i1 %3456, true |
|
br i1 %3457, label %3521, label %3458 |
|
|
|
3458: ; preds = %3449 |
|
br i1 false, label %3465, label %3459 |
|
|
|
3459: ; preds = %3458 |
|
%3460 = sub i64 %2215, %2184 |
|
%3461 = add i64 1, %3460 |
|
%3462 = icmp ult i64 16, %3461 |
|
%3463 = xor i1 %3462, true |
|
br i1 %3463, label %3480, label %3464 |
|
|
|
3464: ; preds = %3459 |
|
br label %3465 |
|
|
|
3465: ; preds = %3464, %3458 |
|
%3466 = add i64 %2279, 17 |
|
br i1 true, label %3492, label %3467 |
|
|
|
3467: ; preds = %3465 |
|
%3468 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3469 = getelementptr inbounds i8, ptr addrspace(11) %3468, i32 8 |
|
%3470 = load i64, ptr addrspace(11) %3469, align 8 |
|
%3471 = load i64, ptr addrspace(11) %3468, align 8 |
|
%3472 = sub i64 %3470, %3471 |
|
%3473 = add i64 1, %3472 |
|
%3474 = mul i64 %3473, 1 |
|
%3475 = icmp ne i64 %3474, -9223372036854775808 |
|
%3476 = or i1 true, %3475 |
|
%3477 = and i1 true, %3476 |
|
%3478 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3477, label %4502, label %4500 |
|
|
|
3479: ; preds = %4502 |
|
br label %3483 |
|
|
|
3480: ; preds = %3459 |
|
store ptr addrspace(10) %2281, ptr %220, align 8 |
|
%3481 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3481, ptr readonly captures(none) %220, i64 signext 17) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3482: ; preds = %4502 |
|
br label %3483 |
|
|
|
3483: ; preds = %3482, %3479 |
|
%3484 = phi i64 [ %4505, %3479 ], [ 0, %3482 ] |
|
%3485 = icmp slt i64 0, %3484 |
|
%3486 = xor i1 %3485, true |
|
%3487 = select i1 %3486, i64 0, i64 %3484 |
|
%3488 = sub i64 %3466, 1 |
|
%3489 = icmp ult i64 %3488, %3487 |
|
%3490 = xor i1 %3489, true |
|
br i1 %3490, label %3520, label %3491 |
|
|
|
3491: ; preds = %3483 |
|
br label %3492 |
|
|
|
3492: ; preds = %3491, %3465 |
|
%3493 = load ptr addrspace(10), ptr %4, align 8 |
|
%3494 = addrspacecast ptr addrspace(10) %3493 to ptr addrspace(11) |
|
%3495 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3494, i32 0, i32 0 |
|
%3496 = load ptr, ptr addrspace(11) %3495, align 8 |
|
%3497 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3494, i32 0, i32 1 |
|
%3498 = load ptr addrspace(10), ptr addrspace(11) %3497, align 8 |
|
%3499 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3496, 0 |
|
%3500 = insertvalue { ptr, ptr addrspace(10) } %3499, ptr addrspace(10) %3498, 1 |
|
%3501 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3502 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3503 = load i64, ptr addrspace(11) %3502, align 8 |
|
%3504 = mul i64 %3503, 1 |
|
%3505 = load i64, ptr addrspace(11) %3501, align 8 |
|
%3506 = add i64 %3505, %3504 |
|
%3507 = sub i64 %3506, 1 |
|
%3508 = mul i64 %3507, 1 |
|
%3509 = getelementptr inbounds i8, ptr %159, i32 0 |
|
store i64 %3508, ptr %160, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3509, ptr align 8 %160, i64 8, i1 false) |
|
%3510 = getelementptr inbounds i8, ptr %159, i32 8 |
|
store { ptr, ptr addrspace(10) } %3500, ptr %161, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3510, ptr align 8 %161, i64 8, i1 false) |
|
%3511 = getelementptr inbounds i8, ptr %161, i32 8 |
|
%3512 = load ptr addrspace(10), ptr %3511, align 8 |
|
%3513 = extractvalue { ptr, ptr addrspace(10) } %3500, 0 |
|
%3514 = getelementptr i8, ptr %3513, i64 %3508 |
|
%3515 = sub i64 %3466, 1 |
|
%3516 = mul i64 8, %3515 |
|
%3517 = getelementptr i8, ptr %3514, i64 %3516 |
|
%3518 = getelementptr inbounds i64, ptr %3517, i64 0 |
|
%3519 = load i64, ptr %3518, align 1 |
|
br label %3522 |
|
|
|
3520: ; preds = %3483 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3466) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3521: ; preds = %3449 |
|
br label %3522 |
|
|
|
3522: ; preds = %3521, %3492 |
|
%3523 = phi i64 [ %3519, %3492 ], [ 0, %3521 ] |
|
%3524 = load i64, ptr %3453, align 8 |
|
%3525 = xor i64 %3524, %3523 |
|
%3526 = getelementptr inbounds i8, ptr %103, i32 136 |
|
%3527 = sub i64 %2215, %2184 |
|
%3528 = add i64 1, %3527 |
|
%3529 = icmp ult i64 17, %3528 |
|
%3530 = xor i1 %3529, true |
|
br i1 %3530, label %3594, label %3531 |
|
|
|
3531: ; preds = %3522 |
|
br i1 false, label %3538, label %3532 |
|
|
|
3532: ; preds = %3531 |
|
%3533 = sub i64 %2215, %2184 |
|
%3534 = add i64 1, %3533 |
|
%3535 = icmp ult i64 17, %3534 |
|
%3536 = xor i1 %3535, true |
|
br i1 %3536, label %3553, label %3537 |
|
|
|
3537: ; preds = %3532 |
|
br label %3538 |
|
|
|
3538: ; preds = %3537, %3531 |
|
%3539 = add i64 %2279, 18 |
|
br i1 true, label %3565, label %3540 |
|
|
|
3540: ; preds = %3538 |
|
%3541 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3542 = getelementptr inbounds i8, ptr addrspace(11) %3541, i32 8 |
|
%3543 = load i64, ptr addrspace(11) %3542, align 8 |
|
%3544 = load i64, ptr addrspace(11) %3541, align 8 |
|
%3545 = sub i64 %3543, %3544 |
|
%3546 = add i64 1, %3545 |
|
%3547 = mul i64 %3546, 1 |
|
%3548 = icmp ne i64 %3547, -9223372036854775808 |
|
%3549 = or i1 true, %3548 |
|
%3550 = and i1 true, %3549 |
|
%3551 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3550, label %4510, label %4508 |
|
|
|
3552: ; preds = %4510 |
|
br label %3556 |
|
|
|
3553: ; preds = %3532 |
|
store ptr addrspace(10) %2281, ptr %219, align 8 |
|
%3554 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3554, ptr readonly captures(none) %219, i64 signext 18) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3555: ; preds = %4510 |
|
br label %3556 |
|
|
|
3556: ; preds = %3555, %3552 |
|
%3557 = phi i64 [ %4513, %3552 ], [ 0, %3555 ] |
|
%3558 = icmp slt i64 0, %3557 |
|
%3559 = xor i1 %3558, true |
|
%3560 = select i1 %3559, i64 0, i64 %3557 |
|
%3561 = sub i64 %3539, 1 |
|
%3562 = icmp ult i64 %3561, %3560 |
|
%3563 = xor i1 %3562, true |
|
br i1 %3563, label %3593, label %3564 |
|
|
|
3564: ; preds = %3556 |
|
br label %3565 |
|
|
|
3565: ; preds = %3564, %3538 |
|
%3566 = load ptr addrspace(10), ptr %4, align 8 |
|
%3567 = addrspacecast ptr addrspace(10) %3566 to ptr addrspace(11) |
|
%3568 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3567, i32 0, i32 0 |
|
%3569 = load ptr, ptr addrspace(11) %3568, align 8 |
|
%3570 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3567, i32 0, i32 1 |
|
%3571 = load ptr addrspace(10), ptr addrspace(11) %3570, align 8 |
|
%3572 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3569, 0 |
|
%3573 = insertvalue { ptr, ptr addrspace(10) } %3572, ptr addrspace(10) %3571, 1 |
|
%3574 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3575 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3576 = load i64, ptr addrspace(11) %3575, align 8 |
|
%3577 = mul i64 %3576, 1 |
|
%3578 = load i64, ptr addrspace(11) %3574, align 8 |
|
%3579 = add i64 %3578, %3577 |
|
%3580 = sub i64 %3579, 1 |
|
%3581 = mul i64 %3580, 1 |
|
%3582 = getelementptr inbounds i8, ptr %162, i32 0 |
|
store i64 %3581, ptr %163, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3582, ptr align 8 %163, i64 8, i1 false) |
|
%3583 = getelementptr inbounds i8, ptr %162, i32 8 |
|
store { ptr, ptr addrspace(10) } %3573, ptr %164, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3583, ptr align 8 %164, i64 8, i1 false) |
|
%3584 = getelementptr inbounds i8, ptr %164, i32 8 |
|
%3585 = load ptr addrspace(10), ptr %3584, align 8 |
|
%3586 = extractvalue { ptr, ptr addrspace(10) } %3573, 0 |
|
%3587 = getelementptr i8, ptr %3586, i64 %3581 |
|
%3588 = sub i64 %3539, 1 |
|
%3589 = mul i64 8, %3588 |
|
%3590 = getelementptr i8, ptr %3587, i64 %3589 |
|
%3591 = getelementptr inbounds i64, ptr %3590, i64 0 |
|
%3592 = load i64, ptr %3591, align 1 |
|
br label %3595 |
|
|
|
3593: ; preds = %3556 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3539) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3594: ; preds = %3522 |
|
br label %3595 |
|
|
|
3595: ; preds = %3594, %3565 |
|
%3596 = phi i64 [ %3592, %3565 ], [ 0, %3594 ] |
|
%3597 = load i64, ptr %3526, align 8 |
|
%3598 = xor i64 %3597, %3596 |
|
%3599 = getelementptr inbounds i8, ptr %103, i32 144 |
|
%3600 = sub i64 %2215, %2184 |
|
%3601 = add i64 1, %3600 |
|
%3602 = icmp ult i64 18, %3601 |
|
%3603 = xor i1 %3602, true |
|
br i1 %3603, label %3667, label %3604 |
|
|
|
3604: ; preds = %3595 |
|
br i1 false, label %3611, label %3605 |
|
|
|
3605: ; preds = %3604 |
|
%3606 = sub i64 %2215, %2184 |
|
%3607 = add i64 1, %3606 |
|
%3608 = icmp ult i64 18, %3607 |
|
%3609 = xor i1 %3608, true |
|
br i1 %3609, label %3626, label %3610 |
|
|
|
3610: ; preds = %3605 |
|
br label %3611 |
|
|
|
3611: ; preds = %3610, %3604 |
|
%3612 = add i64 %2279, 19 |
|
br i1 true, label %3638, label %3613 |
|
|
|
3613: ; preds = %3611 |
|
%3614 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3615 = getelementptr inbounds i8, ptr addrspace(11) %3614, i32 8 |
|
%3616 = load i64, ptr addrspace(11) %3615, align 8 |
|
%3617 = load i64, ptr addrspace(11) %3614, align 8 |
|
%3618 = sub i64 %3616, %3617 |
|
%3619 = add i64 1, %3618 |
|
%3620 = mul i64 %3619, 1 |
|
%3621 = icmp ne i64 %3620, -9223372036854775808 |
|
%3622 = or i1 true, %3621 |
|
%3623 = and i1 true, %3622 |
|
%3624 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3623, label %4518, label %4516 |
|
|
|
3625: ; preds = %4518 |
|
br label %3629 |
|
|
|
3626: ; preds = %3605 |
|
store ptr addrspace(10) %2281, ptr %218, align 8 |
|
%3627 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3627, ptr readonly captures(none) %218, i64 signext 19) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3628: ; preds = %4518 |
|
br label %3629 |
|
|
|
3629: ; preds = %3628, %3625 |
|
%3630 = phi i64 [ %4521, %3625 ], [ 0, %3628 ] |
|
%3631 = icmp slt i64 0, %3630 |
|
%3632 = xor i1 %3631, true |
|
%3633 = select i1 %3632, i64 0, i64 %3630 |
|
%3634 = sub i64 %3612, 1 |
|
%3635 = icmp ult i64 %3634, %3633 |
|
%3636 = xor i1 %3635, true |
|
br i1 %3636, label %3666, label %3637 |
|
|
|
3637: ; preds = %3629 |
|
br label %3638 |
|
|
|
3638: ; preds = %3637, %3611 |
|
%3639 = load ptr addrspace(10), ptr %4, align 8 |
|
%3640 = addrspacecast ptr addrspace(10) %3639 to ptr addrspace(11) |
|
%3641 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3640, i32 0, i32 0 |
|
%3642 = load ptr, ptr addrspace(11) %3641, align 8 |
|
%3643 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3640, i32 0, i32 1 |
|
%3644 = load ptr addrspace(10), ptr addrspace(11) %3643, align 8 |
|
%3645 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3642, 0 |
|
%3646 = insertvalue { ptr, ptr addrspace(10) } %3645, ptr addrspace(10) %3644, 1 |
|
%3647 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3648 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3649 = load i64, ptr addrspace(11) %3648, align 8 |
|
%3650 = mul i64 %3649, 1 |
|
%3651 = load i64, ptr addrspace(11) %3647, align 8 |
|
%3652 = add i64 %3651, %3650 |
|
%3653 = sub i64 %3652, 1 |
|
%3654 = mul i64 %3653, 1 |
|
%3655 = getelementptr inbounds i8, ptr %165, i32 0 |
|
store i64 %3654, ptr %166, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3655, ptr align 8 %166, i64 8, i1 false) |
|
%3656 = getelementptr inbounds i8, ptr %165, i32 8 |
|
store { ptr, ptr addrspace(10) } %3646, ptr %167, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3656, ptr align 8 %167, i64 8, i1 false) |
|
%3657 = getelementptr inbounds i8, ptr %167, i32 8 |
|
%3658 = load ptr addrspace(10), ptr %3657, align 8 |
|
%3659 = extractvalue { ptr, ptr addrspace(10) } %3646, 0 |
|
%3660 = getelementptr i8, ptr %3659, i64 %3654 |
|
%3661 = sub i64 %3612, 1 |
|
%3662 = mul i64 8, %3661 |
|
%3663 = getelementptr i8, ptr %3660, i64 %3662 |
|
%3664 = getelementptr inbounds i64, ptr %3663, i64 0 |
|
%3665 = load i64, ptr %3664, align 1 |
|
br label %3668 |
|
|
|
3666: ; preds = %3629 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3612) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3667: ; preds = %3595 |
|
br label %3668 |
|
|
|
3668: ; preds = %3667, %3638 |
|
%3669 = phi i64 [ %3665, %3638 ], [ 0, %3667 ] |
|
%3670 = load i64, ptr %3599, align 8 |
|
%3671 = xor i64 %3670, %3669 |
|
%3672 = getelementptr inbounds i8, ptr %103, i32 152 |
|
%3673 = sub i64 %2215, %2184 |
|
%3674 = add i64 1, %3673 |
|
%3675 = icmp ult i64 19, %3674 |
|
%3676 = xor i1 %3675, true |
|
br i1 %3676, label %3740, label %3677 |
|
|
|
3677: ; preds = %3668 |
|
br i1 false, label %3684, label %3678 |
|
|
|
3678: ; preds = %3677 |
|
%3679 = sub i64 %2215, %2184 |
|
%3680 = add i64 1, %3679 |
|
%3681 = icmp ult i64 19, %3680 |
|
%3682 = xor i1 %3681, true |
|
br i1 %3682, label %3699, label %3683 |
|
|
|
3683: ; preds = %3678 |
|
br label %3684 |
|
|
|
3684: ; preds = %3683, %3677 |
|
%3685 = add i64 %2279, 20 |
|
br i1 true, label %3711, label %3686 |
|
|
|
3686: ; preds = %3684 |
|
%3687 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3688 = getelementptr inbounds i8, ptr addrspace(11) %3687, i32 8 |
|
%3689 = load i64, ptr addrspace(11) %3688, align 8 |
|
%3690 = load i64, ptr addrspace(11) %3687, align 8 |
|
%3691 = sub i64 %3689, %3690 |
|
%3692 = add i64 1, %3691 |
|
%3693 = mul i64 %3692, 1 |
|
%3694 = icmp ne i64 %3693, -9223372036854775808 |
|
%3695 = or i1 true, %3694 |
|
%3696 = and i1 true, %3695 |
|
%3697 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3696, label %4526, label %4524 |
|
|
|
3698: ; preds = %4526 |
|
br label %3702 |
|
|
|
3699: ; preds = %3678 |
|
store ptr addrspace(10) %2281, ptr %217, align 8 |
|
%3700 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3700, ptr readonly captures(none) %217, i64 signext 20) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3701: ; preds = %4526 |
|
br label %3702 |
|
|
|
3702: ; preds = %3701, %3698 |
|
%3703 = phi i64 [ %4529, %3698 ], [ 0, %3701 ] |
|
%3704 = icmp slt i64 0, %3703 |
|
%3705 = xor i1 %3704, true |
|
%3706 = select i1 %3705, i64 0, i64 %3703 |
|
%3707 = sub i64 %3685, 1 |
|
%3708 = icmp ult i64 %3707, %3706 |
|
%3709 = xor i1 %3708, true |
|
br i1 %3709, label %3739, label %3710 |
|
|
|
3710: ; preds = %3702 |
|
br label %3711 |
|
|
|
3711: ; preds = %3710, %3684 |
|
%3712 = load ptr addrspace(10), ptr %4, align 8 |
|
%3713 = addrspacecast ptr addrspace(10) %3712 to ptr addrspace(11) |
|
%3714 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3713, i32 0, i32 0 |
|
%3715 = load ptr, ptr addrspace(11) %3714, align 8 |
|
%3716 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3713, i32 0, i32 1 |
|
%3717 = load ptr addrspace(10), ptr addrspace(11) %3716, align 8 |
|
%3718 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3715, 0 |
|
%3719 = insertvalue { ptr, ptr addrspace(10) } %3718, ptr addrspace(10) %3717, 1 |
|
%3720 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3721 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3722 = load i64, ptr addrspace(11) %3721, align 8 |
|
%3723 = mul i64 %3722, 1 |
|
%3724 = load i64, ptr addrspace(11) %3720, align 8 |
|
%3725 = add i64 %3724, %3723 |
|
%3726 = sub i64 %3725, 1 |
|
%3727 = mul i64 %3726, 1 |
|
%3728 = getelementptr inbounds i8, ptr %168, i32 0 |
|
store i64 %3727, ptr %169, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3728, ptr align 8 %169, i64 8, i1 false) |
|
%3729 = getelementptr inbounds i8, ptr %168, i32 8 |
|
store { ptr, ptr addrspace(10) } %3719, ptr %170, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3729, ptr align 8 %170, i64 8, i1 false) |
|
%3730 = getelementptr inbounds i8, ptr %170, i32 8 |
|
%3731 = load ptr addrspace(10), ptr %3730, align 8 |
|
%3732 = extractvalue { ptr, ptr addrspace(10) } %3719, 0 |
|
%3733 = getelementptr i8, ptr %3732, i64 %3727 |
|
%3734 = sub i64 %3685, 1 |
|
%3735 = mul i64 8, %3734 |
|
%3736 = getelementptr i8, ptr %3733, i64 %3735 |
|
%3737 = getelementptr inbounds i64, ptr %3736, i64 0 |
|
%3738 = load i64, ptr %3737, align 1 |
|
br label %3741 |
|
|
|
3739: ; preds = %3702 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3685) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3740: ; preds = %3668 |
|
br label %3741 |
|
|
|
3741: ; preds = %3740, %3711 |
|
%3742 = phi i64 [ %3738, %3711 ], [ 0, %3740 ] |
|
%3743 = load i64, ptr %3672, align 8 |
|
%3744 = xor i64 %3743, %3742 |
|
%3745 = getelementptr inbounds i8, ptr %103, i32 160 |
|
%3746 = sub i64 %2215, %2184 |
|
%3747 = add i64 1, %3746 |
|
%3748 = icmp ult i64 20, %3747 |
|
%3749 = xor i1 %3748, true |
|
br i1 %3749, label %3813, label %3750 |
|
|
|
3750: ; preds = %3741 |
|
br i1 false, label %3757, label %3751 |
|
|
|
3751: ; preds = %3750 |
|
%3752 = sub i64 %2215, %2184 |
|
%3753 = add i64 1, %3752 |
|
%3754 = icmp ult i64 20, %3753 |
|
%3755 = xor i1 %3754, true |
|
br i1 %3755, label %3772, label %3756 |
|
|
|
3756: ; preds = %3751 |
|
br label %3757 |
|
|
|
3757: ; preds = %3756, %3750 |
|
%3758 = add i64 %2279, 21 |
|
br i1 true, label %3784, label %3759 |
|
|
|
3759: ; preds = %3757 |
|
%3760 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3761 = getelementptr inbounds i8, ptr addrspace(11) %3760, i32 8 |
|
%3762 = load i64, ptr addrspace(11) %3761, align 8 |
|
%3763 = load i64, ptr addrspace(11) %3760, align 8 |
|
%3764 = sub i64 %3762, %3763 |
|
%3765 = add i64 1, %3764 |
|
%3766 = mul i64 %3765, 1 |
|
%3767 = icmp ne i64 %3766, -9223372036854775808 |
|
%3768 = or i1 true, %3767 |
|
%3769 = and i1 true, %3768 |
|
%3770 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3769, label %4534, label %4532 |
|
|
|
3771: ; preds = %4534 |
|
br label %3775 |
|
|
|
3772: ; preds = %3751 |
|
store ptr addrspace(10) %2281, ptr %216, align 8 |
|
%3773 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3773, ptr readonly captures(none) %216, i64 signext 21) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3774: ; preds = %4534 |
|
br label %3775 |
|
|
|
3775: ; preds = %3774, %3771 |
|
%3776 = phi i64 [ %4537, %3771 ], [ 0, %3774 ] |
|
%3777 = icmp slt i64 0, %3776 |
|
%3778 = xor i1 %3777, true |
|
%3779 = select i1 %3778, i64 0, i64 %3776 |
|
%3780 = sub i64 %3758, 1 |
|
%3781 = icmp ult i64 %3780, %3779 |
|
%3782 = xor i1 %3781, true |
|
br i1 %3782, label %3812, label %3783 |
|
|
|
3783: ; preds = %3775 |
|
br label %3784 |
|
|
|
3784: ; preds = %3783, %3757 |
|
%3785 = load ptr addrspace(10), ptr %4, align 8 |
|
%3786 = addrspacecast ptr addrspace(10) %3785 to ptr addrspace(11) |
|
%3787 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3786, i32 0, i32 0 |
|
%3788 = load ptr, ptr addrspace(11) %3787, align 8 |
|
%3789 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3786, i32 0, i32 1 |
|
%3790 = load ptr addrspace(10), ptr addrspace(11) %3789, align 8 |
|
%3791 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3788, 0 |
|
%3792 = insertvalue { ptr, ptr addrspace(10) } %3791, ptr addrspace(10) %3790, 1 |
|
%3793 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3794 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3795 = load i64, ptr addrspace(11) %3794, align 8 |
|
%3796 = mul i64 %3795, 1 |
|
%3797 = load i64, ptr addrspace(11) %3793, align 8 |
|
%3798 = add i64 %3797, %3796 |
|
%3799 = sub i64 %3798, 1 |
|
%3800 = mul i64 %3799, 1 |
|
%3801 = getelementptr inbounds i8, ptr %171, i32 0 |
|
store i64 %3800, ptr %172, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3801, ptr align 8 %172, i64 8, i1 false) |
|
%3802 = getelementptr inbounds i8, ptr %171, i32 8 |
|
store { ptr, ptr addrspace(10) } %3792, ptr %173, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3802, ptr align 8 %173, i64 8, i1 false) |
|
%3803 = getelementptr inbounds i8, ptr %173, i32 8 |
|
%3804 = load ptr addrspace(10), ptr %3803, align 8 |
|
%3805 = extractvalue { ptr, ptr addrspace(10) } %3792, 0 |
|
%3806 = getelementptr i8, ptr %3805, i64 %3800 |
|
%3807 = sub i64 %3758, 1 |
|
%3808 = mul i64 8, %3807 |
|
%3809 = getelementptr i8, ptr %3806, i64 %3808 |
|
%3810 = getelementptr inbounds i64, ptr %3809, i64 0 |
|
%3811 = load i64, ptr %3810, align 1 |
|
br label %3814 |
|
|
|
3812: ; preds = %3775 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3758) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3813: ; preds = %3741 |
|
br label %3814 |
|
|
|
3814: ; preds = %3813, %3784 |
|
%3815 = phi i64 [ %3811, %3784 ], [ 0, %3813 ] |
|
%3816 = load i64, ptr %3745, align 8 |
|
%3817 = xor i64 %3816, %3815 |
|
%3818 = getelementptr inbounds i8, ptr %103, i32 168 |
|
%3819 = sub i64 %2215, %2184 |
|
%3820 = add i64 1, %3819 |
|
%3821 = icmp ult i64 21, %3820 |
|
%3822 = xor i1 %3821, true |
|
br i1 %3822, label %3886, label %3823 |
|
|
|
3823: ; preds = %3814 |
|
br i1 false, label %3830, label %3824 |
|
|
|
3824: ; preds = %3823 |
|
%3825 = sub i64 %2215, %2184 |
|
%3826 = add i64 1, %3825 |
|
%3827 = icmp ult i64 21, %3826 |
|
%3828 = xor i1 %3827, true |
|
br i1 %3828, label %3845, label %3829 |
|
|
|
3829: ; preds = %3824 |
|
br label %3830 |
|
|
|
3830: ; preds = %3829, %3823 |
|
%3831 = add i64 %2279, 22 |
|
br i1 true, label %3857, label %3832 |
|
|
|
3832: ; preds = %3830 |
|
%3833 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3834 = getelementptr inbounds i8, ptr addrspace(11) %3833, i32 8 |
|
%3835 = load i64, ptr addrspace(11) %3834, align 8 |
|
%3836 = load i64, ptr addrspace(11) %3833, align 8 |
|
%3837 = sub i64 %3835, %3836 |
|
%3838 = add i64 1, %3837 |
|
%3839 = mul i64 %3838, 1 |
|
%3840 = icmp ne i64 %3839, -9223372036854775808 |
|
%3841 = or i1 true, %3840 |
|
%3842 = and i1 true, %3841 |
|
%3843 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3842, label %4542, label %4540 |
|
|
|
3844: ; preds = %4542 |
|
br label %3848 |
|
|
|
3845: ; preds = %3824 |
|
store ptr addrspace(10) %2281, ptr %215, align 8 |
|
%3846 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3846, ptr readonly captures(none) %215, i64 signext 22) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3847: ; preds = %4542 |
|
br label %3848 |
|
|
|
3848: ; preds = %3847, %3844 |
|
%3849 = phi i64 [ %4545, %3844 ], [ 0, %3847 ] |
|
%3850 = icmp slt i64 0, %3849 |
|
%3851 = xor i1 %3850, true |
|
%3852 = select i1 %3851, i64 0, i64 %3849 |
|
%3853 = sub i64 %3831, 1 |
|
%3854 = icmp ult i64 %3853, %3852 |
|
%3855 = xor i1 %3854, true |
|
br i1 %3855, label %3885, label %3856 |
|
|
|
3856: ; preds = %3848 |
|
br label %3857 |
|
|
|
3857: ; preds = %3856, %3830 |
|
%3858 = load ptr addrspace(10), ptr %4, align 8 |
|
%3859 = addrspacecast ptr addrspace(10) %3858 to ptr addrspace(11) |
|
%3860 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3859, i32 0, i32 0 |
|
%3861 = load ptr, ptr addrspace(11) %3860, align 8 |
|
%3862 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3859, i32 0, i32 1 |
|
%3863 = load ptr addrspace(10), ptr addrspace(11) %3862, align 8 |
|
%3864 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3861, 0 |
|
%3865 = insertvalue { ptr, ptr addrspace(10) } %3864, ptr addrspace(10) %3863, 1 |
|
%3866 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3867 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3868 = load i64, ptr addrspace(11) %3867, align 8 |
|
%3869 = mul i64 %3868, 1 |
|
%3870 = load i64, ptr addrspace(11) %3866, align 8 |
|
%3871 = add i64 %3870, %3869 |
|
%3872 = sub i64 %3871, 1 |
|
%3873 = mul i64 %3872, 1 |
|
%3874 = getelementptr inbounds i8, ptr %174, i32 0 |
|
store i64 %3873, ptr %175, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3874, ptr align 8 %175, i64 8, i1 false) |
|
%3875 = getelementptr inbounds i8, ptr %174, i32 8 |
|
store { ptr, ptr addrspace(10) } %3865, ptr %176, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3875, ptr align 8 %176, i64 8, i1 false) |
|
%3876 = getelementptr inbounds i8, ptr %176, i32 8 |
|
%3877 = load ptr addrspace(10), ptr %3876, align 8 |
|
%3878 = extractvalue { ptr, ptr addrspace(10) } %3865, 0 |
|
%3879 = getelementptr i8, ptr %3878, i64 %3873 |
|
%3880 = sub i64 %3831, 1 |
|
%3881 = mul i64 8, %3880 |
|
%3882 = getelementptr i8, ptr %3879, i64 %3881 |
|
%3883 = getelementptr inbounds i64, ptr %3882, i64 0 |
|
%3884 = load i64, ptr %3883, align 1 |
|
br label %3887 |
|
|
|
3885: ; preds = %3848 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3831) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3886: ; preds = %3814 |
|
br label %3887 |
|
|
|
3887: ; preds = %3886, %3857 |
|
%3888 = phi i64 [ %3884, %3857 ], [ 0, %3886 ] |
|
%3889 = load i64, ptr %3818, align 8 |
|
%3890 = xor i64 %3889, %3888 |
|
%3891 = getelementptr inbounds i8, ptr %103, i32 176 |
|
%3892 = sub i64 %2215, %2184 |
|
%3893 = add i64 1, %3892 |
|
%3894 = icmp ult i64 22, %3893 |
|
%3895 = xor i1 %3894, true |
|
br i1 %3895, label %3959, label %3896 |
|
|
|
3896: ; preds = %3887 |
|
br i1 false, label %3903, label %3897 |
|
|
|
3897: ; preds = %3896 |
|
%3898 = sub i64 %2215, %2184 |
|
%3899 = add i64 1, %3898 |
|
%3900 = icmp ult i64 22, %3899 |
|
%3901 = xor i1 %3900, true |
|
br i1 %3901, label %3918, label %3902 |
|
|
|
3902: ; preds = %3897 |
|
br label %3903 |
|
|
|
3903: ; preds = %3902, %3896 |
|
%3904 = add i64 %2279, 23 |
|
br i1 true, label %3930, label %3905 |
|
|
|
3905: ; preds = %3903 |
|
%3906 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3907 = getelementptr inbounds i8, ptr addrspace(11) %3906, i32 8 |
|
%3908 = load i64, ptr addrspace(11) %3907, align 8 |
|
%3909 = load i64, ptr addrspace(11) %3906, align 8 |
|
%3910 = sub i64 %3908, %3909 |
|
%3911 = add i64 1, %3910 |
|
%3912 = mul i64 %3911, 1 |
|
%3913 = icmp ne i64 %3912, -9223372036854775808 |
|
%3914 = or i1 true, %3913 |
|
%3915 = and i1 true, %3914 |
|
%3916 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3915, label %4550, label %4548 |
|
|
|
3917: ; preds = %4550 |
|
br label %3921 |
|
|
|
3918: ; preds = %3897 |
|
store ptr addrspace(10) %2281, ptr %214, align 8 |
|
%3919 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3919, ptr readonly captures(none) %214, i64 signext 23) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3920: ; preds = %4550 |
|
br label %3921 |
|
|
|
3921: ; preds = %3920, %3917 |
|
%3922 = phi i64 [ %4553, %3917 ], [ 0, %3920 ] |
|
%3923 = icmp slt i64 0, %3922 |
|
%3924 = xor i1 %3923, true |
|
%3925 = select i1 %3924, i64 0, i64 %3922 |
|
%3926 = sub i64 %3904, 1 |
|
%3927 = icmp ult i64 %3926, %3925 |
|
%3928 = xor i1 %3927, true |
|
br i1 %3928, label %3958, label %3929 |
|
|
|
3929: ; preds = %3921 |
|
br label %3930 |
|
|
|
3930: ; preds = %3929, %3903 |
|
%3931 = load ptr addrspace(10), ptr %4, align 8 |
|
%3932 = addrspacecast ptr addrspace(10) %3931 to ptr addrspace(11) |
|
%3933 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3932, i32 0, i32 0 |
|
%3934 = load ptr, ptr addrspace(11) %3933, align 8 |
|
%3935 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %3932, i32 0, i32 1 |
|
%3936 = load ptr addrspace(10), ptr addrspace(11) %3935, align 8 |
|
%3937 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %3934, 0 |
|
%3938 = insertvalue { ptr, ptr addrspace(10) } %3937, ptr addrspace(10) %3936, 1 |
|
%3939 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%3940 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%3941 = load i64, ptr addrspace(11) %3940, align 8 |
|
%3942 = mul i64 %3941, 1 |
|
%3943 = load i64, ptr addrspace(11) %3939, align 8 |
|
%3944 = add i64 %3943, %3942 |
|
%3945 = sub i64 %3944, 1 |
|
%3946 = mul i64 %3945, 1 |
|
%3947 = getelementptr inbounds i8, ptr %177, i32 0 |
|
store i64 %3946, ptr %178, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3947, ptr align 8 %178, i64 8, i1 false) |
|
%3948 = getelementptr inbounds i8, ptr %177, i32 8 |
|
store { ptr, ptr addrspace(10) } %3938, ptr %179, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %3948, ptr align 8 %179, i64 8, i1 false) |
|
%3949 = getelementptr inbounds i8, ptr %179, i32 8 |
|
%3950 = load ptr addrspace(10), ptr %3949, align 8 |
|
%3951 = extractvalue { ptr, ptr addrspace(10) } %3938, 0 |
|
%3952 = getelementptr i8, ptr %3951, i64 %3946 |
|
%3953 = sub i64 %3904, 1 |
|
%3954 = mul i64 8, %3953 |
|
%3955 = getelementptr i8, ptr %3952, i64 %3954 |
|
%3956 = getelementptr inbounds i64, ptr %3955, i64 0 |
|
%3957 = load i64, ptr %3956, align 1 |
|
br label %3960 |
|
|
|
3958: ; preds = %3921 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3904) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3959: ; preds = %3887 |
|
br label %3960 |
|
|
|
3960: ; preds = %3959, %3930 |
|
%3961 = phi i64 [ %3957, %3930 ], [ 0, %3959 ] |
|
%3962 = load i64, ptr %3891, align 8 |
|
%3963 = xor i64 %3962, %3961 |
|
%3964 = getelementptr inbounds i8, ptr %103, i32 184 |
|
%3965 = sub i64 %2215, %2184 |
|
%3966 = add i64 1, %3965 |
|
%3967 = icmp ult i64 23, %3966 |
|
%3968 = xor i1 %3967, true |
|
br i1 %3968, label %4032, label %3969 |
|
|
|
3969: ; preds = %3960 |
|
br i1 false, label %3976, label %3970 |
|
|
|
3970: ; preds = %3969 |
|
%3971 = sub i64 %2215, %2184 |
|
%3972 = add i64 1, %3971 |
|
%3973 = icmp ult i64 23, %3972 |
|
%3974 = xor i1 %3973, true |
|
br i1 %3974, label %3991, label %3975 |
|
|
|
3975: ; preds = %3970 |
|
br label %3976 |
|
|
|
3976: ; preds = %3975, %3969 |
|
%3977 = add i64 %2279, 24 |
|
br i1 true, label %4003, label %3978 |
|
|
|
3978: ; preds = %3976 |
|
%3979 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%3980 = getelementptr inbounds i8, ptr addrspace(11) %3979, i32 8 |
|
%3981 = load i64, ptr addrspace(11) %3980, align 8 |
|
%3982 = load i64, ptr addrspace(11) %3979, align 8 |
|
%3983 = sub i64 %3981, %3982 |
|
%3984 = add i64 1, %3983 |
|
%3985 = mul i64 %3984, 1 |
|
%3986 = icmp ne i64 %3985, -9223372036854775808 |
|
%3987 = or i1 true, %3986 |
|
%3988 = and i1 true, %3987 |
|
%3989 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %3988, label %4558, label %4556 |
|
|
|
3990: ; preds = %4558 |
|
br label %3994 |
|
|
|
3991: ; preds = %3970 |
|
store ptr addrspace(10) %2281, ptr %213, align 8 |
|
%3992 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3992, ptr readonly captures(none) %213, i64 signext 24) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
3993: ; preds = %4558 |
|
br label %3994 |
|
|
|
3994: ; preds = %3993, %3990 |
|
%3995 = phi i64 [ %4561, %3990 ], [ 0, %3993 ] |
|
%3996 = icmp slt i64 0, %3995 |
|
%3997 = xor i1 %3996, true |
|
%3998 = select i1 %3997, i64 0, i64 %3995 |
|
%3999 = sub i64 %3977, 1 |
|
%4000 = icmp ult i64 %3999, %3998 |
|
%4001 = xor i1 %4000, true |
|
br i1 %4001, label %4031, label %4002 |
|
|
|
4002: ; preds = %3994 |
|
br label %4003 |
|
|
|
4003: ; preds = %4002, %3976 |
|
%4004 = load ptr addrspace(10), ptr %4, align 8 |
|
%4005 = addrspacecast ptr addrspace(10) %4004 to ptr addrspace(11) |
|
%4006 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %4005, i32 0, i32 0 |
|
%4007 = load ptr, ptr addrspace(11) %4006, align 8 |
|
%4008 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %4005, i32 0, i32 1 |
|
%4009 = load ptr addrspace(10), ptr addrspace(11) %4008, align 8 |
|
%4010 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %4007, 0 |
|
%4011 = insertvalue { ptr, ptr addrspace(10) } %4010, ptr addrspace(10) %4009, 1 |
|
%4012 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%4013 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%4014 = load i64, ptr addrspace(11) %4013, align 8 |
|
%4015 = mul i64 %4014, 1 |
|
%4016 = load i64, ptr addrspace(11) %4012, align 8 |
|
%4017 = add i64 %4016, %4015 |
|
%4018 = sub i64 %4017, 1 |
|
%4019 = mul i64 %4018, 1 |
|
%4020 = getelementptr inbounds i8, ptr %180, i32 0 |
|
store i64 %4019, ptr %181, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4020, ptr align 8 %181, i64 8, i1 false) |
|
%4021 = getelementptr inbounds i8, ptr %180, i32 8 |
|
store { ptr, ptr addrspace(10) } %4011, ptr %182, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4021, ptr align 8 %182, i64 8, i1 false) |
|
%4022 = getelementptr inbounds i8, ptr %182, i32 8 |
|
%4023 = load ptr addrspace(10), ptr %4022, align 8 |
|
%4024 = extractvalue { ptr, ptr addrspace(10) } %4011, 0 |
|
%4025 = getelementptr i8, ptr %4024, i64 %4019 |
|
%4026 = sub i64 %3977, 1 |
|
%4027 = mul i64 8, %4026 |
|
%4028 = getelementptr i8, ptr %4025, i64 %4027 |
|
%4029 = getelementptr inbounds i64, ptr %4028, i64 0 |
|
%4030 = load i64, ptr %4029, align 1 |
|
br label %4033 |
|
|
|
4031: ; preds = %3994 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %3977) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4032: ; preds = %3960 |
|
br label %4033 |
|
|
|
4033: ; preds = %4032, %4003 |
|
%4034 = phi i64 [ %4030, %4003 ], [ 0, %4032 ] |
|
%4035 = load i64, ptr %3964, align 8 |
|
%4036 = xor i64 %4035, %4034 |
|
%4037 = getelementptr inbounds i8, ptr %103, i32 192 |
|
%4038 = sub i64 %2215, %2184 |
|
%4039 = add i64 1, %4038 |
|
%4040 = icmp ult i64 24, %4039 |
|
%4041 = xor i1 %4040, true |
|
br i1 %4041, label %4105, label %4042 |
|
|
|
4042: ; preds = %4033 |
|
br i1 false, label %4049, label %4043 |
|
|
|
4043: ; preds = %4042 |
|
%4044 = sub i64 %2215, %2184 |
|
%4045 = add i64 1, %4044 |
|
%4046 = icmp ult i64 24, %4045 |
|
%4047 = xor i1 %4046, true |
|
br i1 %4047, label %4064, label %4048 |
|
|
|
4048: ; preds = %4043 |
|
br label %4049 |
|
|
|
4049: ; preds = %4048, %4042 |
|
%4050 = add i64 %2279, 25 |
|
br i1 true, label %4076, label %4051 |
|
|
|
4051: ; preds = %4049 |
|
%4052 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%4053 = getelementptr inbounds i8, ptr addrspace(11) %4052, i32 8 |
|
%4054 = load i64, ptr addrspace(11) %4053, align 8 |
|
%4055 = load i64, ptr addrspace(11) %4052, align 8 |
|
%4056 = sub i64 %4054, %4055 |
|
%4057 = add i64 1, %4056 |
|
%4058 = mul i64 %4057, 1 |
|
%4059 = icmp ne i64 %4058, -9223372036854775808 |
|
%4060 = or i1 true, %4059 |
|
%4061 = and i1 true, %4060 |
|
%4062 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %4061, label %4566, label %4564 |
|
|
|
4063: ; preds = %4566 |
|
br label %4067 |
|
|
|
4064: ; preds = %4043 |
|
store ptr addrspace(10) %2281, ptr %212, align 8 |
|
%4065 = addrspacecast ptr %109 to ptr addrspace(11) |
|
call swiftcc void @throw_boundserror_1(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %4065, ptr readonly captures(none) %212, i64 signext 25) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4066: ; preds = %4566 |
|
br label %4067 |
|
|
|
4067: ; preds = %4066, %4063 |
|
%4068 = phi i64 [ %4569, %4063 ], [ 0, %4066 ] |
|
%4069 = icmp slt i64 0, %4068 |
|
%4070 = xor i1 %4069, true |
|
%4071 = select i1 %4070, i64 0, i64 %4068 |
|
%4072 = sub i64 %4050, 1 |
|
%4073 = icmp ult i64 %4072, %4071 |
|
%4074 = xor i1 %4073, true |
|
br i1 %4074, label %4104, label %4075 |
|
|
|
4075: ; preds = %4067 |
|
br label %4076 |
|
|
|
4076: ; preds = %4075, %4049 |
|
%4077 = load ptr addrspace(10), ptr %4, align 8 |
|
%4078 = addrspacecast ptr addrspace(10) %4077 to ptr addrspace(11) |
|
%4079 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %4078, i32 0, i32 0 |
|
%4080 = load ptr, ptr addrspace(11) %4079, align 8 |
|
%4081 = getelementptr inbounds nuw { ptr, ptr addrspace(10) }, ptr addrspace(11) %4078, i32 0, i32 1 |
|
%4082 = load ptr addrspace(10), ptr addrspace(11) %4081, align 8 |
|
%4083 = insertvalue { ptr, ptr addrspace(10) } zeroinitializer, ptr %4080, 0 |
|
%4084 = insertvalue { ptr, ptr addrspace(10) } %4083, ptr addrspace(10) %4082, 1 |
|
%4085 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 24 |
|
%4086 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 32 |
|
%4087 = load i64, ptr addrspace(11) %4086, align 8 |
|
%4088 = mul i64 %4087, 1 |
|
%4089 = load i64, ptr addrspace(11) %4085, align 8 |
|
%4090 = add i64 %4089, %4088 |
|
%4091 = sub i64 %4090, 1 |
|
%4092 = mul i64 %4091, 1 |
|
%4093 = getelementptr inbounds i8, ptr %183, i32 0 |
|
store i64 %4092, ptr %184, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4093, ptr align 8 %184, i64 8, i1 false) |
|
%4094 = getelementptr inbounds i8, ptr %183, i32 8 |
|
store { ptr, ptr addrspace(10) } %4084, ptr %185, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4094, ptr align 8 %185, i64 8, i1 false) |
|
%4095 = getelementptr inbounds i8, ptr %185, i32 8 |
|
%4096 = load ptr addrspace(10), ptr %4095, align 8 |
|
%4097 = extractvalue { ptr, ptr addrspace(10) } %4084, 0 |
|
%4098 = getelementptr i8, ptr %4097, i64 %4092 |
|
%4099 = sub i64 %4050, 1 |
|
%4100 = mul i64 8, %4099 |
|
%4101 = getelementptr i8, ptr %4098, i64 %4100 |
|
%4102 = getelementptr inbounds i64, ptr %4101, i64 0 |
|
%4103 = load i64, ptr %4102, align 1 |
|
br label %4106 |
|
|
|
4104: ; preds = %4067 |
|
call swiftcc void @throw_boundserror_0(ptr nonnull swiftself %1, ptr addrspace(11) readonly captures(none) %3, ptr readonly captures(none) %4, i64 signext %4050) #1 |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4105: ; preds = %4033 |
|
br label %4106 |
|
|
|
4106: ; preds = %4105, %4076 |
|
%4107 = phi i64 [ %4103, %4076 ], [ 0, %4105 ] |
|
%4108 = load i64, ptr %4037, align 8 |
|
%4109 = xor i64 %4108, %4107 |
|
%4110 = getelementptr inbounds i8, ptr %186, i32 0 |
|
store i64 %2357, ptr %187, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4110, ptr align 8 %187, i64 8, i1 false) |
|
%4111 = getelementptr inbounds i8, ptr %186, i32 8 |
|
store i64 %2430, ptr %188, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4111, ptr align 8 %188, i64 8, i1 false) |
|
%4112 = getelementptr inbounds i8, ptr %186, i32 16 |
|
store i64 %2503, ptr %189, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4112, ptr align 8 %189, i64 8, i1 false) |
|
%4113 = getelementptr inbounds i8, ptr %186, i32 24 |
|
store i64 %2576, ptr %190, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4113, ptr align 8 %190, i64 8, i1 false) |
|
%4114 = getelementptr inbounds i8, ptr %186, i32 32 |
|
store i64 %2649, ptr %191, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4114, ptr align 8 %191, i64 8, i1 false) |
|
%4115 = getelementptr inbounds i8, ptr %186, i32 40 |
|
store i64 %2722, ptr %192, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4115, ptr align 8 %192, i64 8, i1 false) |
|
%4116 = getelementptr inbounds i8, ptr %186, i32 48 |
|
store i64 %2795, ptr %193, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4116, ptr align 8 %193, i64 8, i1 false) |
|
%4117 = getelementptr inbounds i8, ptr %186, i32 56 |
|
store i64 %2868, ptr %194, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4117, ptr align 8 %194, i64 8, i1 false) |
|
%4118 = getelementptr inbounds i8, ptr %186, i32 64 |
|
store i64 %2941, ptr %195, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4118, ptr align 8 %195, i64 8, i1 false) |
|
%4119 = getelementptr inbounds i8, ptr %186, i32 72 |
|
store i64 %3014, ptr %196, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4119, ptr align 8 %196, i64 8, i1 false) |
|
%4120 = getelementptr inbounds i8, ptr %186, i32 80 |
|
store i64 %3087, ptr %197, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4120, ptr align 8 %197, i64 8, i1 false) |
|
%4121 = getelementptr inbounds i8, ptr %186, i32 88 |
|
store i64 %3160, ptr %198, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4121, ptr align 8 %198, i64 8, i1 false) |
|
%4122 = getelementptr inbounds i8, ptr %186, i32 96 |
|
store i64 %3233, ptr %199, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4122, ptr align 8 %199, i64 8, i1 false) |
|
%4123 = getelementptr inbounds i8, ptr %186, i32 104 |
|
store i64 %3306, ptr %200, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4123, ptr align 8 %200, i64 8, i1 false) |
|
%4124 = getelementptr inbounds i8, ptr %186, i32 112 |
|
store i64 %3379, ptr %201, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4124, ptr align 8 %201, i64 8, i1 false) |
|
%4125 = getelementptr inbounds i8, ptr %186, i32 120 |
|
store i64 %3452, ptr %202, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4125, ptr align 8 %202, i64 8, i1 false) |
|
%4126 = getelementptr inbounds i8, ptr %186, i32 128 |
|
store i64 %3525, ptr %203, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4126, ptr align 8 %203, i64 8, i1 false) |
|
%4127 = getelementptr inbounds i8, ptr %186, i32 136 |
|
store i64 %3598, ptr %204, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4127, ptr align 8 %204, i64 8, i1 false) |
|
%4128 = getelementptr inbounds i8, ptr %186, i32 144 |
|
store i64 %3671, ptr %205, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4128, ptr align 8 %205, i64 8, i1 false) |
|
%4129 = getelementptr inbounds i8, ptr %186, i32 152 |
|
store i64 %3744, ptr %206, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4129, ptr align 8 %206, i64 8, i1 false) |
|
%4130 = getelementptr inbounds i8, ptr %186, i32 160 |
|
store i64 %3817, ptr %207, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4130, ptr align 8 %207, i64 8, i1 false) |
|
%4131 = getelementptr inbounds i8, ptr %186, i32 168 |
|
store i64 %3890, ptr %208, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4131, ptr align 8 %208, i64 8, i1 false) |
|
%4132 = getelementptr inbounds i8, ptr %186, i32 176 |
|
store i64 %3963, ptr %209, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4132, ptr align 8 %209, i64 8, i1 false) |
|
%4133 = getelementptr inbounds i8, ptr %186, i32 184 |
|
store i64 %4036, ptr %210, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4133, ptr align 8 %210, i64 8, i1 false) |
|
%4134 = getelementptr inbounds i8, ptr %186, i32 192 |
|
store i64 %4109, ptr %211, align 8 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %4134, ptr align 8 %211, i64 8, i1 false) |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %0, ptr align 8 %186, i64 200, i1 false) |
|
ret void |
|
|
|
4135: ; preds = %5 |
|
%4136 = addrspacecast ptr %273 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4136) |
|
unreachable |
|
|
|
4137: ; preds = %5 |
|
%4138 = sdiv i64 %269, 8 |
|
%4139 = getelementptr inbounds i8, ptr addrspace(11) %3, i32 8 |
|
%4140 = getelementptr inbounds i8, ptr addrspace(11) %4139, i32 8 |
|
%4141 = load i64, ptr addrspace(11) %4140, align 8 |
|
%4142 = load i64, ptr addrspace(11) %4139, align 8 |
|
%4143 = sub i64 %4141, %4142 |
|
%4144 = add i64 1, %4143 |
|
%4145 = mul i64 %4144, 1 |
|
%4146 = icmp ne i64 %4145, -9223372036854775808 |
|
%4147 = or i1 true, %4146 |
|
%4148 = and i1 true, %4147 |
|
%4149 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 %4148, label %4152, label %4150 |
|
|
|
4150: ; preds = %4137 |
|
%4151 = addrspacecast ptr %4149 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4151) |
|
unreachable |
|
|
|
4152: ; preds = %4137 |
|
%4153 = sdiv i64 %4145, 8 |
|
%4154 = load ptr, ptr @jl_diverror_exception, align 8 |
|
br i1 true, label %4157, label %4155 |
|
|
|
4155: ; preds = %4152 |
|
%4156 = addrspacecast ptr %4154 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4156) |
|
unreachable |
|
|
|
4157: ; preds = %4152 |
|
br i1 false, label %4158, label %4159 |
|
|
|
4158: ; preds = %4157 |
|
br label %4161 |
|
|
|
4159: ; preds = %4157 |
|
%4160 = srem i64 %4153, 21 |
|
br label %4161 |
|
|
|
4161: ; preds = %4159, %4158 |
|
%4162 = phi i64 [ 0, %4158 ], [ %4160, %4159 ] |
|
%4163 = sub i64 %4138, %4162 |
|
br label %274 |
|
|
|
4164: ; preds = %357 |
|
%4165 = addrspacecast ptr %368 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4165) |
|
unreachable |
|
|
|
4166: ; preds = %357 |
|
%4167 = sdiv i64 %364, 8 |
|
%4168 = add i64 1, %4167 |
|
%4169 = sub i64 %4168, 1 |
|
%4170 = icmp sle i64 1, %4169 |
|
%4171 = xor i1 %4170, true |
|
br i1 %4171, label %370, label %369 |
|
|
|
4172: ; preds = %378 |
|
%4173 = addrspacecast ptr %389 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4173) |
|
unreachable |
|
|
|
4174: ; preds = %378 |
|
%4175 = sdiv i64 %385, 8 |
|
%4176 = add i64 1, %4175 |
|
%4177 = sub i64 %4176, 1 |
|
%4178 = icmp sle i64 1, %4177 |
|
%4179 = xor i1 %4178, true |
|
br i1 %4179, label %391, label %390 |
|
|
|
4180: ; preds = %432 |
|
%4181 = addrspacecast ptr %443 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4181) |
|
unreachable |
|
|
|
4182: ; preds = %432 |
|
%4183 = sdiv i64 %439, 8 |
|
%4184 = add i64 1, %4183 |
|
%4185 = sub i64 %4184, 1 |
|
%4186 = icmp sle i64 1, %4185 |
|
%4187 = xor i1 %4186, true |
|
br i1 %4187, label %447, label %444 |
|
|
|
4188: ; preds = %498 |
|
%4189 = addrspacecast ptr %509 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4189) |
|
unreachable |
|
|
|
4190: ; preds = %498 |
|
%4191 = sdiv i64 %505, 8 |
|
%4192 = add i64 1, %4191 |
|
%4193 = sub i64 %4192, 1 |
|
%4194 = icmp sle i64 1, %4193 |
|
%4195 = xor i1 %4194, true |
|
br i1 %4195, label %513, label %510 |
|
|
|
4196: ; preds = %564 |
|
%4197 = addrspacecast ptr %575 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4197) |
|
unreachable |
|
|
|
4198: ; preds = %564 |
|
%4199 = sdiv i64 %571, 8 |
|
%4200 = add i64 1, %4199 |
|
%4201 = sub i64 %4200, 1 |
|
%4202 = icmp sle i64 1, %4201 |
|
%4203 = xor i1 %4202, true |
|
br i1 %4203, label %579, label %576 |
|
|
|
4204: ; preds = %630 |
|
%4205 = addrspacecast ptr %641 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4205) |
|
unreachable |
|
|
|
4206: ; preds = %630 |
|
%4207 = sdiv i64 %637, 8 |
|
%4208 = add i64 1, %4207 |
|
%4209 = sub i64 %4208, 1 |
|
%4210 = icmp sle i64 1, %4209 |
|
%4211 = xor i1 %4210, true |
|
br i1 %4211, label %645, label %642 |
|
|
|
4212: ; preds = %696 |
|
%4213 = addrspacecast ptr %707 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4213) |
|
unreachable |
|
|
|
4214: ; preds = %696 |
|
%4215 = sdiv i64 %703, 8 |
|
%4216 = add i64 1, %4215 |
|
%4217 = sub i64 %4216, 1 |
|
%4218 = icmp sle i64 1, %4217 |
|
%4219 = xor i1 %4218, true |
|
br i1 %4219, label %711, label %708 |
|
|
|
4220: ; preds = %762 |
|
%4221 = addrspacecast ptr %773 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4221) |
|
unreachable |
|
|
|
4222: ; preds = %762 |
|
%4223 = sdiv i64 %769, 8 |
|
%4224 = add i64 1, %4223 |
|
%4225 = sub i64 %4224, 1 |
|
%4226 = icmp sle i64 1, %4225 |
|
%4227 = xor i1 %4226, true |
|
br i1 %4227, label %777, label %774 |
|
|
|
4228: ; preds = %828 |
|
%4229 = addrspacecast ptr %839 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4229) |
|
unreachable |
|
|
|
4230: ; preds = %828 |
|
%4231 = sdiv i64 %835, 8 |
|
%4232 = add i64 1, %4231 |
|
%4233 = sub i64 %4232, 1 |
|
%4234 = icmp sle i64 1, %4233 |
|
%4235 = xor i1 %4234, true |
|
br i1 %4235, label %843, label %840 |
|
|
|
4236: ; preds = %894 |
|
%4237 = addrspacecast ptr %905 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4237) |
|
unreachable |
|
|
|
4238: ; preds = %894 |
|
%4239 = sdiv i64 %901, 8 |
|
%4240 = add i64 1, %4239 |
|
%4241 = sub i64 %4240, 1 |
|
%4242 = icmp sle i64 1, %4241 |
|
%4243 = xor i1 %4242, true |
|
br i1 %4243, label %909, label %906 |
|
|
|
4244: ; preds = %960 |
|
%4245 = addrspacecast ptr %971 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4245) |
|
unreachable |
|
|
|
4246: ; preds = %960 |
|
%4247 = sdiv i64 %967, 8 |
|
%4248 = add i64 1, %4247 |
|
%4249 = sub i64 %4248, 1 |
|
%4250 = icmp sle i64 1, %4249 |
|
%4251 = xor i1 %4250, true |
|
br i1 %4251, label %975, label %972 |
|
|
|
4252: ; preds = %1026 |
|
%4253 = addrspacecast ptr %1037 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4253) |
|
unreachable |
|
|
|
4254: ; preds = %1026 |
|
%4255 = sdiv i64 %1033, 8 |
|
%4256 = add i64 1, %4255 |
|
%4257 = sub i64 %4256, 1 |
|
%4258 = icmp sle i64 1, %4257 |
|
%4259 = xor i1 %4258, true |
|
br i1 %4259, label %1041, label %1038 |
|
|
|
4260: ; preds = %1092 |
|
%4261 = addrspacecast ptr %1103 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4261) |
|
unreachable |
|
|
|
4262: ; preds = %1092 |
|
%4263 = sdiv i64 %1099, 8 |
|
%4264 = add i64 1, %4263 |
|
%4265 = sub i64 %4264, 1 |
|
%4266 = icmp sle i64 1, %4265 |
|
%4267 = xor i1 %4266, true |
|
br i1 %4267, label %1107, label %1104 |
|
|
|
4268: ; preds = %1158 |
|
%4269 = addrspacecast ptr %1169 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4269) |
|
unreachable |
|
|
|
4270: ; preds = %1158 |
|
%4271 = sdiv i64 %1165, 8 |
|
%4272 = add i64 1, %4271 |
|
%4273 = sub i64 %4272, 1 |
|
%4274 = icmp sle i64 1, %4273 |
|
%4275 = xor i1 %4274, true |
|
br i1 %4275, label %1173, label %1170 |
|
|
|
4276: ; preds = %1224 |
|
%4277 = addrspacecast ptr %1235 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4277) |
|
unreachable |
|
|
|
4278: ; preds = %1224 |
|
%4279 = sdiv i64 %1231, 8 |
|
%4280 = add i64 1, %4279 |
|
%4281 = sub i64 %4280, 1 |
|
%4282 = icmp sle i64 1, %4281 |
|
%4283 = xor i1 %4282, true |
|
br i1 %4283, label %1239, label %1236 |
|
|
|
4284: ; preds = %1290 |
|
%4285 = addrspacecast ptr %1301 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4285) |
|
unreachable |
|
|
|
4286: ; preds = %1290 |
|
%4287 = sdiv i64 %1297, 8 |
|
%4288 = add i64 1, %4287 |
|
%4289 = sub i64 %4288, 1 |
|
%4290 = icmp sle i64 1, %4289 |
|
%4291 = xor i1 %4290, true |
|
br i1 %4291, label %1305, label %1302 |
|
|
|
4292: ; preds = %1356 |
|
%4293 = addrspacecast ptr %1367 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4293) |
|
unreachable |
|
|
|
4294: ; preds = %1356 |
|
%4295 = sdiv i64 %1363, 8 |
|
%4296 = add i64 1, %4295 |
|
%4297 = sub i64 %4296, 1 |
|
%4298 = icmp sle i64 1, %4297 |
|
%4299 = xor i1 %4298, true |
|
br i1 %4299, label %1371, label %1368 |
|
|
|
4300: ; preds = %1422 |
|
%4301 = addrspacecast ptr %1433 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4301) |
|
unreachable |
|
|
|
4302: ; preds = %1422 |
|
%4303 = sdiv i64 %1429, 8 |
|
%4304 = add i64 1, %4303 |
|
%4305 = sub i64 %4304, 1 |
|
%4306 = icmp sle i64 1, %4305 |
|
%4307 = xor i1 %4306, true |
|
br i1 %4307, label %1437, label %1434 |
|
|
|
4308: ; preds = %1488 |
|
%4309 = addrspacecast ptr %1499 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4309) |
|
unreachable |
|
|
|
4310: ; preds = %1488 |
|
%4311 = sdiv i64 %1495, 8 |
|
%4312 = add i64 1, %4311 |
|
%4313 = sub i64 %4312, 1 |
|
%4314 = icmp sle i64 1, %4313 |
|
%4315 = xor i1 %4314, true |
|
br i1 %4315, label %1503, label %1500 |
|
|
|
4316: ; preds = %1554 |
|
%4317 = addrspacecast ptr %1565 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4317) |
|
unreachable |
|
|
|
4318: ; preds = %1554 |
|
%4319 = sdiv i64 %1561, 8 |
|
%4320 = add i64 1, %4319 |
|
%4321 = sub i64 %4320, 1 |
|
%4322 = icmp sle i64 1, %4321 |
|
%4323 = xor i1 %4322, true |
|
br i1 %4323, label %1569, label %1566 |
|
|
|
4324: ; preds = %1620 |
|
%4325 = addrspacecast ptr %1631 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4325) |
|
unreachable |
|
|
|
4326: ; preds = %1620 |
|
%4327 = sdiv i64 %1627, 8 |
|
%4328 = add i64 1, %4327 |
|
%4329 = sub i64 %4328, 1 |
|
%4330 = icmp sle i64 1, %4329 |
|
%4331 = xor i1 %4330, true |
|
br i1 %4331, label %1635, label %1632 |
|
|
|
4332: ; preds = %1686 |
|
%4333 = addrspacecast ptr %1697 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4333) |
|
unreachable |
|
|
|
4334: ; preds = %1686 |
|
%4335 = sdiv i64 %1693, 8 |
|
%4336 = add i64 1, %4335 |
|
%4337 = sub i64 %4336, 1 |
|
%4338 = icmp sle i64 1, %4337 |
|
%4339 = xor i1 %4338, true |
|
br i1 %4339, label %1701, label %1698 |
|
|
|
4340: ; preds = %1752 |
|
%4341 = addrspacecast ptr %1763 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4341) |
|
unreachable |
|
|
|
4342: ; preds = %1752 |
|
%4343 = sdiv i64 %1759, 8 |
|
%4344 = add i64 1, %4343 |
|
%4345 = sub i64 %4344, 1 |
|
%4346 = icmp sle i64 1, %4345 |
|
%4347 = xor i1 %4346, true |
|
br i1 %4347, label %1767, label %1764 |
|
|
|
4348: ; preds = %2183 |
|
%4349 = addrspacecast ptr %2195 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4349) |
|
unreachable |
|
|
|
4350: ; preds = %2183 |
|
%4351 = sdiv i64 %2191, 8 |
|
%4352 = add i64 1, %4351 |
|
%4353 = sub i64 %4352, 1 |
|
%4354 = icmp sle i64 1, %4353 |
|
%4355 = xor i1 %4354, true |
|
br i1 %4355, label %2197, label %2196 |
|
|
|
4356: ; preds = %2219 |
|
%4357 = addrspacecast ptr %2230 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4357) |
|
unreachable |
|
|
|
4358: ; preds = %2219 |
|
%4359 = sdiv i64 %2226, 8 |
|
%4360 = add i64 1, %4359 |
|
%4361 = sub i64 %4360, 1 |
|
%4362 = icmp sle i64 1, %4361 |
|
%4363 = xor i1 %4362, true |
|
br i1 %4363, label %2232, label %2231 |
|
|
|
4364: ; preds = %2240 |
|
%4365 = addrspacecast ptr %2251 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4365) |
|
unreachable |
|
|
|
4366: ; preds = %2240 |
|
%4367 = sdiv i64 %2247, 8 |
|
%4368 = add i64 1, %4367 |
|
%4369 = sub i64 %4368, 1 |
|
%4370 = icmp sle i64 1, %4369 |
|
%4371 = xor i1 %4370, true |
|
br i1 %4371, label %2253, label %2252 |
|
|
|
4372: ; preds = %2299 |
|
%4373 = addrspacecast ptr %2310 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4373) |
|
unreachable |
|
|
|
4374: ; preds = %2299 |
|
%4375 = sdiv i64 %2306, 8 |
|
%4376 = add i64 1, %4375 |
|
%4377 = sub i64 %4376, 1 |
|
%4378 = icmp sle i64 1, %4377 |
|
%4379 = xor i1 %4378, true |
|
br i1 %4379, label %2314, label %2311 |
|
|
|
4380: ; preds = %2372 |
|
%4381 = addrspacecast ptr %2383 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4381) |
|
unreachable |
|
|
|
4382: ; preds = %2372 |
|
%4383 = sdiv i64 %2379, 8 |
|
%4384 = add i64 1, %4383 |
|
%4385 = sub i64 %4384, 1 |
|
%4386 = icmp sle i64 1, %4385 |
|
%4387 = xor i1 %4386, true |
|
br i1 %4387, label %2387, label %2384 |
|
|
|
4388: ; preds = %2445 |
|
%4389 = addrspacecast ptr %2456 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4389) |
|
unreachable |
|
|
|
4390: ; preds = %2445 |
|
%4391 = sdiv i64 %2452, 8 |
|
%4392 = add i64 1, %4391 |
|
%4393 = sub i64 %4392, 1 |
|
%4394 = icmp sle i64 1, %4393 |
|
%4395 = xor i1 %4394, true |
|
br i1 %4395, label %2460, label %2457 |
|
|
|
4396: ; preds = %2518 |
|
%4397 = addrspacecast ptr %2529 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4397) |
|
unreachable |
|
|
|
4398: ; preds = %2518 |
|
%4399 = sdiv i64 %2525, 8 |
|
%4400 = add i64 1, %4399 |
|
%4401 = sub i64 %4400, 1 |
|
%4402 = icmp sle i64 1, %4401 |
|
%4403 = xor i1 %4402, true |
|
br i1 %4403, label %2533, label %2530 |
|
|
|
4404: ; preds = %2591 |
|
%4405 = addrspacecast ptr %2602 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4405) |
|
unreachable |
|
|
|
4406: ; preds = %2591 |
|
%4407 = sdiv i64 %2598, 8 |
|
%4408 = add i64 1, %4407 |
|
%4409 = sub i64 %4408, 1 |
|
%4410 = icmp sle i64 1, %4409 |
|
%4411 = xor i1 %4410, true |
|
br i1 %4411, label %2606, label %2603 |
|
|
|
4412: ; preds = %2664 |
|
%4413 = addrspacecast ptr %2675 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4413) |
|
unreachable |
|
|
|
4414: ; preds = %2664 |
|
%4415 = sdiv i64 %2671, 8 |
|
%4416 = add i64 1, %4415 |
|
%4417 = sub i64 %4416, 1 |
|
%4418 = icmp sle i64 1, %4417 |
|
%4419 = xor i1 %4418, true |
|
br i1 %4419, label %2679, label %2676 |
|
|
|
4420: ; preds = %2737 |
|
%4421 = addrspacecast ptr %2748 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4421) |
|
unreachable |
|
|
|
4422: ; preds = %2737 |
|
%4423 = sdiv i64 %2744, 8 |
|
%4424 = add i64 1, %4423 |
|
%4425 = sub i64 %4424, 1 |
|
%4426 = icmp sle i64 1, %4425 |
|
%4427 = xor i1 %4426, true |
|
br i1 %4427, label %2752, label %2749 |
|
|
|
4428: ; preds = %2810 |
|
%4429 = addrspacecast ptr %2821 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4429) |
|
unreachable |
|
|
|
4430: ; preds = %2810 |
|
%4431 = sdiv i64 %2817, 8 |
|
%4432 = add i64 1, %4431 |
|
%4433 = sub i64 %4432, 1 |
|
%4434 = icmp sle i64 1, %4433 |
|
%4435 = xor i1 %4434, true |
|
br i1 %4435, label %2825, label %2822 |
|
|
|
4436: ; preds = %2883 |
|
%4437 = addrspacecast ptr %2894 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4437) |
|
unreachable |
|
|
|
4438: ; preds = %2883 |
|
%4439 = sdiv i64 %2890, 8 |
|
%4440 = add i64 1, %4439 |
|
%4441 = sub i64 %4440, 1 |
|
%4442 = icmp sle i64 1, %4441 |
|
%4443 = xor i1 %4442, true |
|
br i1 %4443, label %2898, label %2895 |
|
|
|
4444: ; preds = %2956 |
|
%4445 = addrspacecast ptr %2967 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4445) |
|
unreachable |
|
|
|
4446: ; preds = %2956 |
|
%4447 = sdiv i64 %2963, 8 |
|
%4448 = add i64 1, %4447 |
|
%4449 = sub i64 %4448, 1 |
|
%4450 = icmp sle i64 1, %4449 |
|
%4451 = xor i1 %4450, true |
|
br i1 %4451, label %2971, label %2968 |
|
|
|
4452: ; preds = %3029 |
|
%4453 = addrspacecast ptr %3040 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4453) |
|
unreachable |
|
|
|
4454: ; preds = %3029 |
|
%4455 = sdiv i64 %3036, 8 |
|
%4456 = add i64 1, %4455 |
|
%4457 = sub i64 %4456, 1 |
|
%4458 = icmp sle i64 1, %4457 |
|
%4459 = xor i1 %4458, true |
|
br i1 %4459, label %3044, label %3041 |
|
|
|
4460: ; preds = %3102 |
|
%4461 = addrspacecast ptr %3113 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4461) |
|
unreachable |
|
|
|
4462: ; preds = %3102 |
|
%4463 = sdiv i64 %3109, 8 |
|
%4464 = add i64 1, %4463 |
|
%4465 = sub i64 %4464, 1 |
|
%4466 = icmp sle i64 1, %4465 |
|
%4467 = xor i1 %4466, true |
|
br i1 %4467, label %3117, label %3114 |
|
|
|
4468: ; preds = %3175 |
|
%4469 = addrspacecast ptr %3186 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4469) |
|
unreachable |
|
|
|
4470: ; preds = %3175 |
|
%4471 = sdiv i64 %3182, 8 |
|
%4472 = add i64 1, %4471 |
|
%4473 = sub i64 %4472, 1 |
|
%4474 = icmp sle i64 1, %4473 |
|
%4475 = xor i1 %4474, true |
|
br i1 %4475, label %3190, label %3187 |
|
|
|
4476: ; preds = %3248 |
|
%4477 = addrspacecast ptr %3259 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4477) |
|
unreachable |
|
|
|
4478: ; preds = %3248 |
|
%4479 = sdiv i64 %3255, 8 |
|
%4480 = add i64 1, %4479 |
|
%4481 = sub i64 %4480, 1 |
|
%4482 = icmp sle i64 1, %4481 |
|
%4483 = xor i1 %4482, true |
|
br i1 %4483, label %3263, label %3260 |
|
|
|
4484: ; preds = %3321 |
|
%4485 = addrspacecast ptr %3332 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4485) |
|
unreachable |
|
|
|
4486: ; preds = %3321 |
|
%4487 = sdiv i64 %3328, 8 |
|
%4488 = add i64 1, %4487 |
|
%4489 = sub i64 %4488, 1 |
|
%4490 = icmp sle i64 1, %4489 |
|
%4491 = xor i1 %4490, true |
|
br i1 %4491, label %3336, label %3333 |
|
|
|
4492: ; preds = %3394 |
|
%4493 = addrspacecast ptr %3405 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4493) |
|
unreachable |
|
|
|
4494: ; preds = %3394 |
|
%4495 = sdiv i64 %3401, 8 |
|
%4496 = add i64 1, %4495 |
|
%4497 = sub i64 %4496, 1 |
|
%4498 = icmp sle i64 1, %4497 |
|
%4499 = xor i1 %4498, true |
|
br i1 %4499, label %3409, label %3406 |
|
|
|
4500: ; preds = %3467 |
|
%4501 = addrspacecast ptr %3478 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4501) |
|
unreachable |
|
|
|
4502: ; preds = %3467 |
|
%4503 = sdiv i64 %3474, 8 |
|
%4504 = add i64 1, %4503 |
|
%4505 = sub i64 %4504, 1 |
|
%4506 = icmp sle i64 1, %4505 |
|
%4507 = xor i1 %4506, true |
|
br i1 %4507, label %3482, label %3479 |
|
|
|
4508: ; preds = %3540 |
|
%4509 = addrspacecast ptr %3551 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4509) |
|
unreachable |
|
|
|
4510: ; preds = %3540 |
|
%4511 = sdiv i64 %3547, 8 |
|
%4512 = add i64 1, %4511 |
|
%4513 = sub i64 %4512, 1 |
|
%4514 = icmp sle i64 1, %4513 |
|
%4515 = xor i1 %4514, true |
|
br i1 %4515, label %3555, label %3552 |
|
|
|
4516: ; preds = %3613 |
|
%4517 = addrspacecast ptr %3624 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4517) |
|
unreachable |
|
|
|
4518: ; preds = %3613 |
|
%4519 = sdiv i64 %3620, 8 |
|
%4520 = add i64 1, %4519 |
|
%4521 = sub i64 %4520, 1 |
|
%4522 = icmp sle i64 1, %4521 |
|
%4523 = xor i1 %4522, true |
|
br i1 %4523, label %3628, label %3625 |
|
|
|
4524: ; preds = %3686 |
|
%4525 = addrspacecast ptr %3697 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4525) |
|
unreachable |
|
|
|
4526: ; preds = %3686 |
|
%4527 = sdiv i64 %3693, 8 |
|
%4528 = add i64 1, %4527 |
|
%4529 = sub i64 %4528, 1 |
|
%4530 = icmp sle i64 1, %4529 |
|
%4531 = xor i1 %4530, true |
|
br i1 %4531, label %3701, label %3698 |
|
|
|
4532: ; preds = %3759 |
|
%4533 = addrspacecast ptr %3770 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4533) |
|
unreachable |
|
|
|
4534: ; preds = %3759 |
|
%4535 = sdiv i64 %3766, 8 |
|
%4536 = add i64 1, %4535 |
|
%4537 = sub i64 %4536, 1 |
|
%4538 = icmp sle i64 1, %4537 |
|
%4539 = xor i1 %4538, true |
|
br i1 %4539, label %3774, label %3771 |
|
|
|
4540: ; preds = %3832 |
|
%4541 = addrspacecast ptr %3843 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4541) |
|
unreachable |
|
|
|
4542: ; preds = %3832 |
|
%4543 = sdiv i64 %3839, 8 |
|
%4544 = add i64 1, %4543 |
|
%4545 = sub i64 %4544, 1 |
|
%4546 = icmp sle i64 1, %4545 |
|
%4547 = xor i1 %4546, true |
|
br i1 %4547, label %3847, label %3844 |
|
|
|
4548: ; preds = %3905 |
|
%4549 = addrspacecast ptr %3916 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4549) |
|
unreachable |
|
|
|
4550: ; preds = %3905 |
|
%4551 = sdiv i64 %3912, 8 |
|
%4552 = add i64 1, %4551 |
|
%4553 = sub i64 %4552, 1 |
|
%4554 = icmp sle i64 1, %4553 |
|
%4555 = xor i1 %4554, true |
|
br i1 %4555, label %3920, label %3917 |
|
|
|
4556: ; preds = %3978 |
|
%4557 = addrspacecast ptr %3989 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4557) |
|
unreachable |
|
|
|
4558: ; preds = %3978 |
|
%4559 = sdiv i64 %3985, 8 |
|
%4560 = add i64 1, %4559 |
|
%4561 = sub i64 %4560, 1 |
|
%4562 = icmp sle i64 1, %4561 |
|
%4563 = xor i1 %4562, true |
|
br i1 %4563, label %3993, label %3990 |
|
|
|
4564: ; preds = %4051 |
|
%4565 = addrspacecast ptr %4062 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4565) |
|
unreachable |
|
|
|
4566: ; preds = %4051 |
|
%4567 = sdiv i64 %4058, 8 |
|
%4568 = add i64 1, %4567 |
|
%4569 = sub i64 %4568, 1 |
|
%4570 = icmp sle i64 1, %4569 |
|
%4571 = xor i1 %4570, true |
|
br i1 %4571, label %4066, label %4063 |
|
|
|
4572: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4573: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4574: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4575: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4576: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4577: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4578: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4579: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4580: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4581: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4582: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4583: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4584: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4585: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4586: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4587: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4588: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4589: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4590: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4591: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4592: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4593: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4594: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4595: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4596: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4597: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4598: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4599: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4600: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4601: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4602: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4603: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4604: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4605: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4606: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4607: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4608: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4609: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4610: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4611: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4612: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4613: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4614: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4615: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4616: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4617: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4618: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4619: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4620: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4621: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4622: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4623: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4624: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4625: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4626: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4627: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4628: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4629: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4630: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4631: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4632: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4633: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4634: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4635: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4636: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4637: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4638: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4639: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4640: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4641: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4642: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4643: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4644: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4645: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4646: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4647: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4648: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4649: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4650: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4651: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4652: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4653: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4654: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4655: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4656: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4657: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4658: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4659: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4660: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4661: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4662: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4663: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4664: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4665: ; No predecessors! |
|
call void @llvm.trap() |
|
unreachable |
|
|
|
4666: ; preds = %301 |
|
%4667 = addrspacecast ptr %303 to ptr addrspace(12) |
|
call void @ijl_throw(ptr addrspace(12) %4667) |
|
unreachable |
|
|
|
4668: ; preds = %301 |
|
%4669 = icmp eq i64 %296, -1 |
|
br i1 %4669, label %4670, label %4671 |
|
|
|
4670: ; preds = %4668 |
|
br label %4673 |
|
|
|
4671: ; preds = %4668 |
|
%4672 = srem i64 %295, %296 |
|
br label %4673 |
|
|
|
4673: ; preds = %4671, %4670 |
|
%4674 = phi i64 [ 0, %4670 ], [ %4672, %4671 ] |
|
br label %304 |
|
|
|
4675: ; preds = %340 |
|
br label %4676 |
|
|
|
4676: ; preds = %4675, %340 |
|
%4677 = phi i1 [ false, %340 ], [ true, %4675 ] |
|
br i1 %4677, label %4678, label %4679 |
|
|
|
4678: ; preds = %4676 |
|
call void @llvm.memcpy.p0.p11.i64(ptr align 8 %7, ptr addrspace(11) align 8 %2, i64 200, i1 false) |
|
br label %4679 |
|
|
|
4679: ; preds = %4678, %4676 |
|
br label %342 |
|
|
|
4680: ; preds = %2181 |
|
br label %4681 |
|
|
|
4681: ; preds = %4680, %2181 |
|
%4682 = phi i1 [ false, %2181 ], [ true, %4680 ] |
|
br i1 %4682, label %4683, label %4684 |
|
|
|
4683: ; preds = %4681 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %7, ptr align 8 %77, i64 200, i1 false) |
|
br label %4684 |
|
|
|
4684: ; preds = %4683, %4681 |
|
br label %342 |
|
|
|
4685: ; preds = %2179 |
|
br label %4686 |
|
|
|
4686: ; preds = %4685, %2179 |
|
%4687 = phi i1 [ false, %2179 ], [ true, %4685 ] |
|
br i1 %4687, label %4688, label %4689 |
|
|
|
4688: ; preds = %4686 |
|
call void @llvm.memcpy.p0.p0.i64(ptr align 8 %104, ptr align 8 %77, i64 200, i1 false) |
|
br label %4689 |
|
|
|
4689: ; preds = %4688, %4686 |
|
br label %2183 |
|
|
|
4690: ; preds = %338 |
|
br label %4691 |
|
|
|
4691: ; preds = %4690, %338 |
|
%4692 = phi i1 [ false, %338 ], [ true, %4690 ] |
|
br i1 %4692, label %4693, label %4694 |
|
|
|
4693: ; preds = %4691 |
|
call void @llvm.memcpy.p0.p11.i64(ptr align 8 %104, ptr addrspace(11) align 8 %2, i64 200, i1 false) |
|
br label %4694 |
|
|
|
4694: ; preds = %4693, %4691 |
|
br label %2183 |
|
} |
|
|
|
; Function Attrs: nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) |
|
declare void @llvm.lifetime.end.p0(ptr captures(none)) #4 |
|
|
|
; Function Attrs: noinline noreturn |
|
declare hidden swiftcc void @throw_boundserror_0(ptr nonnull swiftself, ptr addrspace(11) noundef nonnull readonly align 8 captures(none) dereferenceable(48), ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8), i64 signext) #6 |
|
|
|
; Function Attrs: noinline noreturn |
|
declare hidden swiftcc void @throw_boundserror_1(ptr nonnull swiftself, ptr addrspace(11) noundef nonnull readonly align 8 captures(none) dereferenceable(80), ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8), i64 signext) #6 |
|
|
|
; Function Attrs: noinline noreturn |
|
declare hidden swiftcc void @throw_boundserror_2(ptr nonnull swiftself, ptr addrspace(11) noundef nonnull readonly align 8 captures(none) dereferenceable(48), ptr noundef nonnull readonly align 8 captures(none) dereferenceable(8), ptr addrspace(11) noundef nonnull readonly align 8 captures(none) dereferenceable(16)) #6 |
|
|
|
; Function Attrs: naked noinline |
|
declare hidden swiftcc void @jlpkg_overflow_case_0() #7 |
|
|
|
attributes #0 = { nocallback nofree nounwind willreturn memory(argmem: write) } |
|
attributes #1 = { noreturn } |
|
attributes #2 = { nocallback nofree nounwind willreturn memory(argmem: readwrite) } |
|
attributes #3 = { cold noreturn nounwind memory(inaccessiblemem: write) } |
|
attributes #4 = { nocallback nofree nosync nounwind willreturn memory(argmem: readwrite) } |
|
attributes #5 = { "frame-pointer"="all" "probe-stack"="inline-asm" } |
|
attributes #6 = { noinline noreturn "frame-pointer"="all" "probe-stack"="inline-asm" } |
|
attributes #7 = { naked noinline "frame-pointer"="none" "thunk" } |