| 1 | target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" |
|---|
| 2 | target triple = "x86_64-apple-darwin10.0.0" |
|---|
| 3 | declare ccc i8* @memcpy(i8*, i8*, i64) |
|---|
| 4 | declare ccc i8* @memmove(i8*, i8*, i64) |
|---|
| 5 | declare ccc i8* @memset(i8*, i64, i64) |
|---|
| 6 | declare ccc i64 @newSpark(i8*, i8*) |
|---|
| 7 | %__stginit_Main_struct = type <{}> |
|---|
| 8 | @__stginit_Main = global %__stginit_Main_struct<{}> |
|---|
| 9 | %Main_foo1_closure_struct = type <{i64}> |
|---|
| 10 | @Main_foo1_closure = global %Main_foo1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_foo1_info to i64)}> |
|---|
| 11 | %Main_foo_closure_struct = type <{i64, i64, i64, i64}> |
|---|
| 12 | @Main_foo_closure = global %Main_foo_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_foo_info to i64), i64 0, i64 0, i64 0}> |
|---|
| 13 | %Main_main1_srt_struct = type <{i64, i64, i64}> |
|---|
| 14 | @Main_main1_srt = internal constant %Main_main1_srt_struct<{i64 ptrtoint ([0 x i64]* @base_GHCziShow_shows18_closure to i64), i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziFD_stdout_closure to i64), i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hPutStr2_closure to i64)}> |
|---|
| 15 | @base_GHCziShow_shows18_closure = external global [0 x i64] |
|---|
| 16 | @base_GHCziIOziHandleziFD_stdout_closure = external global [0 x i64] |
|---|
| 17 | @base_GHCziIOziHandleziText_hPutStr2_closure = external global [0 x i64] |
|---|
| 18 | %Main_main1_closure_struct = type <{i64, i64}> |
|---|
| 19 | @Main_main1_closure = global %Main_main1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_main1_info to i64), i64 0}> |
|---|
| 20 | %Main_main_srt_struct = type <{i64}> |
|---|
| 21 | @Main_main_srt = internal constant %Main_main_srt_struct<{i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure to i64)}> |
|---|
| 22 | %Main_main_closure_struct = type <{i64, i64}> |
|---|
| 23 | @Main_main_closure = global %Main_main_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_main_info to i64), i64 0}> |
|---|
| 24 | %Main_main2_srt_struct = type <{i64, i64}> |
|---|
| 25 | @Main_main2_srt = internal constant %Main_main2_srt_struct<{i64 ptrtoint ([0 x i64]* @base_GHCziTopHandler_runMainIO1_closure to i64), i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure to i64)}> |
|---|
| 26 | @base_GHCziTopHandler_runMainIO1_closure = external global [0 x i64] |
|---|
| 27 | %Main_main2_closure_struct = type <{i64, i64}> |
|---|
| 28 | @Main_main2_closure = global %Main_main2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_main2_info to i64), i64 0}> |
|---|
| 29 | %ZCMain_main_srt_struct = type <{i64}> |
|---|
| 30 | @ZCMain_main_srt = internal constant %ZCMain_main_srt_struct<{i64 ptrtoint (%Main_main2_closure_struct* @Main_main2_closure to i64)}> |
|---|
| 31 | %ZCMain_main_closure_struct = type <{i64, i64}> |
|---|
| 32 | @ZCMain_main_closure = global %ZCMain_main_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @ZCMain_main_info to i64), i64 0}> |
|---|
| 33 | %s2ho_info_struct = type <{i64, i64, i64}> |
|---|
| 34 | @s2ho_info_itable = internal constant %s2ho_info_struct<{i64 8589934596, i64 1, i64 10}>, section "X98A__STRIP,__me1", align 8 |
|---|
| 35 | define internal cc 10 void @s2ho_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me2" |
|---|
| 36 | { |
|---|
| 37 | c2kv: |
|---|
| 38 | %Base_Var = alloca i64*, i32 1 |
|---|
| 39 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 40 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 41 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 42 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 43 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 44 | %R1_Var = alloca i64, i32 1 |
|---|
| 45 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 46 | %R2_Var = alloca i64, i32 1 |
|---|
| 47 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 48 | %R3_Var = alloca i64, i32 1 |
|---|
| 49 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 50 | %R4_Var = alloca i64, i32 1 |
|---|
| 51 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 52 | %R5_Var = alloca i64, i32 1 |
|---|
| 53 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 54 | %R6_Var = alloca i64, i32 1 |
|---|
| 55 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 56 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 57 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 58 | %F1_Var = alloca float, i32 1 |
|---|
| 59 | store float %F1_Arg, float* %F1_Var |
|---|
| 60 | %F2_Var = alloca float, i32 1 |
|---|
| 61 | store float %F2_Arg, float* %F2_Var |
|---|
| 62 | %F3_Var = alloca float, i32 1 |
|---|
| 63 | store float %F3_Arg, float* %F3_Var |
|---|
| 64 | %F4_Var = alloca float, i32 1 |
|---|
| 65 | store float %F4_Arg, float* %F4_Var |
|---|
| 66 | %D1_Var = alloca double, i32 1 |
|---|
| 67 | store double %D1_Arg, double* %D1_Var |
|---|
| 68 | %D2_Var = alloca double, i32 1 |
|---|
| 69 | store double %D2_Arg, double* %D2_Var |
|---|
| 70 | %ls2hE = alloca i64, i32 1 |
|---|
| 71 | %lc2i7 = alloca i64, i32 1 |
|---|
| 72 | %ls2hD = alloca i64, i32 1 |
|---|
| 73 | %ls2hB = alloca i64, i32 1 |
|---|
| 74 | %ls2hC = alloca i64, i32 1 |
|---|
| 75 | %lc2iy = alloca i64, i32 1 |
|---|
| 76 | %lc2iG = alloca i64, i32 1 |
|---|
| 77 | %ls2hG = alloca i64, i32 1 |
|---|
| 78 | %ls2hH = alloca i64, i32 1 |
|---|
| 79 | %lc2jd = alloca i64, i32 1 |
|---|
| 80 | %lc2jl = alloca i64, i32 1 |
|---|
| 81 | %ls2hF = alloca i64, i32 1 |
|---|
| 82 | %ln2kw = load i64* %R2_Var |
|---|
| 83 | %ln2kx = mul i64 2, %ln2kw |
|---|
| 84 | store i64 %ln2kx, i64* %ls2hE |
|---|
| 85 | %ln2ky = load i64* %ls2hE |
|---|
| 86 | %ln2kz = icmp slt i64 %ln2ky, 1 |
|---|
| 87 | %ln2kA = zext i1 %ln2kz to i64 |
|---|
| 88 | store i64 %ln2kA, i64* %lc2i7 |
|---|
| 89 | %ln2kB = load i64* %lc2i7 |
|---|
| 90 | %ln2kC = icmp uge i64 %ln2kB, 1 |
|---|
| 91 | br i1 %ln2kC, label %c2kE, label %n2kF |
|---|
| 92 | n2kF: |
|---|
| 93 | %ln2kG = load i64* %R2_Var |
|---|
| 94 | %ln2kH = sub i64 1, %ln2kG |
|---|
| 95 | store i64 %ln2kH, i64* %ls2hD |
|---|
| 96 | %ln2kI = load i64* %ls2hD |
|---|
| 97 | %ln2kJ = mul i64 %ln2kI, 8 |
|---|
| 98 | store i64 %ln2kJ, i64* %ls2hB |
|---|
| 99 | %ln2kK = load i64* %R2_Var |
|---|
| 100 | %ln2kL = mul i64 %ln2kK, 8 |
|---|
| 101 | store i64 %ln2kL, i64* %ls2hC |
|---|
| 102 | %ln2kM = load i64* %R1_Var |
|---|
| 103 | %ln2kN = add i64 %ln2kM, 6 |
|---|
| 104 | %ln2kO = inttoptr i64 %ln2kN to i64* |
|---|
| 105 | %ln2kP = load i64* %ln2kO |
|---|
| 106 | %ln2kQ = add i64 %ln2kP, 16 |
|---|
| 107 | %ln2kR = load i64* %ls2hC |
|---|
| 108 | %ln2kS = add i64 %ln2kQ, %ln2kR |
|---|
| 109 | store i64 %ln2kS, i64* %lc2iy |
|---|
| 110 | %ln2kT = load i64* %R1_Var |
|---|
| 111 | %ln2kU = add i64 %ln2kT, 6 |
|---|
| 112 | %ln2kV = inttoptr i64 %ln2kU to i64* |
|---|
| 113 | %ln2kW = load i64* %ln2kV |
|---|
| 114 | %ln2kX = add i64 %ln2kW, 16 |
|---|
| 115 | store i64 %ln2kX, i64* %lc2iG |
|---|
| 116 | %ln2kY = load i64* %R1_Var |
|---|
| 117 | %ln2kZ = add i64 %ln2kY, 6 |
|---|
| 118 | %ln2l0 = inttoptr i64 %ln2kZ to i64* |
|---|
| 119 | %ln2l1 = load i64* %ln2l0 |
|---|
| 120 | %ln2l2 = load i64* %R1_Var |
|---|
| 121 | %ln2l3 = add i64 %ln2l2, 6 |
|---|
| 122 | %ln2l4 = inttoptr i64 %ln2l3 to i64* |
|---|
| 123 | %ln2l5 = load i64* %ln2l4 |
|---|
| 124 | %ln2l6 = icmp eq i64 %ln2l1, %ln2l5 |
|---|
| 125 | br i1 %ln2l6, label %c2l8, label %n2l9 |
|---|
| 126 | n2l9: |
|---|
| 127 | %ln2la = load i64* %lc2iy |
|---|
| 128 | %ln2lb = inttoptr i64 %ln2la to i8* |
|---|
| 129 | %ln2lc = load i64* %lc2iG |
|---|
| 130 | %ln2ld = inttoptr i64 %ln2lc to i8* |
|---|
| 131 | %ln2le = load i64* %ls2hB |
|---|
| 132 | %ln2lf = trunc i64 1 to i32 |
|---|
| 133 | store i64 undef, i64* %R3_Var |
|---|
| 134 | store i64 undef, i64* %R4_Var |
|---|
| 135 | store i64 undef, i64* %R5_Var |
|---|
| 136 | store i64 undef, i64* %R6_Var |
|---|
| 137 | store float undef, float* %F1_Var |
|---|
| 138 | store float undef, float* %F2_Var |
|---|
| 139 | store float undef, float* %F3_Var |
|---|
| 140 | store float undef, float* %F4_Var |
|---|
| 141 | store double undef, double* %D1_Var |
|---|
| 142 | store double undef, double* %D2_Var |
|---|
| 143 | call ccc void (i8*,i8*,i64,i32,i1)* @llvm.memcpy.p0i8.p0i8.i64( i8* %ln2lb, i8* %ln2ld, i64 %ln2le, i32 %ln2lf, i1 0 ) |
|---|
| 144 | br label %c2lh |
|---|
| 145 | c2kE: |
|---|
| 146 | %ln2li = load i64* %R2_Var |
|---|
| 147 | %ln2lj = mul i64 %ln2li, 8 |
|---|
| 148 | store i64 %ln2lj, i64* %ls2hG |
|---|
| 149 | %ln2lk = load i64* %R2_Var |
|---|
| 150 | %ln2ll = mul i64 %ln2lk, 8 |
|---|
| 151 | store i64 %ln2ll, i64* %ls2hH |
|---|
| 152 | %ln2lm = load i64* %R1_Var |
|---|
| 153 | %ln2ln = add i64 %ln2lm, 6 |
|---|
| 154 | %ln2lo = inttoptr i64 %ln2ln to i64* |
|---|
| 155 | %ln2lp = load i64* %ln2lo |
|---|
| 156 | %ln2lq = add i64 %ln2lp, 16 |
|---|
| 157 | %ln2lr = load i64* %ls2hH |
|---|
| 158 | %ln2ls = add i64 %ln2lq, %ln2lr |
|---|
| 159 | store i64 %ln2ls, i64* %lc2jd |
|---|
| 160 | %ln2lt = load i64* %R1_Var |
|---|
| 161 | %ln2lu = add i64 %ln2lt, 6 |
|---|
| 162 | %ln2lv = inttoptr i64 %ln2lu to i64* |
|---|
| 163 | %ln2lw = load i64* %ln2lv |
|---|
| 164 | %ln2lx = add i64 %ln2lw, 16 |
|---|
| 165 | store i64 %ln2lx, i64* %lc2jl |
|---|
| 166 | %ln2ly = load i64* %R1_Var |
|---|
| 167 | %ln2lz = add i64 %ln2ly, 6 |
|---|
| 168 | %ln2lA = inttoptr i64 %ln2lz to i64* |
|---|
| 169 | %ln2lB = load i64* %ln2lA |
|---|
| 170 | %ln2lC = load i64* %R1_Var |
|---|
| 171 | %ln2lD = add i64 %ln2lC, 6 |
|---|
| 172 | %ln2lE = inttoptr i64 %ln2lD to i64* |
|---|
| 173 | %ln2lF = load i64* %ln2lE |
|---|
| 174 | %ln2lG = icmp eq i64 %ln2lB, %ln2lF |
|---|
| 175 | br i1 %ln2lG, label %c2lI, label %n2lJ |
|---|
| 176 | n2lJ: |
|---|
| 177 | %ln2lK = load i64* %lc2jd |
|---|
| 178 | %ln2lL = inttoptr i64 %ln2lK to i8* |
|---|
| 179 | %ln2lM = load i64* %lc2jl |
|---|
| 180 | %ln2lN = inttoptr i64 %ln2lM to i8* |
|---|
| 181 | %ln2lO = load i64* %ls2hG |
|---|
| 182 | %ln2lP = trunc i64 1 to i32 |
|---|
| 183 | store i64 undef, i64* %R3_Var |
|---|
| 184 | store i64 undef, i64* %R4_Var |
|---|
| 185 | store i64 undef, i64* %R5_Var |
|---|
| 186 | store i64 undef, i64* %R6_Var |
|---|
| 187 | store float undef, float* %F1_Var |
|---|
| 188 | store float undef, float* %F2_Var |
|---|
| 189 | store float undef, float* %F3_Var |
|---|
| 190 | store float undef, float* %F4_Var |
|---|
| 191 | store double undef, double* %D1_Var |
|---|
| 192 | store double undef, double* %D2_Var |
|---|
| 193 | call ccc void (i8*,i8*,i64,i32,i1)* @llvm.memcpy.p0i8.p0i8.i64( i8* %ln2lL, i8* %ln2lN, i64 %ln2lO, i32 %ln2lP, i1 0 ) |
|---|
| 194 | br label %c2lR |
|---|
| 195 | c2lI: |
|---|
| 196 | %ln2lS = load i64* %lc2jd |
|---|
| 197 | %ln2lT = inttoptr i64 %ln2lS to i8* |
|---|
| 198 | %ln2lU = load i64* %lc2jl |
|---|
| 199 | %ln2lV = inttoptr i64 %ln2lU to i8* |
|---|
| 200 | %ln2lW = load i64* %ls2hG |
|---|
| 201 | %ln2lX = trunc i64 1 to i32 |
|---|
| 202 | store i64 undef, i64* %R3_Var |
|---|
| 203 | store i64 undef, i64* %R4_Var |
|---|
| 204 | store i64 undef, i64* %R5_Var |
|---|
| 205 | store i64 undef, i64* %R6_Var |
|---|
| 206 | store float undef, float* %F1_Var |
|---|
| 207 | store float undef, float* %F2_Var |
|---|
| 208 | store float undef, float* %F3_Var |
|---|
| 209 | store float undef, float* %F4_Var |
|---|
| 210 | store double undef, double* %D1_Var |
|---|
| 211 | store double undef, double* %D2_Var |
|---|
| 212 | call ccc void (i8*,i8*,i64,i32,i1)* @llvm.memmove.p0i8.p0i8.i64( i8* %ln2lT, i8* %ln2lV, i64 %ln2lW, i32 %ln2lX, i1 0 ) |
|---|
| 213 | br label %c2lR |
|---|
| 214 | c2lR: |
|---|
| 215 | %ln2lY = load i64* %R2_Var |
|---|
| 216 | %ln2lZ = mul i64 2, %ln2lY |
|---|
| 217 | store i64 %ln2lZ, i64* %ls2hF |
|---|
| 218 | %ln2m0 = load i64* %ls2hF |
|---|
| 219 | store i64 %ln2m0, i64* %R2_Var |
|---|
| 220 | %ln2m1 = load i64** %Base_Var |
|---|
| 221 | %ln2m2 = load i64** %Sp_Var |
|---|
| 222 | %ln2m3 = load i64** %Hp_Var |
|---|
| 223 | %ln2m4 = load i64* %R1_Var |
|---|
| 224 | %ln2m5 = load i64* %R2_Var |
|---|
| 225 | %ln2m6 = load i64* %R3_Var |
|---|
| 226 | %ln2m7 = load i64* %R4_Var |
|---|
| 227 | %ln2m8 = load i64* %R5_Var |
|---|
| 228 | %ln2m9 = load i64* %R6_Var |
|---|
| 229 | %ln2ma = load i64* %SpLim_Var |
|---|
| 230 | %ln2mb = load float* %F1_Var |
|---|
| 231 | %ln2mc = load float* %F2_Var |
|---|
| 232 | %ln2md = load float* %F3_Var |
|---|
| 233 | %ln2me = load float* %F4_Var |
|---|
| 234 | %ln2mf = load double* %D1_Var |
|---|
| 235 | %ln2mg = load double* %D2_Var |
|---|
| 236 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @s2ho_info( i64* %ln2m1, i64* %ln2m2, i64* %ln2m3, i64 %ln2m4, i64 %ln2m5, i64 %ln2m6, i64 %ln2m7, i64 %ln2m8, i64 %ln2m9, i64 %ln2ma, float %ln2mb, float %ln2mc, float %ln2md, float %ln2me, double %ln2mf, double %ln2mg ) nounwind |
|---|
| 237 | ret void |
|---|
| 238 | c2l8: |
|---|
| 239 | %ln2mh = load i64* %lc2iy |
|---|
| 240 | %ln2mi = inttoptr i64 %ln2mh to i8* |
|---|
| 241 | %ln2mj = load i64* %lc2iG |
|---|
| 242 | %ln2mk = inttoptr i64 %ln2mj to i8* |
|---|
| 243 | %ln2ml = load i64* %ls2hB |
|---|
| 244 | %ln2mm = trunc i64 1 to i32 |
|---|
| 245 | store i64 undef, i64* %R3_Var |
|---|
| 246 | store i64 undef, i64* %R4_Var |
|---|
| 247 | store i64 undef, i64* %R5_Var |
|---|
| 248 | store i64 undef, i64* %R6_Var |
|---|
| 249 | store float undef, float* %F1_Var |
|---|
| 250 | store float undef, float* %F2_Var |
|---|
| 251 | store float undef, float* %F3_Var |
|---|
| 252 | store float undef, float* %F4_Var |
|---|
| 253 | store double undef, double* %D1_Var |
|---|
| 254 | store double undef, double* %D2_Var |
|---|
| 255 | call ccc void (i8*,i8*,i64,i32,i1)* @llvm.memmove.p0i8.p0i8.i64( i8* %ln2mi, i8* %ln2mk, i64 %ln2ml, i32 %ln2mm, i1 0 ) |
|---|
| 256 | br label %c2lh |
|---|
| 257 | c2lh: |
|---|
| 258 | %ln2mn = ptrtoint [0 x i64]* @ghczmprim_GHCziTuple_Z0T_closure to i64 |
|---|
| 259 | %ln2mo = add i64 %ln2mn, 1 |
|---|
| 260 | store i64 %ln2mo, i64* %R1_Var |
|---|
| 261 | %ln2mp = load i64** %Sp_Var |
|---|
| 262 | %ln2mq = getelementptr inbounds i64* %ln2mp, i32 0 |
|---|
| 263 | %ln2mr = bitcast i64* %ln2mq to i64* |
|---|
| 264 | %ln2ms = load i64* %ln2mr |
|---|
| 265 | %ln2mt = inttoptr i64 %ln2ms to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* |
|---|
| 266 | %ln2mu = load i64** %Base_Var |
|---|
| 267 | %ln2mv = load i64** %Sp_Var |
|---|
| 268 | %ln2mw = load i64** %Hp_Var |
|---|
| 269 | %ln2mx = load i64* %R1_Var |
|---|
| 270 | %ln2my = load i64* %R2_Var |
|---|
| 271 | %ln2mz = load i64* %R3_Var |
|---|
| 272 | %ln2mA = load i64* %R4_Var |
|---|
| 273 | %ln2mB = load i64* %R5_Var |
|---|
| 274 | %ln2mC = load i64* %R6_Var |
|---|
| 275 | %ln2mD = load i64* %SpLim_Var |
|---|
| 276 | %ln2mE = load float* %F1_Var |
|---|
| 277 | %ln2mF = load float* %F2_Var |
|---|
| 278 | %ln2mG = load float* %F3_Var |
|---|
| 279 | %ln2mH = load float* %F4_Var |
|---|
| 280 | %ln2mI = load double* %D1_Var |
|---|
| 281 | %ln2mJ = load double* %D2_Var |
|---|
| 282 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln2mt( i64* %ln2mu, i64* %ln2mv, i64* %ln2mw, i64 %ln2mx, i64 %ln2my, i64 %ln2mz, i64 %ln2mA, i64 %ln2mB, i64 %ln2mC, i64 %ln2mD, float %ln2mE, float %ln2mF, float %ln2mG, float %ln2mH, double %ln2mI, double %ln2mJ ) nounwind |
|---|
| 283 | ret void |
|---|
| 284 | } |
|---|
| 285 | declare ccc void @llvm.memcpy.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1) |
|---|
| 286 | declare ccc void @llvm.memmove.p0i8.p0i8.i64(i8*, i8*, i64, i32, i1) |
|---|
| 287 | @ghczmprim_GHCziTuple_Z0T_closure = external global [0 x i64] |
|---|
| 288 | %s2hL_ret_struct = type <{i64, i64}> |
|---|
| 289 | @s2hL_info_itable = internal constant %s2hL_ret_struct<{i64 0, i64 32}>, section "X98A__STRIP,__me3", align 8 |
|---|
| 290 | define internal cc 10 void @s2hL_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me4" |
|---|
| 291 | { |
|---|
| 292 | c2ne: |
|---|
| 293 | %Base_Var = alloca i64*, i32 1 |
|---|
| 294 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 295 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 296 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 297 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 298 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 299 | %R1_Var = alloca i64, i32 1 |
|---|
| 300 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 301 | %R2_Var = alloca i64, i32 1 |
|---|
| 302 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 303 | %R3_Var = alloca i64, i32 1 |
|---|
| 304 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 305 | %R4_Var = alloca i64, i32 1 |
|---|
| 306 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 307 | %R5_Var = alloca i64, i32 1 |
|---|
| 308 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 309 | %R6_Var = alloca i64, i32 1 |
|---|
| 310 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 311 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 312 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 313 | %F1_Var = alloca float, i32 1 |
|---|
| 314 | store float %F1_Arg, float* %F1_Var |
|---|
| 315 | %F2_Var = alloca float, i32 1 |
|---|
| 316 | store float %F2_Arg, float* %F2_Var |
|---|
| 317 | %F3_Var = alloca float, i32 1 |
|---|
| 318 | store float %F3_Arg, float* %F3_Var |
|---|
| 319 | %F4_Var = alloca float, i32 1 |
|---|
| 320 | store float %F4_Arg, float* %F4_Var |
|---|
| 321 | %D1_Var = alloca double, i32 1 |
|---|
| 322 | store double %D1_Arg, double* %D1_Var |
|---|
| 323 | %D2_Var = alloca double, i32 1 |
|---|
| 324 | store double %D2_Arg, double* %D2_Var |
|---|
| 325 | %ln2nf = ptrtoint [0 x i64]* @ghczmprim_GHCziTuple_Z0T_closure to i64 |
|---|
| 326 | %ln2ng = add i64 %ln2nf, 1 |
|---|
| 327 | store i64 %ln2ng, i64* %R1_Var |
|---|
| 328 | %ln2nh = load i64** %Sp_Var |
|---|
| 329 | %ln2ni = getelementptr inbounds i64* %ln2nh, i32 1 |
|---|
| 330 | %ln2nj = ptrtoint i64* %ln2ni to i64 |
|---|
| 331 | %ln2nk = inttoptr i64 %ln2nj to i64* |
|---|
| 332 | store i64* %ln2nk, i64** %Sp_Var |
|---|
| 333 | %ln2nl = load i64** %Sp_Var |
|---|
| 334 | %ln2nm = getelementptr inbounds i64* %ln2nl, i32 0 |
|---|
| 335 | %ln2nn = bitcast i64* %ln2nm to i64* |
|---|
| 336 | %ln2no = load i64* %ln2nn |
|---|
| 337 | %ln2np = inttoptr i64 %ln2no to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* |
|---|
| 338 | %ln2nq = load i64** %Base_Var |
|---|
| 339 | %ln2nr = load i64** %Sp_Var |
|---|
| 340 | %ln2ns = load i64** %Hp_Var |
|---|
| 341 | %ln2nt = load i64* %R1_Var |
|---|
| 342 | %ln2nu = load i64* %R2_Var |
|---|
| 343 | %ln2nv = load i64* %R3_Var |
|---|
| 344 | %ln2nw = load i64* %R4_Var |
|---|
| 345 | %ln2nx = load i64* %R5_Var |
|---|
| 346 | %ln2ny = load i64* %R6_Var |
|---|
| 347 | %ln2nz = load i64* %SpLim_Var |
|---|
| 348 | %ln2nA = load float* %F1_Var |
|---|
| 349 | %ln2nB = load float* %F2_Var |
|---|
| 350 | %ln2nC = load float* %F3_Var |
|---|
| 351 | %ln2nD = load float* %F4_Var |
|---|
| 352 | %ln2nE = load double* %D1_Var |
|---|
| 353 | %ln2nF = load double* %D2_Var |
|---|
| 354 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln2np( i64* %ln2nq, i64* %ln2nr, i64* %ln2ns, i64 %ln2nt, i64 %ln2nu, i64 %ln2nv, i64 %ln2nw, i64 %ln2nx, i64 %ln2ny, i64 %ln2nz, float %ln2nA, float %ln2nB, float %ln2nC, float %ln2nD, double %ln2nE, double %ln2nF ) nounwind |
|---|
| 355 | ret void |
|---|
| 356 | } |
|---|
| 357 | %s2hK_ret_struct = type <{i64, i64}> |
|---|
| 358 | @s2hK_info_itable = internal constant %s2hK_ret_struct<{i64 0, i64 32}>, section "X98A__STRIP,__me5", align 8 |
|---|
| 359 | define internal cc 10 void @s2hK_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me6" |
|---|
| 360 | { |
|---|
| 361 | c2oI: |
|---|
| 362 | %Base_Var = alloca i64*, i32 1 |
|---|
| 363 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 364 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 365 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 366 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 367 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 368 | %R1_Var = alloca i64, i32 1 |
|---|
| 369 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 370 | %R2_Var = alloca i64, i32 1 |
|---|
| 371 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 372 | %R3_Var = alloca i64, i32 1 |
|---|
| 373 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 374 | %R4_Var = alloca i64, i32 1 |
|---|
| 375 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 376 | %R5_Var = alloca i64, i32 1 |
|---|
| 377 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 378 | %R6_Var = alloca i64, i32 1 |
|---|
| 379 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 380 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 381 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 382 | %F1_Var = alloca float, i32 1 |
|---|
| 383 | store float %F1_Arg, float* %F1_Var |
|---|
| 384 | %F2_Var = alloca float, i32 1 |
|---|
| 385 | store float %F2_Arg, float* %F2_Var |
|---|
| 386 | %F3_Var = alloca float, i32 1 |
|---|
| 387 | store float %F3_Arg, float* %F3_Var |
|---|
| 388 | %F4_Var = alloca float, i32 1 |
|---|
| 389 | store float %F4_Arg, float* %F4_Var |
|---|
| 390 | %D1_Var = alloca double, i32 1 |
|---|
| 391 | store double %D1_Arg, double* %D1_Var |
|---|
| 392 | %D2_Var = alloca double, i32 1 |
|---|
| 393 | store double %D2_Arg, double* %D2_Var |
|---|
| 394 | %ln2oJ = load i64** %Hp_Var |
|---|
| 395 | %ln2oK = getelementptr inbounds i64* %ln2oJ, i32 2 |
|---|
| 396 | %ln2oL = ptrtoint i64* %ln2oK to i64 |
|---|
| 397 | %ln2oM = inttoptr i64 %ln2oL to i64* |
|---|
| 398 | store i64* %ln2oM, i64** %Hp_Var |
|---|
| 399 | %ln2oN = load i64** %Hp_Var |
|---|
| 400 | %ln2oO = ptrtoint i64* %ln2oN to i64 |
|---|
| 401 | %ln2oP = load i64** %Base_Var |
|---|
| 402 | %ln2oQ = getelementptr inbounds i64* %ln2oP, i32 18 |
|---|
| 403 | %ln2oR = bitcast i64* %ln2oQ to i64* |
|---|
| 404 | %ln2oS = load i64* %ln2oR |
|---|
| 405 | %ln2oT = icmp ugt i64 %ln2oO, %ln2oS |
|---|
| 406 | br i1 %ln2oT, label %c2oW, label %n2oX |
|---|
| 407 | n2oX: |
|---|
| 408 | %ln2oY = load i64* %R1_Var |
|---|
| 409 | %ln2oZ = add i64 %ln2oY, 16 |
|---|
| 410 | %ln2p0 = inttoptr i64 %ln2oZ to double* |
|---|
| 411 | store double 0x0000000000000000, double* %ln2p0 |
|---|
| 412 | %ln2p1 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @s2ho_info to i64 |
|---|
| 413 | %ln2p2 = load i64** %Hp_Var |
|---|
| 414 | %ln2p3 = getelementptr inbounds i64* %ln2p2, i32 -1 |
|---|
| 415 | store i64 %ln2p1, i64* %ln2p3 |
|---|
| 416 | %ln2p4 = load i64* %R1_Var |
|---|
| 417 | %ln2p5 = load i64** %Hp_Var |
|---|
| 418 | %ln2p6 = getelementptr inbounds i64* %ln2p5, i32 0 |
|---|
| 419 | store i64 %ln2p4, i64* %ln2p6 |
|---|
| 420 | %ln2p7 = load i64** %Hp_Var |
|---|
| 421 | %ln2p8 = ptrtoint i64* %ln2p7 to i64 |
|---|
| 422 | %ln2p9 = add i64 %ln2p8, -6 |
|---|
| 423 | store i64 %ln2p9, i64* %R1_Var |
|---|
| 424 | store i64 1, i64* %R2_Var |
|---|
| 425 | %ln2pa = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @s2hL_info to i64 |
|---|
| 426 | %ln2pb = load i64** %Sp_Var |
|---|
| 427 | %ln2pc = getelementptr inbounds i64* %ln2pb, i32 0 |
|---|
| 428 | store i64 %ln2pa, i64* %ln2pc |
|---|
| 429 | %ln2pd = load i64** %Base_Var |
|---|
| 430 | %ln2pe = load i64** %Sp_Var |
|---|
| 431 | %ln2pf = load i64** %Hp_Var |
|---|
| 432 | %ln2pg = load i64* %R1_Var |
|---|
| 433 | %ln2ph = load i64* %R2_Var |
|---|
| 434 | %ln2pi = load i64* %R3_Var |
|---|
| 435 | %ln2pj = load i64* %R4_Var |
|---|
| 436 | %ln2pk = load i64* %R5_Var |
|---|
| 437 | %ln2pl = load i64* %R6_Var |
|---|
| 438 | %ln2pm = load i64* %SpLim_Var |
|---|
| 439 | %ln2pn = load float* %F1_Var |
|---|
| 440 | %ln2po = load float* %F2_Var |
|---|
| 441 | %ln2pp = load float* %F3_Var |
|---|
| 442 | %ln2pq = load float* %F4_Var |
|---|
| 443 | %ln2pr = load double* %D1_Var |
|---|
| 444 | %ln2ps = load double* %D2_Var |
|---|
| 445 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @s2ho_info( i64* %ln2pd, i64* %ln2pe, i64* %ln2pf, i64 %ln2pg, i64 %ln2ph, i64 %ln2pi, i64 %ln2pj, i64 %ln2pk, i64 %ln2pl, i64 %ln2pm, float %ln2pn, float %ln2po, float %ln2pp, float %ln2pq, double %ln2pr, double %ln2ps ) nounwind |
|---|
| 446 | ret void |
|---|
| 447 | c2pt: |
|---|
| 448 | %ln2pu = load i64** %Base_Var |
|---|
| 449 | %ln2pv = getelementptr inbounds i64* %ln2pu, i32 8 |
|---|
| 450 | store i64 254, i64* %ln2pv |
|---|
| 451 | %ln2pw = load i64** %Base_Var |
|---|
| 452 | %ln2px = load i64** %Sp_Var |
|---|
| 453 | %ln2py = load i64** %Hp_Var |
|---|
| 454 | %ln2pz = load i64* %R1_Var |
|---|
| 455 | %ln2pA = load i64* %R2_Var |
|---|
| 456 | %ln2pB = load i64* %R3_Var |
|---|
| 457 | %ln2pC = load i64* %R4_Var |
|---|
| 458 | %ln2pD = load i64* %R5_Var |
|---|
| 459 | %ln2pE = load i64* %R6_Var |
|---|
| 460 | %ln2pF = load i64* %SpLim_Var |
|---|
| 461 | %ln2pG = load float* %F1_Var |
|---|
| 462 | %ln2pH = load float* %F2_Var |
|---|
| 463 | %ln2pI = load float* %F3_Var |
|---|
| 464 | %ln2pJ = load float* %F4_Var |
|---|
| 465 | %ln2pK = load double* %D1_Var |
|---|
| 466 | %ln2pL = load double* %D2_Var |
|---|
| 467 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_gc_ut( i64* %ln2pw, i64* %ln2px, i64* %ln2py, i64 %ln2pz, i64 %ln2pA, i64 %ln2pB, i64 %ln2pC, i64 %ln2pD, i64 %ln2pE, i64 %ln2pF, float %ln2pG, float %ln2pH, float %ln2pI, float %ln2pJ, double %ln2pK, double %ln2pL ) nounwind |
|---|
| 468 | ret void |
|---|
| 469 | c2oW: |
|---|
| 470 | %ln2pM = load i64** %Base_Var |
|---|
| 471 | %ln2pN = getelementptr inbounds i64* %ln2pM, i32 24 |
|---|
| 472 | store i64 16, i64* %ln2pN |
|---|
| 473 | br label %c2pt |
|---|
| 474 | } |
|---|
| 475 | declare cc 10 void @stg_gc_ut(i64* noalias nocapture, i64* noalias nocapture, i64* noalias nocapture, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double) align 8 |
|---|
| 476 | %s2h3_ret_struct = type <{i64, i64}> |
|---|
| 477 | @s2h3_info_itable = internal constant %s2h3_ret_struct<{i64 0, i64 32}>, section "X98A__STRIP,__me7", align 8 |
|---|
| 478 | define internal cc 10 void @s2h3_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me8" |
|---|
| 479 | { |
|---|
| 480 | c2q8: |
|---|
| 481 | %Base_Var = alloca i64*, i32 1 |
|---|
| 482 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 483 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 484 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 485 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 486 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 487 | %R1_Var = alloca i64, i32 1 |
|---|
| 488 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 489 | %R2_Var = alloca i64, i32 1 |
|---|
| 490 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 491 | %R3_Var = alloca i64, i32 1 |
|---|
| 492 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 493 | %R4_Var = alloca i64, i32 1 |
|---|
| 494 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 495 | %R5_Var = alloca i64, i32 1 |
|---|
| 496 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 497 | %R6_Var = alloca i64, i32 1 |
|---|
| 498 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 499 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 500 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 501 | %F1_Var = alloca float, i32 1 |
|---|
| 502 | store float %F1_Arg, float* %F1_Var |
|---|
| 503 | %F2_Var = alloca float, i32 1 |
|---|
| 504 | store float %F2_Arg, float* %F2_Var |
|---|
| 505 | %F3_Var = alloca float, i32 1 |
|---|
| 506 | store float %F3_Arg, float* %F3_Var |
|---|
| 507 | %F4_Var = alloca float, i32 1 |
|---|
| 508 | store float %F4_Arg, float* %F4_Var |
|---|
| 509 | %D1_Var = alloca double, i32 1 |
|---|
| 510 | store double %D1_Arg, double* %D1_Var |
|---|
| 511 | %D2_Var = alloca double, i32 1 |
|---|
| 512 | store double %D2_Arg, double* %D2_Var |
|---|
| 513 | store i64 8, i64* %R1_Var |
|---|
| 514 | %ln2q9 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @s2hK_info to i64 |
|---|
| 515 | %ln2qa = load i64** %Sp_Var |
|---|
| 516 | %ln2qb = getelementptr inbounds i64* %ln2qa, i32 0 |
|---|
| 517 | store i64 %ln2q9, i64* %ln2qb |
|---|
| 518 | %ln2qc = load i64** %Base_Var |
|---|
| 519 | %ln2qd = load i64** %Sp_Var |
|---|
| 520 | %ln2qe = load i64** %Hp_Var |
|---|
| 521 | %ln2qf = load i64* %R1_Var |
|---|
| 522 | %ln2qg = load i64* %R2_Var |
|---|
| 523 | %ln2qh = load i64* %R3_Var |
|---|
| 524 | %ln2qi = load i64* %R4_Var |
|---|
| 525 | %ln2qj = load i64* %R5_Var |
|---|
| 526 | %ln2qk = load i64* %R6_Var |
|---|
| 527 | %ln2ql = load i64* %SpLim_Var |
|---|
| 528 | %ln2qm = load float* %F1_Var |
|---|
| 529 | %ln2qn = load float* %F2_Var |
|---|
| 530 | %ln2qo = load float* %F3_Var |
|---|
| 531 | %ln2qp = load float* %F4_Var |
|---|
| 532 | %ln2qq = load double* %D1_Var |
|---|
| 533 | %ln2qr = load double* %D2_Var |
|---|
| 534 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_newByteArrayzh( i64* %ln2qc, i64* %ln2qd, i64* %ln2qe, i64 %ln2qf, i64 %ln2qg, i64 %ln2qh, i64 %ln2qi, i64 %ln2qj, i64 %ln2qk, i64 %ln2ql, float %ln2qm, float %ln2qn, float %ln2qo, float %ln2qp, double %ln2qq, double %ln2qr ) nounwind |
|---|
| 535 | ret void |
|---|
| 536 | } |
|---|
| 537 | declare cc 10 void @stg_newByteArrayzh(i64* noalias nocapture, i64* noalias nocapture, i64* noalias nocapture, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double) align 8 |
|---|
| 538 | %Main_foo1_info_struct = type <{i64, i64, i64}> |
|---|
| 539 | @Main_foo1_info_itable = constant %Main_foo1_info_struct<{i64 4294967299, i64 0, i64 15}>, section "X98A__STRIP,__me9", align 8 |
|---|
| 540 | define cc 10 void @Main_foo1_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me10" |
|---|
| 541 | { |
|---|
| 542 | c2ri: |
|---|
| 543 | %Base_Var = alloca i64*, i32 1 |
|---|
| 544 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 545 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 546 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 547 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 548 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 549 | %R1_Var = alloca i64, i32 1 |
|---|
| 550 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 551 | %R2_Var = alloca i64, i32 1 |
|---|
| 552 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 553 | %R3_Var = alloca i64, i32 1 |
|---|
| 554 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 555 | %R4_Var = alloca i64, i32 1 |
|---|
| 556 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 557 | %R5_Var = alloca i64, i32 1 |
|---|
| 558 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 559 | %R6_Var = alloca i64, i32 1 |
|---|
| 560 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 561 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 562 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 563 | %F1_Var = alloca float, i32 1 |
|---|
| 564 | store float %F1_Arg, float* %F1_Var |
|---|
| 565 | %F2_Var = alloca float, i32 1 |
|---|
| 566 | store float %F2_Arg, float* %F2_Var |
|---|
| 567 | %F3_Var = alloca float, i32 1 |
|---|
| 568 | store float %F3_Arg, float* %F3_Var |
|---|
| 569 | %F4_Var = alloca float, i32 1 |
|---|
| 570 | store float %F4_Arg, float* %F4_Var |
|---|
| 571 | %D1_Var = alloca double, i32 1 |
|---|
| 572 | store double %D1_Arg, double* %D1_Var |
|---|
| 573 | %D2_Var = alloca double, i32 1 |
|---|
| 574 | store double %D2_Arg, double* %D2_Var |
|---|
| 575 | %ln2rj = load i64** %Sp_Var |
|---|
| 576 | %ln2rk = getelementptr inbounds i64* %ln2rj, i32 -1 |
|---|
| 577 | %ln2rl = ptrtoint i64* %ln2rk to i64 |
|---|
| 578 | %ln2rm = load i64* %SpLim_Var |
|---|
| 579 | %ln2rn = icmp ult i64 %ln2rl, %ln2rm |
|---|
| 580 | br i1 %ln2rn, label %c2rp, label %n2rq |
|---|
| 581 | n2rq: |
|---|
| 582 | %ln2rr = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @s2h3_info to i64 |
|---|
| 583 | %ln2rs = load i64** %Sp_Var |
|---|
| 584 | %ln2rt = getelementptr inbounds i64* %ln2rs, i32 -1 |
|---|
| 585 | store i64 %ln2rr, i64* %ln2rt |
|---|
| 586 | %ln2ru = load i64** %Sp_Var |
|---|
| 587 | %ln2rv = getelementptr inbounds i64* %ln2ru, i32 -1 |
|---|
| 588 | %ln2rw = ptrtoint i64* %ln2rv to i64 |
|---|
| 589 | %ln2rx = inttoptr i64 %ln2rw to i64* |
|---|
| 590 | store i64* %ln2rx, i64** %Sp_Var |
|---|
| 591 | %ln2ry = load i64** %Base_Var |
|---|
| 592 | %ln2rz = load i64** %Sp_Var |
|---|
| 593 | %ln2rA = load i64** %Hp_Var |
|---|
| 594 | %ln2rB = load i64* %R1_Var |
|---|
| 595 | %ln2rC = load i64* %R2_Var |
|---|
| 596 | %ln2rD = load i64* %R3_Var |
|---|
| 597 | %ln2rE = load i64* %R4_Var |
|---|
| 598 | %ln2rF = load i64* %R5_Var |
|---|
| 599 | %ln2rG = load i64* %R6_Var |
|---|
| 600 | %ln2rH = load i64* %SpLim_Var |
|---|
| 601 | %ln2rI = load float* %F1_Var |
|---|
| 602 | %ln2rJ = load float* %F2_Var |
|---|
| 603 | %ln2rK = load float* %F3_Var |
|---|
| 604 | %ln2rL = load float* %F4_Var |
|---|
| 605 | %ln2rM = load double* %D1_Var |
|---|
| 606 | %ln2rN = load double* %D2_Var |
|---|
| 607 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_noDuplicatezh( i64* %ln2ry, i64* %ln2rz, i64* %ln2rA, i64 %ln2rB, i64 %ln2rC, i64 %ln2rD, i64 %ln2rE, i64 %ln2rF, i64 %ln2rG, i64 %ln2rH, float %ln2rI, float %ln2rJ, float %ln2rK, float %ln2rL, double %ln2rM, double %ln2rN ) nounwind |
|---|
| 608 | ret void |
|---|
| 609 | c2rp: |
|---|
| 610 | %ln2rO = ptrtoint %Main_foo1_closure_struct* @Main_foo1_closure to i64 |
|---|
| 611 | store i64 %ln2rO, i64* %R1_Var |
|---|
| 612 | %ln2rP = load i64** %Base_Var |
|---|
| 613 | %ln2rQ = getelementptr inbounds i64* %ln2rP, i32 -1 |
|---|
| 614 | %ln2rR = bitcast i64* %ln2rQ to i64* |
|---|
| 615 | %ln2rS = load i64* %ln2rR |
|---|
| 616 | %ln2rT = inttoptr i64 %ln2rS to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* |
|---|
| 617 | %ln2rU = load i64** %Base_Var |
|---|
| 618 | %ln2rV = load i64** %Sp_Var |
|---|
| 619 | %ln2rW = load i64** %Hp_Var |
|---|
| 620 | %ln2rX = load i64* %R1_Var |
|---|
| 621 | %ln2rY = load i64* %R2_Var |
|---|
| 622 | %ln2rZ = load i64* %R3_Var |
|---|
| 623 | %ln2s0 = load i64* %R4_Var |
|---|
| 624 | %ln2s1 = load i64* %R5_Var |
|---|
| 625 | %ln2s2 = load i64* %R6_Var |
|---|
| 626 | %ln2s3 = load i64* %SpLim_Var |
|---|
| 627 | %ln2s4 = load float* %F1_Var |
|---|
| 628 | %ln2s5 = load float* %F2_Var |
|---|
| 629 | %ln2s6 = load float* %F3_Var |
|---|
| 630 | %ln2s7 = load float* %F4_Var |
|---|
| 631 | %ln2s8 = load double* %D1_Var |
|---|
| 632 | %ln2s9 = load double* %D2_Var |
|---|
| 633 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln2rT( i64* %ln2rU, i64* %ln2rV, i64* %ln2rW, i64 %ln2rX, i64 %ln2rY, i64 %ln2rZ, i64 %ln2s0, i64 %ln2s1, i64 %ln2s2, i64 %ln2s3, float %ln2s4, float %ln2s5, float %ln2s6, float %ln2s7, double %ln2s8, double %ln2s9 ) nounwind |
|---|
| 634 | ret void |
|---|
| 635 | } |
|---|
| 636 | declare cc 10 void @stg_noDuplicatezh(i64* noalias nocapture, i64* noalias nocapture, i64* noalias nocapture, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double) align 8 |
|---|
| 637 | %Main_foo_info_struct = type <{i64, i64}> |
|---|
| 638 | @Main_foo_info_itable = constant %Main_foo_info_struct<{i64 0, i64 22}>, section "X98A__STRIP,__me11", align 8 |
|---|
| 639 | define cc 10 void @Main_foo_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me12" |
|---|
| 640 | { |
|---|
| 641 | c2u8: |
|---|
| 642 | %Base_Var = alloca i64*, i32 1 |
|---|
| 643 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 644 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 645 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 646 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 647 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 648 | %R1_Var = alloca i64, i32 1 |
|---|
| 649 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 650 | %R2_Var = alloca i64, i32 1 |
|---|
| 651 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 652 | %R3_Var = alloca i64, i32 1 |
|---|
| 653 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 654 | %R4_Var = alloca i64, i32 1 |
|---|
| 655 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 656 | %R5_Var = alloca i64, i32 1 |
|---|
| 657 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 658 | %R6_Var = alloca i64, i32 1 |
|---|
| 659 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 660 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 661 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 662 | %F1_Var = alloca float, i32 1 |
|---|
| 663 | store float %F1_Arg, float* %F1_Var |
|---|
| 664 | %F2_Var = alloca float, i32 1 |
|---|
| 665 | store float %F2_Arg, float* %F2_Var |
|---|
| 666 | %F3_Var = alloca float, i32 1 |
|---|
| 667 | store float %F3_Arg, float* %F3_Var |
|---|
| 668 | %F4_Var = alloca float, i32 1 |
|---|
| 669 | store float %F4_Arg, float* %F4_Var |
|---|
| 670 | %D1_Var = alloca double, i32 1 |
|---|
| 671 | store double %D1_Arg, double* %D1_Var |
|---|
| 672 | %D2_Var = alloca double, i32 1 |
|---|
| 673 | store double %D2_Arg, double* %D2_Var |
|---|
| 674 | %lc2sO = alloca i64, i32 1 |
|---|
| 675 | %ln2u9 = load i64** %Sp_Var |
|---|
| 676 | %ln2ua = getelementptr inbounds i64* %ln2u9, i32 -2 |
|---|
| 677 | %ln2ub = ptrtoint i64* %ln2ua to i64 |
|---|
| 678 | %ln2uc = load i64* %SpLim_Var |
|---|
| 679 | %ln2ud = icmp ult i64 %ln2ub, %ln2uc |
|---|
| 680 | br i1 %ln2ud, label %c2uf, label %n2ug |
|---|
| 681 | n2ug: |
|---|
| 682 | %ln2uh = load i64** %Hp_Var |
|---|
| 683 | %ln2ui = getelementptr inbounds i64* %ln2uh, i32 2 |
|---|
| 684 | %ln2uj = ptrtoint i64* %ln2ui to i64 |
|---|
| 685 | %ln2uk = inttoptr i64 %ln2uj to i64* |
|---|
| 686 | store i64* %ln2uk, i64** %Hp_Var |
|---|
| 687 | %ln2ul = load i64** %Hp_Var |
|---|
| 688 | %ln2um = ptrtoint i64* %ln2ul to i64 |
|---|
| 689 | %ln2un = load i64** %Base_Var |
|---|
| 690 | %ln2uo = getelementptr inbounds i64* %ln2un, i32 18 |
|---|
| 691 | %ln2up = bitcast i64* %ln2uo to i64* |
|---|
| 692 | %ln2uq = load i64* %ln2up |
|---|
| 693 | %ln2ur = icmp ugt i64 %ln2um, %ln2uq |
|---|
| 694 | br i1 %ln2ur, label %c2ut, label %n2uu |
|---|
| 695 | n2uu: |
|---|
| 696 | %ln2uv = ptrtoint [0 x i64]* @stg_CAF_BLACKHOLE_info to i64 |
|---|
| 697 | %ln2uw = load i64** %Hp_Var |
|---|
| 698 | %ln2ux = getelementptr inbounds i64* %ln2uw, i32 -1 |
|---|
| 699 | store i64 %ln2uv, i64* %ln2ux |
|---|
| 700 | %ln2uy = load i64** %Base_Var |
|---|
| 701 | %ln2uz = getelementptr inbounds i64* %ln2uy, i32 20 |
|---|
| 702 | %ln2uA = bitcast i64* %ln2uz to i64* |
|---|
| 703 | %ln2uB = load i64* %ln2uA |
|---|
| 704 | %ln2uC = load i64** %Hp_Var |
|---|
| 705 | %ln2uD = getelementptr inbounds i64* %ln2uC, i32 0 |
|---|
| 706 | store i64 %ln2uB, i64* %ln2uD |
|---|
| 707 | %ln2uE = load i64** %Base_Var |
|---|
| 708 | %ln2uF = ptrtoint i64* %ln2uE to i64 |
|---|
| 709 | %ln2uG = inttoptr i64 %ln2uF to i8* |
|---|
| 710 | %ln2uH = load i64* %R1_Var |
|---|
| 711 | %ln2uI = inttoptr i64 %ln2uH to i8* |
|---|
| 712 | %ln2uJ = load i64** %Hp_Var |
|---|
| 713 | %ln2uK = getelementptr inbounds i64* %ln2uJ, i32 -1 |
|---|
| 714 | %ln2uL = ptrtoint i64* %ln2uK to i64 |
|---|
| 715 | %ln2uM = inttoptr i64 %ln2uL to i8* |
|---|
| 716 | store i64 undef, i64* %R3_Var |
|---|
| 717 | store i64 undef, i64* %R4_Var |
|---|
| 718 | store i64 undef, i64* %R5_Var |
|---|
| 719 | store i64 undef, i64* %R6_Var |
|---|
| 720 | store float undef, float* %F1_Var |
|---|
| 721 | store float undef, float* %F2_Var |
|---|
| 722 | store float undef, float* %F3_Var |
|---|
| 723 | store float undef, float* %F4_Var |
|---|
| 724 | store double undef, double* %D1_Var |
|---|
| 725 | store double undef, double* %D2_Var |
|---|
| 726 | %ln2uN = call ccc i64 (i8*,i8*,i8*)* @newCAF( i8* %ln2uG, i8* %ln2uI, i8* %ln2uM ) nounwind |
|---|
| 727 | store i64 %ln2uN, i64* %lc2sO |
|---|
| 728 | %ln2uO = load i64* %lc2sO |
|---|
| 729 | %ln2uP = icmp eq i64 %ln2uO, 0 |
|---|
| 730 | br i1 %ln2uP, label %c2uQ, label %n2uR |
|---|
| 731 | n2uR: |
|---|
| 732 | br label %c2uS |
|---|
| 733 | c2uf: |
|---|
| 734 | %ln2uT = load i64** %Base_Var |
|---|
| 735 | %ln2uU = getelementptr inbounds i64* %ln2uT, i32 -2 |
|---|
| 736 | %ln2uV = bitcast i64* %ln2uU to i64* |
|---|
| 737 | %ln2uW = load i64* %ln2uV |
|---|
| 738 | %ln2uX = inttoptr i64 %ln2uW to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* |
|---|
| 739 | %ln2uY = load i64** %Base_Var |
|---|
| 740 | %ln2uZ = load i64** %Sp_Var |
|---|
| 741 | %ln2v0 = load i64** %Hp_Var |
|---|
| 742 | %ln2v1 = load i64* %R1_Var |
|---|
| 743 | %ln2v2 = load i64* %R2_Var |
|---|
| 744 | %ln2v3 = load i64* %R3_Var |
|---|
| 745 | %ln2v4 = load i64* %R4_Var |
|---|
| 746 | %ln2v5 = load i64* %R5_Var |
|---|
| 747 | %ln2v6 = load i64* %R6_Var |
|---|
| 748 | %ln2v7 = load i64* %SpLim_Var |
|---|
| 749 | %ln2v8 = load float* %F1_Var |
|---|
| 750 | %ln2v9 = load float* %F2_Var |
|---|
| 751 | %ln2va = load float* %F3_Var |
|---|
| 752 | %ln2vb = load float* %F4_Var |
|---|
| 753 | %ln2vc = load double* %D1_Var |
|---|
| 754 | %ln2vd = load double* %D2_Var |
|---|
| 755 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln2uX( i64* %ln2uY, i64* %ln2uZ, i64* %ln2v0, i64 %ln2v1, i64 %ln2v2, i64 %ln2v3, i64 %ln2v4, i64 %ln2v5, i64 %ln2v6, i64 %ln2v7, float %ln2v8, float %ln2v9, float %ln2va, float %ln2vb, double %ln2vc, double %ln2vd ) nounwind |
|---|
| 756 | ret void |
|---|
| 757 | c2ut: |
|---|
| 758 | %ln2ve = load i64** %Base_Var |
|---|
| 759 | %ln2vf = getelementptr inbounds i64* %ln2ve, i32 24 |
|---|
| 760 | store i64 16, i64* %ln2vf |
|---|
| 761 | br label %c2uf |
|---|
| 762 | c2uQ: |
|---|
| 763 | %ln2vg = load i64* %R1_Var |
|---|
| 764 | %ln2vh = inttoptr i64 %ln2vg to i64* |
|---|
| 765 | %ln2vi = load i64* %ln2vh |
|---|
| 766 | %ln2vj = inttoptr i64 %ln2vi to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* |
|---|
| 767 | %ln2vk = load i64** %Base_Var |
|---|
| 768 | %ln2vl = load i64** %Sp_Var |
|---|
| 769 | %ln2vm = load i64** %Hp_Var |
|---|
| 770 | %ln2vn = load i64* %R1_Var |
|---|
| 771 | %ln2vo = load i64* %R2_Var |
|---|
| 772 | %ln2vp = load i64* %R3_Var |
|---|
| 773 | %ln2vq = load i64* %R4_Var |
|---|
| 774 | %ln2vr = load i64* %R5_Var |
|---|
| 775 | %ln2vs = load i64* %R6_Var |
|---|
| 776 | %ln2vt = load i64* %SpLim_Var |
|---|
| 777 | %ln2vu = load float* %F1_Var |
|---|
| 778 | %ln2vv = load float* %F2_Var |
|---|
| 779 | %ln2vw = load float* %F3_Var |
|---|
| 780 | %ln2vx = load float* %F4_Var |
|---|
| 781 | %ln2vy = load double* %D1_Var |
|---|
| 782 | %ln2vz = load double* %D2_Var |
|---|
| 783 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln2vj( i64* %ln2vk, i64* %ln2vl, i64* %ln2vm, i64 %ln2vn, i64 %ln2vo, i64 %ln2vp, i64 %ln2vq, i64 %ln2vr, i64 %ln2vs, i64 %ln2vt, float %ln2vu, float %ln2vv, float %ln2vw, float %ln2vx, double %ln2vy, double %ln2vz ) nounwind |
|---|
| 784 | ret void |
|---|
| 785 | c2uS: |
|---|
| 786 | %ln2vA = ptrtoint [0 x i64]* @stg_bh_upd_frame_info to i64 |
|---|
| 787 | %ln2vB = load i64** %Sp_Var |
|---|
| 788 | %ln2vC = getelementptr inbounds i64* %ln2vB, i32 -2 |
|---|
| 789 | store i64 %ln2vA, i64* %ln2vC |
|---|
| 790 | %ln2vD = load i64** %Hp_Var |
|---|
| 791 | %ln2vE = getelementptr inbounds i64* %ln2vD, i32 -1 |
|---|
| 792 | %ln2vF = ptrtoint i64* %ln2vE to i64 |
|---|
| 793 | %ln2vG = load i64** %Sp_Var |
|---|
| 794 | %ln2vH = getelementptr inbounds i64* %ln2vG, i32 -1 |
|---|
| 795 | store i64 %ln2vF, i64* %ln2vH |
|---|
| 796 | %ln2vI = ptrtoint %Main_foo1_closure_struct* @Main_foo1_closure to i64 |
|---|
| 797 | %ln2vJ = add i64 %ln2vI, 1 |
|---|
| 798 | store i64 %ln2vJ, i64* %R2_Var |
|---|
| 799 | %ln2vK = load i64** %Sp_Var |
|---|
| 800 | %ln2vL = getelementptr inbounds i64* %ln2vK, i32 -2 |
|---|
| 801 | %ln2vM = ptrtoint i64* %ln2vL to i64 |
|---|
| 802 | %ln2vN = inttoptr i64 %ln2vM to i64* |
|---|
| 803 | store i64* %ln2vN, i64** %Sp_Var |
|---|
| 804 | %ln2vO = load i64** %Base_Var |
|---|
| 805 | %ln2vP = load i64** %Sp_Var |
|---|
| 806 | %ln2vQ = load i64** %Hp_Var |
|---|
| 807 | %ln2vR = load i64* %R1_Var |
|---|
| 808 | %ln2vS = load i64* %R2_Var |
|---|
| 809 | %ln2vT = load i64* %R3_Var |
|---|
| 810 | %ln2vU = load i64* %R4_Var |
|---|
| 811 | %ln2vV = load i64* %R5_Var |
|---|
| 812 | %ln2vW = load i64* %R6_Var |
|---|
| 813 | %ln2vX = load i64* %SpLim_Var |
|---|
| 814 | %ln2vY = load float* %F1_Var |
|---|
| 815 | %ln2vZ = load float* %F2_Var |
|---|
| 816 | %ln2w0 = load float* %F3_Var |
|---|
| 817 | %ln2w1 = load float* %F4_Var |
|---|
| 818 | %ln2w2 = load double* %D1_Var |
|---|
| 819 | %ln2w3 = load double* %D2_Var |
|---|
| 820 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziIO_unsafeDupablePerformIO_info( i64* %ln2vO, i64* %ln2vP, i64* %ln2vQ, i64 %ln2vR, i64 %ln2vS, i64 %ln2vT, i64 %ln2vU, i64 %ln2vV, i64 %ln2vW, i64 %ln2vX, float %ln2vY, float %ln2vZ, float %ln2w0, float %ln2w1, double %ln2w2, double %ln2w3 ) nounwind |
|---|
| 821 | ret void |
|---|
| 822 | } |
|---|
| 823 | @stg_CAF_BLACKHOLE_info = external global [0 x i64] |
|---|
| 824 | declare ccc i64 @newCAF(i8*, i8*, i8*) align 8 |
|---|
| 825 | @stg_bh_upd_frame_info = external global [0 x i64] |
|---|
| 826 | declare cc 10 void @base_GHCziIO_unsafeDupablePerformIO_info(i64* noalias nocapture, i64* noalias nocapture, i64* noalias nocapture, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double) align 8 |
|---|
| 827 | %Main_main1_info_struct = type <{i64, i64, i64, i64}> |
|---|
| 828 | @Main_main1_info_itable = constant %Main_main1_info_struct<{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_main1_info to i64)),i64 0), i64 4294967299, i64 0, i64 30064771087}>, section "X98A__STRIP,__me13", align 8 |
|---|
| 829 | define cc 10 void @Main_main1_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me14" |
|---|
| 830 | { |
|---|
| 831 | c2ws: |
|---|
| 832 | %Base_Var = alloca i64*, i32 1 |
|---|
| 833 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 834 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 835 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 836 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 837 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 838 | %R1_Var = alloca i64, i32 1 |
|---|
| 839 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 840 | %R2_Var = alloca i64, i32 1 |
|---|
| 841 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 842 | %R3_Var = alloca i64, i32 1 |
|---|
| 843 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 844 | %R4_Var = alloca i64, i32 1 |
|---|
| 845 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 846 | %R5_Var = alloca i64, i32 1 |
|---|
| 847 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 848 | %R6_Var = alloca i64, i32 1 |
|---|
| 849 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 850 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 851 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 852 | %F1_Var = alloca float, i32 1 |
|---|
| 853 | store float %F1_Arg, float* %F1_Var |
|---|
| 854 | %F2_Var = alloca float, i32 1 |
|---|
| 855 | store float %F2_Arg, float* %F2_Var |
|---|
| 856 | %F3_Var = alloca float, i32 1 |
|---|
| 857 | store float %F3_Arg, float* %F3_Var |
|---|
| 858 | %F4_Var = alloca float, i32 1 |
|---|
| 859 | store float %F4_Arg, float* %F4_Var |
|---|
| 860 | %D1_Var = alloca double, i32 1 |
|---|
| 861 | store double %D1_Arg, double* %D1_Var |
|---|
| 862 | %D2_Var = alloca double, i32 1 |
|---|
| 863 | store double %D2_Arg, double* %D2_Var |
|---|
| 864 | %ln2wt = ptrtoint [0 x i64]* @base_GHCziIOziHandleziFD_stdout_closure to i64 |
|---|
| 865 | store i64 %ln2wt, i64* %R2_Var |
|---|
| 866 | %ln2wu = ptrtoint [0 x i64]* @base_GHCziShow_shows18_closure to i64 |
|---|
| 867 | store i64 %ln2wu, i64* %R3_Var |
|---|
| 868 | %ln2wv = ptrtoint [0 x i64]* @ghczmprim_GHCziTypes_True_closure to i64 |
|---|
| 869 | %ln2ww = add i64 %ln2wv, 2 |
|---|
| 870 | store i64 %ln2ww, i64* %R4_Var |
|---|
| 871 | %ln2wx = load i64** %Base_Var |
|---|
| 872 | %ln2wy = load i64** %Sp_Var |
|---|
| 873 | %ln2wz = load i64** %Hp_Var |
|---|
| 874 | %ln2wA = load i64* %R1_Var |
|---|
| 875 | %ln2wB = load i64* %R2_Var |
|---|
| 876 | %ln2wC = load i64* %R3_Var |
|---|
| 877 | %ln2wD = load i64* %R4_Var |
|---|
| 878 | %ln2wE = load i64* %R5_Var |
|---|
| 879 | %ln2wF = load i64* %R6_Var |
|---|
| 880 | %ln2wG = load i64* %SpLim_Var |
|---|
| 881 | %ln2wH = load float* %F1_Var |
|---|
| 882 | %ln2wI = load float* %F2_Var |
|---|
| 883 | %ln2wJ = load float* %F3_Var |
|---|
| 884 | %ln2wK = load float* %F4_Var |
|---|
| 885 | %ln2wL = load double* %D1_Var |
|---|
| 886 | %ln2wM = load double* %D2_Var |
|---|
| 887 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziIOziHandleziText_hPutStr2_info( i64* %ln2wx, i64* %ln2wy, i64* %ln2wz, i64 %ln2wA, i64 %ln2wB, i64 %ln2wC, i64 %ln2wD, i64 %ln2wE, i64 %ln2wF, i64 %ln2wG, float %ln2wH, float %ln2wI, float %ln2wJ, float %ln2wK, double %ln2wL, double %ln2wM ) nounwind |
|---|
| 888 | ret void |
|---|
| 889 | } |
|---|
| 890 | @ghczmprim_GHCziTypes_True_closure = external global [0 x i64] |
|---|
| 891 | declare cc 10 void @base_GHCziIOziHandleziText_hPutStr2_info(i64* noalias nocapture, i64* noalias nocapture, i64* noalias nocapture, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double) align 8 |
|---|
| 892 | %Main_main_info_struct = type <{i64, i64, i64, i64}> |
|---|
| 893 | @Main_main_info_itable = constant %Main_main_info_struct<{i64 add (i64 sub (i64 ptrtoint (%Main_main_srt_struct* @Main_main_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_main_info to i64)),i64 0), i64 4294967299, i64 0, i64 4294967311}>, section "X98A__STRIP,__me15", align 8 |
|---|
| 894 | define cc 10 void @Main_main_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me16" |
|---|
| 895 | { |
|---|
| 896 | c2x7: |
|---|
| 897 | %Base_Var = alloca i64*, i32 1 |
|---|
| 898 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 899 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 900 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 901 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 902 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 903 | %R1_Var = alloca i64, i32 1 |
|---|
| 904 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 905 | %R2_Var = alloca i64, i32 1 |
|---|
| 906 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 907 | %R3_Var = alloca i64, i32 1 |
|---|
| 908 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 909 | %R4_Var = alloca i64, i32 1 |
|---|
| 910 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 911 | %R5_Var = alloca i64, i32 1 |
|---|
| 912 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 913 | %R6_Var = alloca i64, i32 1 |
|---|
| 914 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 915 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 916 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 917 | %F1_Var = alloca float, i32 1 |
|---|
| 918 | store float %F1_Arg, float* %F1_Var |
|---|
| 919 | %F2_Var = alloca float, i32 1 |
|---|
| 920 | store float %F2_Arg, float* %F2_Var |
|---|
| 921 | %F3_Var = alloca float, i32 1 |
|---|
| 922 | store float %F3_Arg, float* %F3_Var |
|---|
| 923 | %F4_Var = alloca float, i32 1 |
|---|
| 924 | store float %F4_Arg, float* %F4_Var |
|---|
| 925 | %D1_Var = alloca double, i32 1 |
|---|
| 926 | store double %D1_Arg, double* %D1_Var |
|---|
| 927 | %D2_Var = alloca double, i32 1 |
|---|
| 928 | store double %D2_Arg, double* %D2_Var |
|---|
| 929 | %ln2x8 = load i64** %Base_Var |
|---|
| 930 | %ln2x9 = load i64** %Sp_Var |
|---|
| 931 | %ln2xa = load i64** %Hp_Var |
|---|
| 932 | %ln2xb = load i64* %R1_Var |
|---|
| 933 | %ln2xc = load i64* %R2_Var |
|---|
| 934 | %ln2xd = load i64* %R3_Var |
|---|
| 935 | %ln2xe = load i64* %R4_Var |
|---|
| 936 | %ln2xf = load i64* %R5_Var |
|---|
| 937 | %ln2xg = load i64* %R6_Var |
|---|
| 938 | %ln2xh = load i64* %SpLim_Var |
|---|
| 939 | %ln2xi = load float* %F1_Var |
|---|
| 940 | %ln2xj = load float* %F2_Var |
|---|
| 941 | %ln2xk = load float* %F3_Var |
|---|
| 942 | %ln2xl = load float* %F4_Var |
|---|
| 943 | %ln2xm = load double* %D1_Var |
|---|
| 944 | %ln2xn = load double* %D2_Var |
|---|
| 945 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main1_info( i64* %ln2x8, i64* %ln2x9, i64* %ln2xa, i64 %ln2xb, i64 %ln2xc, i64 %ln2xd, i64 %ln2xe, i64 %ln2xf, i64 %ln2xg, i64 %ln2xh, float %ln2xi, float %ln2xj, float %ln2xk, float %ln2xl, double %ln2xm, double %ln2xn ) nounwind |
|---|
| 946 | ret void |
|---|
| 947 | } |
|---|
| 948 | %Main_main2_info_struct = type <{i64, i64, i64, i64}> |
|---|
| 949 | @Main_main2_info_itable = constant %Main_main2_info_struct<{i64 add (i64 sub (i64 ptrtoint (%Main_main2_srt_struct* @Main_main2_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @Main_main2_info to i64)),i64 0), i64 4294967299, i64 0, i64 12884901903}>, section "X98A__STRIP,__me17", align 8 |
|---|
| 950 | define cc 10 void @Main_main2_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me18" |
|---|
| 951 | { |
|---|
| 952 | c2xK: |
|---|
| 953 | %Base_Var = alloca i64*, i32 1 |
|---|
| 954 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 955 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 956 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 957 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 958 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 959 | %R1_Var = alloca i64, i32 1 |
|---|
| 960 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 961 | %R2_Var = alloca i64, i32 1 |
|---|
| 962 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 963 | %R3_Var = alloca i64, i32 1 |
|---|
| 964 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 965 | %R4_Var = alloca i64, i32 1 |
|---|
| 966 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 967 | %R5_Var = alloca i64, i32 1 |
|---|
| 968 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 969 | %R6_Var = alloca i64, i32 1 |
|---|
| 970 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 971 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 972 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 973 | %F1_Var = alloca float, i32 1 |
|---|
| 974 | store float %F1_Arg, float* %F1_Var |
|---|
| 975 | %F2_Var = alloca float, i32 1 |
|---|
| 976 | store float %F2_Arg, float* %F2_Var |
|---|
| 977 | %F3_Var = alloca float, i32 1 |
|---|
| 978 | store float %F3_Arg, float* %F3_Var |
|---|
| 979 | %F4_Var = alloca float, i32 1 |
|---|
| 980 | store float %F4_Arg, float* %F4_Var |
|---|
| 981 | %D1_Var = alloca double, i32 1 |
|---|
| 982 | store double %D1_Arg, double* %D1_Var |
|---|
| 983 | %D2_Var = alloca double, i32 1 |
|---|
| 984 | store double %D2_Arg, double* %D2_Var |
|---|
| 985 | %ln2xL = ptrtoint %Main_main1_closure_struct* @Main_main1_closure to i64 |
|---|
| 986 | %ln2xM = add i64 %ln2xL, 1 |
|---|
| 987 | store i64 %ln2xM, i64* %R2_Var |
|---|
| 988 | %ln2xN = load i64** %Base_Var |
|---|
| 989 | %ln2xO = load i64** %Sp_Var |
|---|
| 990 | %ln2xP = load i64** %Hp_Var |
|---|
| 991 | %ln2xQ = load i64* %R1_Var |
|---|
| 992 | %ln2xR = load i64* %R2_Var |
|---|
| 993 | %ln2xS = load i64* %R3_Var |
|---|
| 994 | %ln2xT = load i64* %R4_Var |
|---|
| 995 | %ln2xU = load i64* %R5_Var |
|---|
| 996 | %ln2xV = load i64* %R6_Var |
|---|
| 997 | %ln2xW = load i64* %SpLim_Var |
|---|
| 998 | %ln2xX = load float* %F1_Var |
|---|
| 999 | %ln2xY = load float* %F2_Var |
|---|
| 1000 | %ln2xZ = load float* %F3_Var |
|---|
| 1001 | %ln2y0 = load float* %F4_Var |
|---|
| 1002 | %ln2y1 = load double* %D1_Var |
|---|
| 1003 | %ln2y2 = load double* %D2_Var |
|---|
| 1004 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziTopHandler_runMainIO1_info( i64* %ln2xN, i64* %ln2xO, i64* %ln2xP, i64 %ln2xQ, i64 %ln2xR, i64 %ln2xS, i64 %ln2xT, i64 %ln2xU, i64 %ln2xV, i64 %ln2xW, float %ln2xX, float %ln2xY, float %ln2xZ, float %ln2y0, double %ln2y1, double %ln2y2 ) nounwind |
|---|
| 1005 | ret void |
|---|
| 1006 | } |
|---|
| 1007 | declare cc 10 void @base_GHCziTopHandler_runMainIO1_info(i64* noalias nocapture, i64* noalias nocapture, i64* noalias nocapture, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double) align 8 |
|---|
| 1008 | %ZCMain_main_info_struct = type <{i64, i64, i64, i64}> |
|---|
| 1009 | @ZCMain_main_info_itable = constant %ZCMain_main_info_struct<{i64 add (i64 sub (i64 ptrtoint (%ZCMain_main_srt_struct* @ZCMain_main_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64, float, float, float, float, double, double)* @ZCMain_main_info to i64)),i64 0), i64 4294967299, i64 0, i64 4294967311}>, section "X98A__STRIP,__me19", align 8 |
|---|
| 1010 | define cc 10 void @ZCMain_main_info(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg, float %F1_Arg, float %F2_Arg, float %F3_Arg, float %F4_Arg, double %D1_Arg, double %D2_Arg) align 8 nounwind section "X98A__STRIP,__me20" |
|---|
| 1011 | { |
|---|
| 1012 | c2yn: |
|---|
| 1013 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1014 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1015 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1016 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1017 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1018 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1019 | %R1_Var = alloca i64, i32 1 |
|---|
| 1020 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1021 | %R2_Var = alloca i64, i32 1 |
|---|
| 1022 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1023 | %R3_Var = alloca i64, i32 1 |
|---|
| 1024 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1025 | %R4_Var = alloca i64, i32 1 |
|---|
| 1026 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1027 | %R5_Var = alloca i64, i32 1 |
|---|
| 1028 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1029 | %R6_Var = alloca i64, i32 1 |
|---|
| 1030 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1031 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1032 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1033 | %F1_Var = alloca float, i32 1 |
|---|
| 1034 | store float %F1_Arg, float* %F1_Var |
|---|
| 1035 | %F2_Var = alloca float, i32 1 |
|---|
| 1036 | store float %F2_Arg, float* %F2_Var |
|---|
| 1037 | %F3_Var = alloca float, i32 1 |
|---|
| 1038 | store float %F3_Arg, float* %F3_Var |
|---|
| 1039 | %F4_Var = alloca float, i32 1 |
|---|
| 1040 | store float %F4_Arg, float* %F4_Var |
|---|
| 1041 | %D1_Var = alloca double, i32 1 |
|---|
| 1042 | store double %D1_Arg, double* %D1_Var |
|---|
| 1043 | %D2_Var = alloca double, i32 1 |
|---|
| 1044 | store double %D2_Arg, double* %D2_Var |
|---|
| 1045 | %ln2yo = load i64** %Base_Var |
|---|
| 1046 | %ln2yp = load i64** %Sp_Var |
|---|
| 1047 | %ln2yq = load i64** %Hp_Var |
|---|
| 1048 | %ln2yr = load i64* %R1_Var |
|---|
| 1049 | %ln2ys = load i64* %R2_Var |
|---|
| 1050 | %ln2yt = load i64* %R3_Var |
|---|
| 1051 | %ln2yu = load i64* %R4_Var |
|---|
| 1052 | %ln2yv = load i64* %R5_Var |
|---|
| 1053 | %ln2yw = load i64* %R6_Var |
|---|
| 1054 | %ln2yx = load i64* %SpLim_Var |
|---|
| 1055 | %ln2yy = load float* %F1_Var |
|---|
| 1056 | %ln2yz = load float* %F2_Var |
|---|
| 1057 | %ln2yA = load float* %F3_Var |
|---|
| 1058 | %ln2yB = load float* %F4_Var |
|---|
| 1059 | %ln2yC = load double* %D1_Var |
|---|
| 1060 | %ln2yD = load double* %D2_Var |
|---|
| 1061 | tail call cc 10 void (i64*,i64*,i64*,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln2yo, i64* %ln2yp, i64* %ln2yq, i64 %ln2yr, i64 %ln2ys, i64 %ln2yt, i64 %ln2yu, i64 %ln2yv, i64 %ln2yw, i64 %ln2yx, float %ln2yy, float %ln2yz, float %ln2yA, float %ln2yB, double %ln2yC, double %ln2yD ) nounwind |
|---|
| 1062 | ret void |
|---|
| 1063 | } |
|---|
| 1064 | @llvm.used = appending global [4 x i8*] [i8* bitcast (%s2h3_ret_struct* @s2h3_info_itable to i8*), i8* bitcast (%s2hK_ret_struct* @s2hK_info_itable to i8*), i8* bitcast (%s2hL_ret_struct* @s2hL_info_itable to i8*), i8* bitcast (%s2ho_info_struct* @s2ho_info_itable to i8*)], section "llvm.metadata" |
|---|