| 1 | [1 of 1] Compiling Main ( division.hs, division.o ) |
|---|
| 2 | |
|---|
| 3 | ==================== LLVM Code ==================== |
|---|
| 4 | %Main_main2_srt_struct = type <{i64,i64}> |
|---|
| 5 | @base_GHCziIOziHandleziFD_stdout_closure = external global [0 x i64] |
|---|
| 6 | @base_GHCziIOziHandleziText_hPutStr2_closure = external global [0 x i64] |
|---|
| 7 | @Main_main2_srt = constant %Main_main2_srt_struct <{i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziFD_stdout_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hPutStr2_closure to i64)}> |
|---|
| 8 | %Main_main2_closure_struct = type <{i64,i64}> |
|---|
| 9 | @Main_main2_closure = global %Main_main2_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main2_info to i64),i64 0}> |
|---|
| 10 | %Main_main3_srt_struct = type <{i64}> |
|---|
| 11 | @base_GHCziRead_zdfReadDouble4_closure = external global [0 x i64] |
|---|
| 12 | @Main_main3_srt = constant %Main_main3_srt_struct <{i64 ptrtoint ([0 x i64]* @base_GHCziRead_zdfReadDouble4_closure to i64)}> |
|---|
| 13 | %Main_main3_closure_struct = type <{i64,i64,i64,i64}> |
|---|
| 14 | @Main_main3_closure = global %Main_main3_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main3_info to i64),i64 0,i64 0,i64 0}> |
|---|
| 15 | %Main_main1_srt_struct = type <{i64,i64,i64,i64,i64,i64,i64,i64,i64}> |
|---|
| 16 | @base_SystemziIO_readIO2_closure = external global [0 x i64] |
|---|
| 17 | @base_SystemziIO_readIO5_closure = external global [0 x i64] |
|---|
| 18 | @base_SystemziIO_readIO8_closure = external global [0 x i64] |
|---|
| 19 | @base_GHCziIOziHandleziText_hGetLine2_closure = external global [0 x i64] |
|---|
| 20 | @base_GHCziIOziHandleziFD_stdin_closure = external global [0 x i64] |
|---|
| 21 | @base_GHCziIOziHandleziText_hGetLine3_closure = external global [0 x i64] |
|---|
| 22 | @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_closure = external global [0 x i64] |
|---|
| 23 | @Main_main1_srt = constant %Main_main1_srt_struct <{i64 ptrtoint ([0 x i64]* @base_SystemziIO_readIO2_closure to i64),i64 ptrtoint (%Main_main2_closure_struct* @Main_main2_closure to i64),i64 ptrtoint ([0 x i64]* @base_SystemziIO_readIO5_closure to i64),i64 ptrtoint (%Main_main3_closure_struct* @Main_main3_closure to i64),i64 ptrtoint ([0 x i64]* @base_SystemziIO_readIO8_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hGetLine2_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziFD_stdin_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziText_hGetLine3_closure to i64),i64 ptrtoint ([0 x i64]* @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_closure to i64)}> |
|---|
| 24 | %Main_main1_closure_struct = type <{i64,i64}> |
|---|
| 25 | @Main_main1_closure = global %Main_main1_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main1_info to i64),i64 0}> |
|---|
| 26 | %Main_main4_srt_struct = type <{i64,i64}> |
|---|
| 27 | @base_GHCziTopHandler_runMainIO1_closure = external global [0 x i64] |
|---|
| 28 | @Main_main4_srt = constant %Main_main4_srt_struct <{i64 ptrtoint ([0 x i64]* @base_GHCziTopHandler_runMainIO1_closure to i64),i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure to i64)}> |
|---|
| 29 | %Main_main4_closure_struct = type <{i64,i64}> |
|---|
| 30 | @Main_main4_closure = global %Main_main4_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main4_info to i64),i64 0}> |
|---|
| 31 | %Main_main_srt_struct = type <{i64}> |
|---|
| 32 | @Main_main_srt = constant %Main_main_srt_struct <{i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure to i64)}> |
|---|
| 33 | %Main_main_closure_struct = type <{i64,i64}> |
|---|
| 34 | @Main_main_closure = global %Main_main_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main_info to i64),i64 0}> |
|---|
| 35 | %ZCMain_main_srt_struct = type <{i64}> |
|---|
| 36 | @ZCMain_main_srt = constant %ZCMain_main_srt_struct <{i64 ptrtoint (%Main_main4_closure_struct* @Main_main4_closure to i64)}> |
|---|
| 37 | %ZCMain_main_closure_struct = type <{i64,i64}> |
|---|
| 38 | @ZCMain_main_closure = global %ZCMain_main_closure_struct <{i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @ZCMain_main_info to i64),i64 0}> |
|---|
| 39 | %_module_registered_struct = type <{i64}> |
|---|
| 40 | @_module_registered = internal global %_module_registered_struct <{i64 0}> |
|---|
| 41 | |
|---|
| 42 | |
|---|
| 43 | |
|---|
| 44 | ==================== LLVM Code ==================== |
|---|
| 45 | |
|---|
| 46 | |
|---|
| 47 | |
|---|
| 48 | ==================== LLVM Code ==================== |
|---|
| 49 | |
|---|
| 50 | |
|---|
| 51 | |
|---|
| 52 | ==================== LLVM Code ==================== |
|---|
| 53 | @ghczmprim_GHCziTypes_ZMZN_closure = external global [0 x i64] |
|---|
| 54 | declare cc 10 void @base_GHCziShow_zdwshowSignedInt_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 |
|---|
| 55 | %s1lX_ret_struct = type <{i64,i64}> |
|---|
| 56 | @s1lX_info_itable = internal constant %s1lX_ret_struct <{i64 0,i64 32}>, section ".text; .text 0#", align 8 |
|---|
| 57 | define internal cc 10 void @s1lX_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 ".text; .text 1#" |
|---|
| 58 | { |
|---|
| 59 | c1nU: |
|---|
| 60 | %Base_Var = alloca i64*, i32 1 |
|---|
| 61 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 62 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 63 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 64 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 65 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 66 | %R1_Var = alloca i64, i32 1 |
|---|
| 67 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 68 | %R2_Var = alloca i64, i32 1 |
|---|
| 69 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 70 | %R3_Var = alloca i64, i32 1 |
|---|
| 71 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 72 | %R4_Var = alloca i64, i32 1 |
|---|
| 73 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 74 | %R5_Var = alloca i64, i32 1 |
|---|
| 75 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 76 | %R6_Var = alloca i64, i32 1 |
|---|
| 77 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 78 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 79 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 80 | %F1_Var = alloca float, i32 1 |
|---|
| 81 | store float %F1_Arg, float* %F1_Var |
|---|
| 82 | %F2_Var = alloca float, i32 1 |
|---|
| 83 | store float %F2_Arg, float* %F2_Var |
|---|
| 84 | %F3_Var = alloca float, i32 1 |
|---|
| 85 | store float %F3_Arg, float* %F3_Var |
|---|
| 86 | %F4_Var = alloca float, i32 1 |
|---|
| 87 | store float %F4_Arg, float* %F4_Var |
|---|
| 88 | %D1_Var = alloca double, i32 1 |
|---|
| 89 | store double %D1_Arg, double* %D1_Var |
|---|
| 90 | %D2_Var = alloca double, i32 1 |
|---|
| 91 | store double %D2_Arg, double* %D2_Var |
|---|
| 92 | %ls1ln = alloca i64, i32 1 |
|---|
| 93 | %ls1lW = alloca i64, i32 1 |
|---|
| 94 | %ls1lV = alloca i64, i32 1 |
|---|
| 95 | %ls1lU = alloca i64, i32 1 |
|---|
| 96 | %ln1nV = load i64* %R1_Var |
|---|
| 97 | %ln1nW = add i64 %ln1nV, 7 |
|---|
| 98 | %ln1nX = inttoptr i64 %ln1nW to i64* |
|---|
| 99 | %ln1nY = load i64* %ln1nX |
|---|
| 100 | store i64 %ln1nY, i64* %ls1ln |
|---|
| 101 | %ln1nZ = load i64* %ls1ln |
|---|
| 102 | %ln1o0 = icmp ne i64 %ln1nZ, -9223372036854775808 |
|---|
| 103 | br i1 %ln1o0, label %c1o5, label %n1o6 |
|---|
| 104 | n1o6: |
|---|
| 105 | store i64 0, i64* %R2_Var |
|---|
| 106 | store i64 -74986764527274608, i64* %R3_Var |
|---|
| 107 | %ln1o7 = ptrtoint [0 x i64]* @ghczmprim_GHCziTypes_ZMZN_closure to i64 |
|---|
| 108 | %ln1o8 = add i64 %ln1o7, 1 |
|---|
| 109 | store i64 %ln1o8, i64* %R4_Var |
|---|
| 110 | %ln1o9 = load i64** %Sp_Var |
|---|
| 111 | %ln1oa = getelementptr inbounds i64* %ln1o9, i32 1 |
|---|
| 112 | %ln1ob = ptrtoint i64* %ln1oa to i64 |
|---|
| 113 | %ln1oc = inttoptr i64 %ln1ob to i64* |
|---|
| 114 | store i64* %ln1oc, i64** %Sp_Var |
|---|
| 115 | %ln1od = load i64** %Base_Var |
|---|
| 116 | %ln1oe = load i64** %Sp_Var |
|---|
| 117 | %ln1of = load i64** %Hp_Var |
|---|
| 118 | %ln1og = load i64* %R1_Var |
|---|
| 119 | %ln1oh = load i64* %R2_Var |
|---|
| 120 | %ln1oi = load i64* %R3_Var |
|---|
| 121 | %ln1oj = load i64* %R4_Var |
|---|
| 122 | %ln1ok = load i64* %R5_Var |
|---|
| 123 | %ln1ol = load i64* %R6_Var |
|---|
| 124 | %ln1om = load i64* %SpLim_Var |
|---|
| 125 | %ln1on = load float* %F1_Var |
|---|
| 126 | %ln1oo = load float* %F2_Var |
|---|
| 127 | %ln1op = load float* %F3_Var |
|---|
| 128 | %ln1oq = load float* %F4_Var |
|---|
| 129 | %ln1or = load double* %D1_Var |
|---|
| 130 | %ln1os = load double* %D2_Var |
|---|
| 131 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziShow_zdwshowSignedInt_info( i64* %ln1od,i64* %ln1oe,i64* %ln1of,i64 %ln1og,i64 %ln1oh,i64 %ln1oi,i64 %ln1oj,i64 %ln1ok,i64 %ln1ol,i64 %ln1om,float %ln1on,float %ln1oo,float %ln1op,float %ln1oq,double %ln1or,double %ln1os ) nounwind |
|---|
| 132 | ret void |
|---|
| 133 | c1o5: |
|---|
| 134 | %ln1ot = load i64* %ls1ln |
|---|
| 135 | %ln1ou = srem i64 %ln1ot, 123 |
|---|
| 136 | store i64 %ln1ou, i64* %ls1lW |
|---|
| 137 | %ln1ov = load i64* %ls1ln |
|---|
| 138 | %ln1ow = sdiv i64 %ln1ov, 123 |
|---|
| 139 | store i64 %ln1ow, i64* %ls1lV |
|---|
| 140 | %ln1ox = load i64* %ls1lV |
|---|
| 141 | %ln1oy = load i64* %ls1lW |
|---|
| 142 | %ln1oz = add i64 %ln1ox, %ln1oy |
|---|
| 143 | store i64 %ln1oz, i64* %ls1lU |
|---|
| 144 | store i64 0, i64* %R2_Var |
|---|
| 145 | %ln1oA = load i64* %ls1lU |
|---|
| 146 | store i64 %ln1oA, i64* %R3_Var |
|---|
| 147 | %ln1oB = ptrtoint [0 x i64]* @ghczmprim_GHCziTypes_ZMZN_closure to i64 |
|---|
| 148 | %ln1oC = add i64 %ln1oB, 1 |
|---|
| 149 | store i64 %ln1oC, i64* %R4_Var |
|---|
| 150 | %ln1oD = load i64** %Sp_Var |
|---|
| 151 | %ln1oE = getelementptr inbounds i64* %ln1oD, i32 1 |
|---|
| 152 | %ln1oF = ptrtoint i64* %ln1oE to i64 |
|---|
| 153 | %ln1oG = inttoptr i64 %ln1oF to i64* |
|---|
| 154 | store i64* %ln1oG, i64** %Sp_Var |
|---|
| 155 | %ln1oH = load i64** %Base_Var |
|---|
| 156 | %ln1oI = load i64** %Sp_Var |
|---|
| 157 | %ln1oJ = load i64** %Hp_Var |
|---|
| 158 | %ln1oK = load i64* %R1_Var |
|---|
| 159 | %ln1oL = load i64* %R2_Var |
|---|
| 160 | %ln1oM = load i64* %R3_Var |
|---|
| 161 | %ln1oN = load i64* %R4_Var |
|---|
| 162 | %ln1oO = load i64* %R5_Var |
|---|
| 163 | %ln1oP = load i64* %R6_Var |
|---|
| 164 | %ln1oQ = load i64* %SpLim_Var |
|---|
| 165 | %ln1oR = load float* %F1_Var |
|---|
| 166 | %ln1oS = load float* %F2_Var |
|---|
| 167 | %ln1oT = load float* %F3_Var |
|---|
| 168 | %ln1oU = load float* %F4_Var |
|---|
| 169 | %ln1oV = load double* %D1_Var |
|---|
| 170 | %ln1oW = load double* %D2_Var |
|---|
| 171 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziShow_zdwshowSignedInt_info( i64* %ln1oH,i64* %ln1oI,i64* %ln1oJ,i64 %ln1oK,i64 %ln1oL,i64 %ln1oM,i64 %ln1oN,i64 %ln1oO,i64 %ln1oP,i64 %ln1oQ,float %ln1oR,float %ln1oS,float %ln1oT,float %ln1oU,double %ln1oV,double %ln1oW ) nounwind |
|---|
| 172 | ret void |
|---|
| 173 | } |
|---|
| 174 | |
|---|
| 175 | |
|---|
| 176 | |
|---|
| 177 | ==================== LLVM Code ==================== |
|---|
| 178 | @stg_upd_frame_info = external global [0 x i64] |
|---|
| 179 | %s1lY_entry_struct = type <{i64,i64}> |
|---|
| 180 | @s1lY_info_itable = internal constant %s1lY_entry_struct <{i64 1,i64 17}>, section ".text; .text 0#", align 8 |
|---|
| 181 | define internal cc 10 void @s1lY_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 ".text; .text 1#" |
|---|
| 182 | { |
|---|
| 183 | c1qm: |
|---|
| 184 | %Base_Var = alloca i64*, i32 1 |
|---|
| 185 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 186 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 187 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 188 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 189 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 190 | %R1_Var = alloca i64, i32 1 |
|---|
| 191 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 192 | %R2_Var = alloca i64, i32 1 |
|---|
| 193 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 194 | %R3_Var = alloca i64, i32 1 |
|---|
| 195 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 196 | %R4_Var = alloca i64, i32 1 |
|---|
| 197 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 198 | %R5_Var = alloca i64, i32 1 |
|---|
| 199 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 200 | %R6_Var = alloca i64, i32 1 |
|---|
| 201 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 202 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 203 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 204 | %F1_Var = alloca float, i32 1 |
|---|
| 205 | store float %F1_Arg, float* %F1_Var |
|---|
| 206 | %F2_Var = alloca float, i32 1 |
|---|
| 207 | store float %F2_Arg, float* %F2_Var |
|---|
| 208 | %F3_Var = alloca float, i32 1 |
|---|
| 209 | store float %F3_Arg, float* %F3_Var |
|---|
| 210 | %F4_Var = alloca float, i32 1 |
|---|
| 211 | store float %F4_Arg, float* %F4_Var |
|---|
| 212 | %D1_Var = alloca double, i32 1 |
|---|
| 213 | store double %D1_Arg, double* %D1_Var |
|---|
| 214 | %D2_Var = alloca double, i32 1 |
|---|
| 215 | store double %D2_Arg, double* %D2_Var |
|---|
| 216 | %ln1qn = load i64** %Sp_Var |
|---|
| 217 | %ln1qo = getelementptr inbounds i64* %ln1qn, i32 -3 |
|---|
| 218 | %ln1qp = ptrtoint i64* %ln1qo to i64 |
|---|
| 219 | %ln1qq = load i64* %SpLim_Var |
|---|
| 220 | %ln1qr = icmp ult i64 %ln1qp, %ln1qq |
|---|
| 221 | br i1 %ln1qr, label %c1qt, label %n1qu |
|---|
| 222 | n1qu: |
|---|
| 223 | %ln1qv = ptrtoint [0 x i64]* @stg_upd_frame_info to i64 |
|---|
| 224 | %ln1qw = load i64** %Sp_Var |
|---|
| 225 | %ln1qx = getelementptr inbounds i64* %ln1qw, i32 -2 |
|---|
| 226 | store i64 %ln1qv, i64* %ln1qx |
|---|
| 227 | %ln1qy = load i64* %R1_Var |
|---|
| 228 | %ln1qz = load i64** %Sp_Var |
|---|
| 229 | %ln1qA = getelementptr inbounds i64* %ln1qz, i32 -1 |
|---|
| 230 | store i64 %ln1qy, i64* %ln1qA |
|---|
| 231 | %ln1qB = load i64* %R1_Var |
|---|
| 232 | %ln1qC = add i64 %ln1qB, 16 |
|---|
| 233 | %ln1qD = inttoptr i64 %ln1qC to i64* |
|---|
| 234 | %ln1qE = load i64* %ln1qD |
|---|
| 235 | store i64 %ln1qE, i64* %R1_Var |
|---|
| 236 | %ln1qF = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1lX_info to i64 |
|---|
| 237 | %ln1qG = load i64** %Sp_Var |
|---|
| 238 | %ln1qH = getelementptr inbounds i64* %ln1qG, i32 -3 |
|---|
| 239 | store i64 %ln1qF, i64* %ln1qH |
|---|
| 240 | %ln1qI = load i64** %Sp_Var |
|---|
| 241 | %ln1qJ = getelementptr inbounds i64* %ln1qI, i32 -3 |
|---|
| 242 | %ln1qK = ptrtoint i64* %ln1qJ to i64 |
|---|
| 243 | %ln1qL = inttoptr i64 %ln1qK to i64* |
|---|
| 244 | store i64* %ln1qL, i64** %Sp_Var |
|---|
| 245 | %ln1qM = load i64* %R1_Var |
|---|
| 246 | %ln1qN = and i64 %ln1qM, 7 |
|---|
| 247 | %ln1qO = icmp ne i64 %ln1qN, 0 |
|---|
| 248 | br i1 %ln1qO, label %c1qP, label %n1qQ |
|---|
| 249 | n1qQ: |
|---|
| 250 | %ln1qR = load i64* %R1_Var |
|---|
| 251 | %ln1qS = inttoptr i64 %ln1qR to i64* |
|---|
| 252 | %ln1qT = load i64* %ln1qS |
|---|
| 253 | %ln1qU = inttoptr i64 %ln1qT to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 254 | %ln1qV = load i64** %Base_Var |
|---|
| 255 | %ln1qW = load i64** %Sp_Var |
|---|
| 256 | %ln1qX = load i64** %Hp_Var |
|---|
| 257 | %ln1qY = load i64* %R1_Var |
|---|
| 258 | %ln1qZ = load i64* %R2_Var |
|---|
| 259 | %ln1r0 = load i64* %R3_Var |
|---|
| 260 | %ln1r1 = load i64* %R4_Var |
|---|
| 261 | %ln1r2 = load i64* %R5_Var |
|---|
| 262 | %ln1r3 = load i64* %R6_Var |
|---|
| 263 | %ln1r4 = load i64* %SpLim_Var |
|---|
| 264 | %ln1r5 = load float* %F1_Var |
|---|
| 265 | %ln1r6 = load float* %F2_Var |
|---|
| 266 | %ln1r7 = load float* %F3_Var |
|---|
| 267 | %ln1r8 = load float* %F4_Var |
|---|
| 268 | %ln1r9 = load double* %D1_Var |
|---|
| 269 | %ln1ra = load double* %D2_Var |
|---|
| 270 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1qU( i64* %ln1qV,i64* %ln1qW,i64* %ln1qX,i64 %ln1qY,i64 %ln1qZ,i64 %ln1r0,i64 %ln1r1,i64 %ln1r2,i64 %ln1r3,i64 %ln1r4,float %ln1r5,float %ln1r6,float %ln1r7,float %ln1r8,double %ln1r9,double %ln1ra ) nounwind |
|---|
| 271 | ret void |
|---|
| 272 | c1qt: |
|---|
| 273 | %ln1rb = load i64** %Base_Var |
|---|
| 274 | %ln1rc = getelementptr inbounds i64* %ln1rb, i32 -2 |
|---|
| 275 | %ln1rd = bitcast i64* %ln1rc to i64* |
|---|
| 276 | %ln1re = load i64* %ln1rd |
|---|
| 277 | %ln1rf = inttoptr i64 %ln1re to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 278 | %ln1rg = load i64** %Base_Var |
|---|
| 279 | %ln1rh = load i64** %Sp_Var |
|---|
| 280 | %ln1ri = load i64** %Hp_Var |
|---|
| 281 | %ln1rj = load i64* %R1_Var |
|---|
| 282 | %ln1rk = load i64* %R2_Var |
|---|
| 283 | %ln1rl = load i64* %R3_Var |
|---|
| 284 | %ln1rm = load i64* %R4_Var |
|---|
| 285 | %ln1rn = load i64* %R5_Var |
|---|
| 286 | %ln1ro = load i64* %R6_Var |
|---|
| 287 | %ln1rp = load i64* %SpLim_Var |
|---|
| 288 | %ln1rq = load float* %F1_Var |
|---|
| 289 | %ln1rr = load float* %F2_Var |
|---|
| 290 | %ln1rs = load float* %F3_Var |
|---|
| 291 | %ln1rt = load float* %F4_Var |
|---|
| 292 | %ln1ru = load double* %D1_Var |
|---|
| 293 | %ln1rv = load double* %D2_Var |
|---|
| 294 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1rf( i64* %ln1rg,i64* %ln1rh,i64* %ln1ri,i64 %ln1rj,i64 %ln1rk,i64 %ln1rl,i64 %ln1rm,i64 %ln1rn,i64 %ln1ro,i64 %ln1rp,float %ln1rq,float %ln1rr,float %ln1rs,float %ln1rt,double %ln1ru,double %ln1rv ) nounwind |
|---|
| 295 | ret void |
|---|
| 296 | c1qP: |
|---|
| 297 | %ln1rw = load i64** %Base_Var |
|---|
| 298 | %ln1rx = load i64** %Sp_Var |
|---|
| 299 | %ln1ry = load i64** %Hp_Var |
|---|
| 300 | %ln1rz = load i64* %R1_Var |
|---|
| 301 | %ln1rA = load i64* %R2_Var |
|---|
| 302 | %ln1rB = load i64* %R3_Var |
|---|
| 303 | %ln1rC = load i64* %R4_Var |
|---|
| 304 | %ln1rD = load i64* %R5_Var |
|---|
| 305 | %ln1rE = load i64* %R6_Var |
|---|
| 306 | %ln1rF = load i64* %SpLim_Var |
|---|
| 307 | %ln1rG = load float* %F1_Var |
|---|
| 308 | %ln1rH = load float* %F2_Var |
|---|
| 309 | %ln1rI = load float* %F3_Var |
|---|
| 310 | %ln1rJ = load float* %F4_Var |
|---|
| 311 | %ln1rK = load double* %D1_Var |
|---|
| 312 | %ln1rL = load double* %D2_Var |
|---|
| 313 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @s1lX_info( i64* %ln1rw,i64* %ln1rx,i64* %ln1ry,i64 %ln1rz,i64 %ln1rA,i64 %ln1rB,i64 %ln1rC,i64 %ln1rD,i64 %ln1rE,i64 %ln1rF,float %ln1rG,float %ln1rH,float %ln1rI,float %ln1rJ,double %ln1rK,double %ln1rL ) nounwind |
|---|
| 314 | ret void |
|---|
| 315 | } |
|---|
| 316 | |
|---|
| 317 | |
|---|
| 318 | |
|---|
| 319 | ==================== LLVM Code ==================== |
|---|
| 320 | @ghczmprim_GHCziBool_True_closure = external global [0 x i64] |
|---|
| 321 | 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 |
|---|
| 322 | %Main_main2_entry_struct = type <{i64,i64,i64,i64}> |
|---|
| 323 | @Main_main2_info_itable = constant %Main_main2_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main2_srt_struct* @Main_main2_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main2_info to i64)),i64 0),i64 8589934597,i64 0,i64 12884901903}>, section ".text; .text 0#", align 8 |
|---|
| 324 | 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 ".text; .text 1#" |
|---|
| 325 | { |
|---|
| 326 | c1sP: |
|---|
| 327 | %Base_Var = alloca i64*, i32 1 |
|---|
| 328 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 329 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 330 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 331 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 332 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 333 | %R1_Var = alloca i64, i32 1 |
|---|
| 334 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 335 | %R2_Var = alloca i64, i32 1 |
|---|
| 336 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 337 | %R3_Var = alloca i64, i32 1 |
|---|
| 338 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 339 | %R4_Var = alloca i64, i32 1 |
|---|
| 340 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 341 | %R5_Var = alloca i64, i32 1 |
|---|
| 342 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 343 | %R6_Var = alloca i64, i32 1 |
|---|
| 344 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 345 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 346 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 347 | %F1_Var = alloca float, i32 1 |
|---|
| 348 | store float %F1_Arg, float* %F1_Var |
|---|
| 349 | %F2_Var = alloca float, i32 1 |
|---|
| 350 | store float %F2_Arg, float* %F2_Var |
|---|
| 351 | %F3_Var = alloca float, i32 1 |
|---|
| 352 | store float %F3_Arg, float* %F3_Var |
|---|
| 353 | %F4_Var = alloca float, i32 1 |
|---|
| 354 | store float %F4_Arg, float* %F4_Var |
|---|
| 355 | %D1_Var = alloca double, i32 1 |
|---|
| 356 | store double %D1_Arg, double* %D1_Var |
|---|
| 357 | %D2_Var = alloca double, i32 1 |
|---|
| 358 | store double %D2_Arg, double* %D2_Var |
|---|
| 359 | %ln1sQ = load i64** %Hp_Var |
|---|
| 360 | %ln1sR = getelementptr inbounds i64* %ln1sQ, i32 3 |
|---|
| 361 | %ln1sS = ptrtoint i64* %ln1sR to i64 |
|---|
| 362 | %ln1sT = inttoptr i64 %ln1sS to i64* |
|---|
| 363 | store i64* %ln1sT, i64** %Hp_Var |
|---|
| 364 | %ln1sU = load i64** %Hp_Var |
|---|
| 365 | %ln1sV = ptrtoint i64* %ln1sU to i64 |
|---|
| 366 | %ln1sW = load i64** %Base_Var |
|---|
| 367 | %ln1sX = getelementptr inbounds i64* %ln1sW, i32 18 |
|---|
| 368 | %ln1sY = bitcast i64* %ln1sX to i64* |
|---|
| 369 | %ln1sZ = load i64* %ln1sY |
|---|
| 370 | %ln1t0 = icmp ugt i64 %ln1sV, %ln1sZ |
|---|
| 371 | br i1 %ln1t0, label %c1t3, label %n1t4 |
|---|
| 372 | n1t4: |
|---|
| 373 | %ln1t5 = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1lY_info to i64 |
|---|
| 374 | %ln1t6 = load i64** %Hp_Var |
|---|
| 375 | %ln1t7 = getelementptr inbounds i64* %ln1t6, i32 -2 |
|---|
| 376 | store i64 %ln1t5, i64* %ln1t7 |
|---|
| 377 | %ln1t8 = load i64* %R2_Var |
|---|
| 378 | %ln1t9 = load i64** %Hp_Var |
|---|
| 379 | %ln1ta = getelementptr inbounds i64* %ln1t9, i32 0 |
|---|
| 380 | store i64 %ln1t8, i64* %ln1ta |
|---|
| 381 | %ln1tb = ptrtoint [0 x i64]* @base_GHCziIOziHandleziFD_stdout_closure to i64 |
|---|
| 382 | store i64 %ln1tb, i64* %R2_Var |
|---|
| 383 | %ln1tc = load i64** %Hp_Var |
|---|
| 384 | %ln1td = getelementptr inbounds i64* %ln1tc, i32 -2 |
|---|
| 385 | %ln1te = ptrtoint i64* %ln1td to i64 |
|---|
| 386 | store i64 %ln1te, i64* %R3_Var |
|---|
| 387 | %ln1tf = ptrtoint [0 x i64]* @ghczmprim_GHCziBool_True_closure to i64 |
|---|
| 388 | %ln1tg = add i64 %ln1tf, 2 |
|---|
| 389 | store i64 %ln1tg, i64* %R4_Var |
|---|
| 390 | %ln1th = load i64** %Base_Var |
|---|
| 391 | %ln1ti = load i64** %Sp_Var |
|---|
| 392 | %ln1tj = load i64** %Hp_Var |
|---|
| 393 | %ln1tk = load i64* %R1_Var |
|---|
| 394 | %ln1tl = load i64* %R2_Var |
|---|
| 395 | %ln1tm = load i64* %R3_Var |
|---|
| 396 | %ln1tn = load i64* %R4_Var |
|---|
| 397 | %ln1to = load i64* %R5_Var |
|---|
| 398 | %ln1tp = load i64* %R6_Var |
|---|
| 399 | %ln1tq = load i64* %SpLim_Var |
|---|
| 400 | %ln1tr = load float* %F1_Var |
|---|
| 401 | %ln1ts = load float* %F2_Var |
|---|
| 402 | %ln1tt = load float* %F3_Var |
|---|
| 403 | %ln1tu = load float* %F4_Var |
|---|
| 404 | %ln1tv = load double* %D1_Var |
|---|
| 405 | %ln1tw = load double* %D2_Var |
|---|
| 406 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziIOziHandleziText_hPutStr2_info( i64* %ln1th,i64* %ln1ti,i64* %ln1tj,i64 %ln1tk,i64 %ln1tl,i64 %ln1tm,i64 %ln1tn,i64 %ln1to,i64 %ln1tp,i64 %ln1tq,float %ln1tr,float %ln1ts,float %ln1tt,float %ln1tu,double %ln1tv,double %ln1tw ) nounwind |
|---|
| 407 | ret void |
|---|
| 408 | c1tx: |
|---|
| 409 | %ln1ty = ptrtoint %Main_main2_closure_struct* @Main_main2_closure to i64 |
|---|
| 410 | store i64 %ln1ty, i64* %R1_Var |
|---|
| 411 | %ln1tz = load i64** %Base_Var |
|---|
| 412 | %ln1tA = getelementptr inbounds i64* %ln1tz, i32 -1 |
|---|
| 413 | %ln1tB = bitcast i64* %ln1tA to i64* |
|---|
| 414 | %ln1tC = load i64* %ln1tB |
|---|
| 415 | %ln1tD = inttoptr i64 %ln1tC to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 416 | %ln1tE = load i64** %Base_Var |
|---|
| 417 | %ln1tF = load i64** %Sp_Var |
|---|
| 418 | %ln1tG = load i64** %Hp_Var |
|---|
| 419 | %ln1tH = load i64* %R1_Var |
|---|
| 420 | %ln1tI = load i64* %R2_Var |
|---|
| 421 | %ln1tJ = load i64* %R3_Var |
|---|
| 422 | %ln1tK = load i64* %R4_Var |
|---|
| 423 | %ln1tL = load i64* %R5_Var |
|---|
| 424 | %ln1tM = load i64* %R6_Var |
|---|
| 425 | %ln1tN = load i64* %SpLim_Var |
|---|
| 426 | %ln1tO = load float* %F1_Var |
|---|
| 427 | %ln1tP = load float* %F2_Var |
|---|
| 428 | %ln1tQ = load float* %F3_Var |
|---|
| 429 | %ln1tR = load float* %F4_Var |
|---|
| 430 | %ln1tS = load double* %D1_Var |
|---|
| 431 | %ln1tT = load double* %D2_Var |
|---|
| 432 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1tD( i64* %ln1tE,i64* %ln1tF,i64* %ln1tG,i64 %ln1tH,i64 %ln1tI,i64 %ln1tJ,i64 %ln1tK,i64 %ln1tL,i64 %ln1tM,i64 %ln1tN,float %ln1tO,float %ln1tP,float %ln1tQ,float %ln1tR,double %ln1tS,double %ln1tT ) nounwind |
|---|
| 433 | ret void |
|---|
| 434 | c1t3: |
|---|
| 435 | %ln1tU = load i64** %Base_Var |
|---|
| 436 | %ln1tV = getelementptr inbounds i64* %ln1tU, i32 23 |
|---|
| 437 | store i64 24, i64* %ln1tV |
|---|
| 438 | br label %c1tx |
|---|
| 439 | } |
|---|
| 440 | |
|---|
| 441 | |
|---|
| 442 | |
|---|
| 443 | ==================== LLVM Code ==================== |
|---|
| 444 | |
|---|
| 445 | |
|---|
| 446 | |
|---|
| 447 | ==================== LLVM Code ==================== |
|---|
| 448 | |
|---|
| 449 | |
|---|
| 450 | |
|---|
| 451 | ==================== LLVM Code ==================== |
|---|
| 452 | @stg_CAF_BLACKHOLE_info = external global [0 x i64] |
|---|
| 453 | declare ccc void @newCAF(i8* ,i8* ) align 8 |
|---|
| 454 | @stg_IND_STATIC_info = external global [0 x i64] |
|---|
| 455 | @stg_bh_upd_frame_info = external global [0 x i64] |
|---|
| 456 | @base_TextziParserCombinatorsziReadP_zdfMonadPzuzdcreturn_closure = external global [0 x i64] |
|---|
| 457 | @stg_ap_p_info = external global [0 x i64] |
|---|
| 458 | @base_GHCziNum_zdfNumInt_closure = external global [0 x i64] |
|---|
| 459 | @base_GHCziRead_zdfReadInt3_closure = external global [0 x i64] |
|---|
| 460 | @base_TextziParserCombinatorsziReadPrec_minPrec_closure = external global [0 x i64] |
|---|
| 461 | declare cc 10 void @base_GHCziRead_zdfReadDouble4_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 |
|---|
| 462 | %Main_main3_entry_struct = type <{i64,i64,i64}> |
|---|
| 463 | @Main_main3_info_itable = constant %Main_main3_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main3_srt_struct* @Main_main3_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main3_info to i64)),i64 0),i64 0,i64 4294967318}>, section ".text; .text 0#", align 8 |
|---|
| 464 | define cc 10 void @Main_main3_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 ".text; .text 1#" |
|---|
| 465 | { |
|---|
| 466 | c1vG: |
|---|
| 467 | %Base_Var = alloca i64*, i32 1 |
|---|
| 468 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 469 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 470 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 471 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 472 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 473 | %R1_Var = alloca i64, i32 1 |
|---|
| 474 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 475 | %R2_Var = alloca i64, i32 1 |
|---|
| 476 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 477 | %R3_Var = alloca i64, i32 1 |
|---|
| 478 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 479 | %R4_Var = alloca i64, i32 1 |
|---|
| 480 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 481 | %R5_Var = alloca i64, i32 1 |
|---|
| 482 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 483 | %R6_Var = alloca i64, i32 1 |
|---|
| 484 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 485 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 486 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 487 | %F1_Var = alloca float, i32 1 |
|---|
| 488 | store float %F1_Arg, float* %F1_Var |
|---|
| 489 | %F2_Var = alloca float, i32 1 |
|---|
| 490 | store float %F2_Arg, float* %F2_Var |
|---|
| 491 | %F3_Var = alloca float, i32 1 |
|---|
| 492 | store float %F3_Arg, float* %F3_Var |
|---|
| 493 | %F4_Var = alloca float, i32 1 |
|---|
| 494 | store float %F4_Arg, float* %F4_Var |
|---|
| 495 | %D1_Var = alloca double, i32 1 |
|---|
| 496 | store double %D1_Arg, double* %D1_Var |
|---|
| 497 | %D2_Var = alloca double, i32 1 |
|---|
| 498 | store double %D2_Arg, double* %D2_Var |
|---|
| 499 | %ln1vH = load i64** %Sp_Var |
|---|
| 500 | %ln1vI = getelementptr inbounds i64* %ln1vH, i32 -4 |
|---|
| 501 | %ln1vJ = ptrtoint i64* %ln1vI to i64 |
|---|
| 502 | %ln1vK = load i64* %SpLim_Var |
|---|
| 503 | %ln1vL = icmp ult i64 %ln1vJ, %ln1vK |
|---|
| 504 | br i1 %ln1vL, label %c1vN, label %n1vO |
|---|
| 505 | n1vO: |
|---|
| 506 | %ln1vP = load i64** %Hp_Var |
|---|
| 507 | %ln1vQ = getelementptr inbounds i64* %ln1vP, i32 2 |
|---|
| 508 | %ln1vR = ptrtoint i64* %ln1vQ to i64 |
|---|
| 509 | %ln1vS = inttoptr i64 %ln1vR to i64* |
|---|
| 510 | store i64* %ln1vS, i64** %Hp_Var |
|---|
| 511 | %ln1vT = load i64** %Hp_Var |
|---|
| 512 | %ln1vU = ptrtoint i64* %ln1vT to i64 |
|---|
| 513 | %ln1vV = load i64** %Base_Var |
|---|
| 514 | %ln1vW = getelementptr inbounds i64* %ln1vV, i32 18 |
|---|
| 515 | %ln1vX = bitcast i64* %ln1vW to i64* |
|---|
| 516 | %ln1vY = load i64* %ln1vX |
|---|
| 517 | %ln1vZ = icmp ugt i64 %ln1vU, %ln1vY |
|---|
| 518 | br i1 %ln1vZ, label %c1w1, label %n1w2 |
|---|
| 519 | n1w2: |
|---|
| 520 | %ln1w3 = ptrtoint [0 x i64]* @stg_CAF_BLACKHOLE_info to i64 |
|---|
| 521 | %ln1w4 = load i64** %Hp_Var |
|---|
| 522 | %ln1w5 = getelementptr inbounds i64* %ln1w4, i32 -1 |
|---|
| 523 | store i64 %ln1w3, i64* %ln1w5 |
|---|
| 524 | %ln1w6 = load i64** %Base_Var |
|---|
| 525 | %ln1w7 = getelementptr inbounds i64* %ln1w6, i32 19 |
|---|
| 526 | %ln1w8 = bitcast i64* %ln1w7 to i64* |
|---|
| 527 | %ln1w9 = load i64* %ln1w8 |
|---|
| 528 | %ln1wa = load i64** %Hp_Var |
|---|
| 529 | %ln1wb = getelementptr inbounds i64* %ln1wa, i32 0 |
|---|
| 530 | store i64 %ln1w9, i64* %ln1wb |
|---|
| 531 | %ln1wc = load i64** %Base_Var |
|---|
| 532 | %ln1wd = ptrtoint i64* %ln1wc to i64 |
|---|
| 533 | %ln1we = inttoptr i64 %ln1wd to i8* |
|---|
| 534 | %ln1wf = load i64* %R1_Var |
|---|
| 535 | %ln1wg = inttoptr i64 %ln1wf to i8* |
|---|
| 536 | store i64 undef, i64* %R3_Var |
|---|
| 537 | store i64 undef, i64* %R4_Var |
|---|
| 538 | store i64 undef, i64* %R5_Var |
|---|
| 539 | store i64 undef, i64* %R6_Var |
|---|
| 540 | store float undef, float* %F1_Var |
|---|
| 541 | store float undef, float* %F2_Var |
|---|
| 542 | store float undef, float* %F3_Var |
|---|
| 543 | store float undef, float* %F4_Var |
|---|
| 544 | store double undef, double* %D1_Var |
|---|
| 545 | store double undef, double* %D2_Var |
|---|
| 546 | call ccc void (i8*,i8*)* @newCAF( i8* %ln1we,i8* %ln1wg ) nounwind |
|---|
| 547 | %ln1wh = load i64* %R1_Var |
|---|
| 548 | %ln1wi = add i64 %ln1wh, 8 |
|---|
| 549 | %ln1wj = load i64** %Hp_Var |
|---|
| 550 | %ln1wk = getelementptr inbounds i64* %ln1wj, i32 -1 |
|---|
| 551 | %ln1wl = ptrtoint i64* %ln1wk to i64 |
|---|
| 552 | %ln1wm = inttoptr i64 %ln1wi to i64* |
|---|
| 553 | store i64 %ln1wl, i64* %ln1wm |
|---|
| 554 | %ln1wn = load i64* %R1_Var |
|---|
| 555 | %ln1wo = ptrtoint [0 x i64]* @stg_IND_STATIC_info to i64 |
|---|
| 556 | %ln1wp = inttoptr i64 %ln1wn to i64* |
|---|
| 557 | store i64 %ln1wo, i64* %ln1wp |
|---|
| 558 | %ln1wq = ptrtoint [0 x i64]* @stg_bh_upd_frame_info to i64 |
|---|
| 559 | %ln1wr = load i64** %Sp_Var |
|---|
| 560 | %ln1ws = getelementptr inbounds i64* %ln1wr, i32 -2 |
|---|
| 561 | store i64 %ln1wq, i64* %ln1ws |
|---|
| 562 | %ln1wt = load i64** %Hp_Var |
|---|
| 563 | %ln1wu = getelementptr inbounds i64* %ln1wt, i32 -1 |
|---|
| 564 | %ln1wv = ptrtoint i64* %ln1wu to i64 |
|---|
| 565 | %ln1ww = load i64** %Sp_Var |
|---|
| 566 | %ln1wx = getelementptr inbounds i64* %ln1ww, i32 -1 |
|---|
| 567 | store i64 %ln1wv, i64* %ln1wx |
|---|
| 568 | %ln1wy = ptrtoint [0 x i64]* @base_TextziParserCombinatorsziReadP_zdfMonadPzuzdcreturn_closure to i64 |
|---|
| 569 | %ln1wz = add i64 %ln1wy, 1 |
|---|
| 570 | %ln1wA = load i64** %Sp_Var |
|---|
| 571 | %ln1wB = getelementptr inbounds i64* %ln1wA, i32 -3 |
|---|
| 572 | store i64 %ln1wz, i64* %ln1wB |
|---|
| 573 | %ln1wC = ptrtoint [0 x i64]* @stg_ap_p_info to i64 |
|---|
| 574 | %ln1wD = load i64** %Sp_Var |
|---|
| 575 | %ln1wE = getelementptr inbounds i64* %ln1wD, i32 -4 |
|---|
| 576 | store i64 %ln1wC, i64* %ln1wE |
|---|
| 577 | %ln1wF = ptrtoint [0 x i64]* @base_GHCziNum_zdfNumInt_closure to i64 |
|---|
| 578 | store i64 %ln1wF, i64* %R2_Var |
|---|
| 579 | %ln1wG = ptrtoint [0 x i64]* @base_GHCziRead_zdfReadInt3_closure to i64 |
|---|
| 580 | %ln1wH = add i64 %ln1wG, 1 |
|---|
| 581 | store i64 %ln1wH, i64* %R3_Var |
|---|
| 582 | %ln1wI = ptrtoint [0 x i64]* @base_TextziParserCombinatorsziReadPrec_minPrec_closure to i64 |
|---|
| 583 | store i64 %ln1wI, i64* %R4_Var |
|---|
| 584 | %ln1wJ = load i64** %Sp_Var |
|---|
| 585 | %ln1wK = getelementptr inbounds i64* %ln1wJ, i32 -4 |
|---|
| 586 | %ln1wL = ptrtoint i64* %ln1wK to i64 |
|---|
| 587 | %ln1wM = inttoptr i64 %ln1wL to i64* |
|---|
| 588 | store i64* %ln1wM, i64** %Sp_Var |
|---|
| 589 | %ln1wN = load i64** %Base_Var |
|---|
| 590 | %ln1wO = load i64** %Sp_Var |
|---|
| 591 | %ln1wP = load i64** %Hp_Var |
|---|
| 592 | %ln1wQ = load i64* %R1_Var |
|---|
| 593 | %ln1wR = load i64* %R2_Var |
|---|
| 594 | %ln1wS = load i64* %R3_Var |
|---|
| 595 | %ln1wT = load i64* %R4_Var |
|---|
| 596 | %ln1wU = load i64* %R5_Var |
|---|
| 597 | %ln1wV = load i64* %R6_Var |
|---|
| 598 | %ln1wW = load i64* %SpLim_Var |
|---|
| 599 | %ln1wX = load float* %F1_Var |
|---|
| 600 | %ln1wY = load float* %F2_Var |
|---|
| 601 | %ln1wZ = load float* %F3_Var |
|---|
| 602 | %ln1x0 = load float* %F4_Var |
|---|
| 603 | %ln1x1 = load double* %D1_Var |
|---|
| 604 | %ln1x2 = load double* %D2_Var |
|---|
| 605 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziRead_zdfReadDouble4_info( i64* %ln1wN,i64* %ln1wO,i64* %ln1wP,i64 %ln1wQ,i64 %ln1wR,i64 %ln1wS,i64 %ln1wT,i64 %ln1wU,i64 %ln1wV,i64 %ln1wW,float %ln1wX,float %ln1wY,float %ln1wZ,float %ln1x0,double %ln1x1,double %ln1x2 ) nounwind |
|---|
| 606 | ret void |
|---|
| 607 | c1vN: |
|---|
| 608 | %ln1x3 = load i64** %Base_Var |
|---|
| 609 | %ln1x4 = getelementptr inbounds i64* %ln1x3, i32 -2 |
|---|
| 610 | %ln1x5 = bitcast i64* %ln1x4 to i64* |
|---|
| 611 | %ln1x6 = load i64* %ln1x5 |
|---|
| 612 | %ln1x7 = inttoptr i64 %ln1x6 to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 613 | %ln1x8 = load i64** %Base_Var |
|---|
| 614 | %ln1x9 = load i64** %Sp_Var |
|---|
| 615 | %ln1xa = load i64** %Hp_Var |
|---|
| 616 | %ln1xb = load i64* %R1_Var |
|---|
| 617 | %ln1xc = load i64* %R2_Var |
|---|
| 618 | %ln1xd = load i64* %R3_Var |
|---|
| 619 | %ln1xe = load i64* %R4_Var |
|---|
| 620 | %ln1xf = load i64* %R5_Var |
|---|
| 621 | %ln1xg = load i64* %R6_Var |
|---|
| 622 | %ln1xh = load i64* %SpLim_Var |
|---|
| 623 | %ln1xi = load float* %F1_Var |
|---|
| 624 | %ln1xj = load float* %F2_Var |
|---|
| 625 | %ln1xk = load float* %F3_Var |
|---|
| 626 | %ln1xl = load float* %F4_Var |
|---|
| 627 | %ln1xm = load double* %D1_Var |
|---|
| 628 | %ln1xn = load double* %D2_Var |
|---|
| 629 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1x7( i64* %ln1x8,i64* %ln1x9,i64* %ln1xa,i64 %ln1xb,i64 %ln1xc,i64 %ln1xd,i64 %ln1xe,i64 %ln1xf,i64 %ln1xg,i64 %ln1xh,float %ln1xi,float %ln1xj,float %ln1xk,float %ln1xl,double %ln1xm,double %ln1xn ) nounwind |
|---|
| 630 | ret void |
|---|
| 631 | c1w1: |
|---|
| 632 | %ln1xo = load i64** %Base_Var |
|---|
| 633 | %ln1xp = getelementptr inbounds i64* %ln1xo, i32 23 |
|---|
| 634 | store i64 16, i64* %ln1xp |
|---|
| 635 | br label %c1vN |
|---|
| 636 | } |
|---|
| 637 | |
|---|
| 638 | |
|---|
| 639 | |
|---|
| 640 | ==================== LLVM Code ==================== |
|---|
| 641 | |
|---|
| 642 | |
|---|
| 643 | |
|---|
| 644 | ==================== LLVM Code ==================== |
|---|
| 645 | |
|---|
| 646 | |
|---|
| 647 | |
|---|
| 648 | ==================== LLVM Code ==================== |
|---|
| 649 | %s1mb_ret_struct = type <{i64,i64,i64}> |
|---|
| 650 | @s1mb_info_itable = internal constant %s1mb_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mb_info to i64)),i64 8),i64 0,i64 4294967328}>, section ".text; .text 0#", align 8 |
|---|
| 651 | define internal cc 10 void @s1mb_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 ".text; .text 1#" |
|---|
| 652 | { |
|---|
| 653 | c1y3: |
|---|
| 654 | %Base_Var = alloca i64*, i32 1 |
|---|
| 655 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 656 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 657 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 658 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 659 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 660 | %R1_Var = alloca i64, i32 1 |
|---|
| 661 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 662 | %R2_Var = alloca i64, i32 1 |
|---|
| 663 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 664 | %R3_Var = alloca i64, i32 1 |
|---|
| 665 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 666 | %R4_Var = alloca i64, i32 1 |
|---|
| 667 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 668 | %R5_Var = alloca i64, i32 1 |
|---|
| 669 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 670 | %R6_Var = alloca i64, i32 1 |
|---|
| 671 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 672 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 673 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 674 | %F1_Var = alloca float, i32 1 |
|---|
| 675 | store float %F1_Arg, float* %F1_Var |
|---|
| 676 | %F2_Var = alloca float, i32 1 |
|---|
| 677 | store float %F2_Arg, float* %F2_Var |
|---|
| 678 | %F3_Var = alloca float, i32 1 |
|---|
| 679 | store float %F3_Arg, float* %F3_Var |
|---|
| 680 | %F4_Var = alloca float, i32 1 |
|---|
| 681 | store float %F4_Arg, float* %F4_Var |
|---|
| 682 | %D1_Var = alloca double, i32 1 |
|---|
| 683 | store double %D1_Arg, double* %D1_Var |
|---|
| 684 | %D2_Var = alloca double, i32 1 |
|---|
| 685 | store double %D2_Arg, double* %D2_Var |
|---|
| 686 | %ln1y4 = load i64* %R1_Var |
|---|
| 687 | store i64 %ln1y4, i64* %R2_Var |
|---|
| 688 | %ln1y5 = load i64** %Sp_Var |
|---|
| 689 | %ln1y6 = getelementptr inbounds i64* %ln1y5, i32 1 |
|---|
| 690 | %ln1y7 = ptrtoint i64* %ln1y6 to i64 |
|---|
| 691 | %ln1y8 = inttoptr i64 %ln1y7 to i64* |
|---|
| 692 | store i64* %ln1y8, i64** %Sp_Var |
|---|
| 693 | %ln1y9 = load i64** %Base_Var |
|---|
| 694 | %ln1ya = load i64** %Sp_Var |
|---|
| 695 | %ln1yb = load i64** %Hp_Var |
|---|
| 696 | %ln1yc = load i64* %R1_Var |
|---|
| 697 | %ln1yd = load i64* %R2_Var |
|---|
| 698 | %ln1ye = load i64* %R3_Var |
|---|
| 699 | %ln1yf = load i64* %R4_Var |
|---|
| 700 | %ln1yg = load i64* %R5_Var |
|---|
| 701 | %ln1yh = load i64* %R6_Var |
|---|
| 702 | %ln1yi = load i64* %SpLim_Var |
|---|
| 703 | %ln1yj = load float* %F1_Var |
|---|
| 704 | %ln1yk = load float* %F2_Var |
|---|
| 705 | %ln1yl = load float* %F3_Var |
|---|
| 706 | %ln1ym = load float* %F4_Var |
|---|
| 707 | %ln1yn = load double* %D1_Var |
|---|
| 708 | %ln1yo = load double* %D2_Var |
|---|
| 709 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln1y9,i64* %ln1ya,i64* %ln1yb,i64 %ln1yc,i64 %ln1yd,i64 %ln1ye,i64 %ln1yf,i64 %ln1yg,i64 %ln1yh,i64 %ln1yi,float %ln1yj,float %ln1yk,float %ln1yl,float %ln1ym,double %ln1yn,double %ln1yo ) nounwind |
|---|
| 710 | ret void |
|---|
| 711 | } |
|---|
| 712 | |
|---|
| 713 | |
|---|
| 714 | |
|---|
| 715 | ==================== LLVM Code ==================== |
|---|
| 716 | %s1mg_ret_struct = type <{i64,i64,i64}> |
|---|
| 717 | @s1mg_info_itable = internal constant %s1mg_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mg_info to i64)),i64 8),i64 0,i64 4294967328}>, section ".text; .text 0#", align 8 |
|---|
| 718 | define internal cc 10 void @s1mg_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 ".text; .text 1#" |
|---|
| 719 | { |
|---|
| 720 | c1yU: |
|---|
| 721 | %Base_Var = alloca i64*, i32 1 |
|---|
| 722 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 723 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 724 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 725 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 726 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 727 | %R1_Var = alloca i64, i32 1 |
|---|
| 728 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 729 | %R2_Var = alloca i64, i32 1 |
|---|
| 730 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 731 | %R3_Var = alloca i64, i32 1 |
|---|
| 732 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 733 | %R4_Var = alloca i64, i32 1 |
|---|
| 734 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 735 | %R5_Var = alloca i64, i32 1 |
|---|
| 736 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 737 | %R6_Var = alloca i64, i32 1 |
|---|
| 738 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 739 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 740 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 741 | %F1_Var = alloca float, i32 1 |
|---|
| 742 | store float %F1_Arg, float* %F1_Var |
|---|
| 743 | %F2_Var = alloca float, i32 1 |
|---|
| 744 | store float %F2_Arg, float* %F2_Var |
|---|
| 745 | %F3_Var = alloca float, i32 1 |
|---|
| 746 | store float %F3_Arg, float* %F3_Var |
|---|
| 747 | %F4_Var = alloca float, i32 1 |
|---|
| 748 | store float %F4_Arg, float* %F4_Var |
|---|
| 749 | %D1_Var = alloca double, i32 1 |
|---|
| 750 | store double %D1_Arg, double* %D1_Var |
|---|
| 751 | %D2_Var = alloca double, i32 1 |
|---|
| 752 | store double %D2_Arg, double* %D2_Var |
|---|
| 753 | %ln1yV = load i64* %R1_Var |
|---|
| 754 | store i64 %ln1yV, i64* %R2_Var |
|---|
| 755 | %ln1yW = load i64** %Sp_Var |
|---|
| 756 | %ln1yX = getelementptr inbounds i64* %ln1yW, i32 1 |
|---|
| 757 | %ln1yY = ptrtoint i64* %ln1yX to i64 |
|---|
| 758 | %ln1yZ = inttoptr i64 %ln1yY to i64* |
|---|
| 759 | store i64* %ln1yZ, i64** %Sp_Var |
|---|
| 760 | %ln1z0 = load i64** %Base_Var |
|---|
| 761 | %ln1z1 = load i64** %Sp_Var |
|---|
| 762 | %ln1z2 = load i64** %Hp_Var |
|---|
| 763 | %ln1z3 = load i64* %R1_Var |
|---|
| 764 | %ln1z4 = load i64* %R2_Var |
|---|
| 765 | %ln1z5 = load i64* %R3_Var |
|---|
| 766 | %ln1z6 = load i64* %R4_Var |
|---|
| 767 | %ln1z7 = load i64* %R5_Var |
|---|
| 768 | %ln1z8 = load i64* %R6_Var |
|---|
| 769 | %ln1z9 = load i64* %SpLim_Var |
|---|
| 770 | %ln1za = load float* %F1_Var |
|---|
| 771 | %ln1zb = load float* %F2_Var |
|---|
| 772 | %ln1zc = load float* %F3_Var |
|---|
| 773 | %ln1zd = load float* %F4_Var |
|---|
| 774 | %ln1ze = load double* %D1_Var |
|---|
| 775 | %ln1zf = load double* %D2_Var |
|---|
| 776 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln1z0,i64* %ln1z1,i64* %ln1z2,i64 %ln1z3,i64 %ln1z4,i64 %ln1z5,i64 %ln1z6,i64 %ln1z7,i64 %ln1z8,i64 %ln1z9,float %ln1za,float %ln1zb,float %ln1zc,float %ln1zd,double %ln1ze,double %ln1zf ) nounwind |
|---|
| 777 | ret void |
|---|
| 778 | } |
|---|
| 779 | |
|---|
| 780 | |
|---|
| 781 | |
|---|
| 782 | ==================== LLVM Code ==================== |
|---|
| 783 | declare cc 10 void @stg_raiseIOzh(i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double ) align 8 |
|---|
| 784 | %s1mf_ret_struct = type <{i64,i64,i64}> |
|---|
| 785 | @s1mf_info_itable = internal constant %s1mf_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mf_info to i64)),i64 0),i64 1,i64 12884901920}>, section ".text; .text 0#", align 8 |
|---|
| 786 | define internal cc 10 void @s1mf_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 ".text; .text 1#" |
|---|
| 787 | { |
|---|
| 788 | c1Ab: |
|---|
| 789 | %Base_Var = alloca i64*, i32 1 |
|---|
| 790 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 791 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 792 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 793 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 794 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 795 | %R1_Var = alloca i64, i32 1 |
|---|
| 796 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 797 | %R2_Var = alloca i64, i32 1 |
|---|
| 798 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 799 | %R3_Var = alloca i64, i32 1 |
|---|
| 800 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 801 | %R4_Var = alloca i64, i32 1 |
|---|
| 802 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 803 | %R5_Var = alloca i64, i32 1 |
|---|
| 804 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 805 | %R6_Var = alloca i64, i32 1 |
|---|
| 806 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 807 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 808 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 809 | %F1_Var = alloca float, i32 1 |
|---|
| 810 | store float %F1_Arg, float* %F1_Var |
|---|
| 811 | %F2_Var = alloca float, i32 1 |
|---|
| 812 | store float %F2_Arg, float* %F2_Var |
|---|
| 813 | %F3_Var = alloca float, i32 1 |
|---|
| 814 | store float %F3_Arg, float* %F3_Var |
|---|
| 815 | %F4_Var = alloca float, i32 1 |
|---|
| 816 | store float %F4_Arg, float* %F4_Var |
|---|
| 817 | %D1_Var = alloca double, i32 1 |
|---|
| 818 | store double %D1_Arg, double* %D1_Var |
|---|
| 819 | %D2_Var = alloca double, i32 1 |
|---|
| 820 | store double %D2_Arg, double* %D2_Var |
|---|
| 821 | %lc1zj = alloca i64, i32 1 |
|---|
| 822 | %ln1Ac = load i64* %R1_Var |
|---|
| 823 | %ln1Ad = and i64 %ln1Ac, 7 |
|---|
| 824 | store i64 %ln1Ad, i64* %lc1zj |
|---|
| 825 | %ln1Ae = load i64* %lc1zj |
|---|
| 826 | %ln1Af = icmp uge i64 %ln1Ae, 2 |
|---|
| 827 | br i1 %ln1Af, label %c1Ag, label %n1Ah |
|---|
| 828 | n1Ah: |
|---|
| 829 | %ln1Ai = load i64** %Sp_Var |
|---|
| 830 | %ln1Aj = getelementptr inbounds i64* %ln1Ai, i32 1 |
|---|
| 831 | %ln1Ak = bitcast i64* %ln1Aj to i64* |
|---|
| 832 | %ln1Al = load i64* %ln1Ak |
|---|
| 833 | store i64 %ln1Al, i64* %R2_Var |
|---|
| 834 | %ln1Am = load i64** %Sp_Var |
|---|
| 835 | %ln1An = getelementptr inbounds i64* %ln1Am, i32 2 |
|---|
| 836 | %ln1Ao = ptrtoint i64* %ln1An to i64 |
|---|
| 837 | %ln1Ap = inttoptr i64 %ln1Ao to i64* |
|---|
| 838 | store i64* %ln1Ap, i64** %Sp_Var |
|---|
| 839 | %ln1Aq = load i64** %Base_Var |
|---|
| 840 | %ln1Ar = load i64** %Sp_Var |
|---|
| 841 | %ln1As = load i64** %Hp_Var |
|---|
| 842 | %ln1At = load i64* %R1_Var |
|---|
| 843 | %ln1Au = load i64* %R2_Var |
|---|
| 844 | %ln1Av = load i64* %R3_Var |
|---|
| 845 | %ln1Aw = load i64* %R4_Var |
|---|
| 846 | %ln1Ax = load i64* %R5_Var |
|---|
| 847 | %ln1Ay = load i64* %R6_Var |
|---|
| 848 | %ln1Az = load i64* %SpLim_Var |
|---|
| 849 | %ln1AA = load float* %F1_Var |
|---|
| 850 | %ln1AB = load float* %F2_Var |
|---|
| 851 | %ln1AC = load float* %F3_Var |
|---|
| 852 | %ln1AD = load float* %F4_Var |
|---|
| 853 | %ln1AE = load double* %D1_Var |
|---|
| 854 | %ln1AF = load double* %D2_Var |
|---|
| 855 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main2_info( i64* %ln1Aq,i64* %ln1Ar,i64* %ln1As,i64 %ln1At,i64 %ln1Au,i64 %ln1Av,i64 %ln1Aw,i64 %ln1Ax,i64 %ln1Ay,i64 %ln1Az,float %ln1AA,float %ln1AB,float %ln1AC,float %ln1AD,double %ln1AE,double %ln1AF ) nounwind |
|---|
| 856 | ret void |
|---|
| 857 | c1Ag: |
|---|
| 858 | %ln1AG = ptrtoint [0 x i64]* @base_SystemziIO_readIO2_closure to i64 |
|---|
| 859 | store i64 %ln1AG, i64* %R1_Var |
|---|
| 860 | %ln1AH = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mg_info to i64 |
|---|
| 861 | %ln1AI = load i64** %Sp_Var |
|---|
| 862 | %ln1AJ = getelementptr inbounds i64* %ln1AI, i32 1 |
|---|
| 863 | store i64 %ln1AH, i64* %ln1AJ |
|---|
| 864 | %ln1AK = load i64** %Sp_Var |
|---|
| 865 | %ln1AL = getelementptr inbounds i64* %ln1AK, i32 1 |
|---|
| 866 | %ln1AM = ptrtoint i64* %ln1AL to i64 |
|---|
| 867 | %ln1AN = inttoptr i64 %ln1AM to i64* |
|---|
| 868 | store i64* %ln1AN, i64** %Sp_Var |
|---|
| 869 | %ln1AO = load i64** %Base_Var |
|---|
| 870 | %ln1AP = load i64** %Sp_Var |
|---|
| 871 | %ln1AQ = load i64** %Hp_Var |
|---|
| 872 | %ln1AR = load i64* %R1_Var |
|---|
| 873 | %ln1AS = load i64* %R2_Var |
|---|
| 874 | %ln1AT = load i64* %R3_Var |
|---|
| 875 | %ln1AU = load i64* %R4_Var |
|---|
| 876 | %ln1AV = load i64* %R5_Var |
|---|
| 877 | %ln1AW = load i64* %R6_Var |
|---|
| 878 | %ln1AX = load i64* %SpLim_Var |
|---|
| 879 | %ln1AY = load float* %F1_Var |
|---|
| 880 | %ln1AZ = load float* %F2_Var |
|---|
| 881 | %ln1B0 = load float* %F3_Var |
|---|
| 882 | %ln1B1 = load float* %F4_Var |
|---|
| 883 | %ln1B2 = load double* %D1_Var |
|---|
| 884 | %ln1B3 = load double* %D2_Var |
|---|
| 885 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_raiseIOzh( i64* %ln1AO,i64* %ln1AP,i64* %ln1AQ,i64 %ln1AR,i64 %ln1AS,i64 %ln1AT,i64 %ln1AU,i64 %ln1AV,i64 %ln1AW,i64 %ln1AX,float %ln1AY,float %ln1AZ,float %ln1B0,float %ln1B1,double %ln1B2,double %ln1B3 ) nounwind |
|---|
| 886 | ret void |
|---|
| 887 | } |
|---|
| 888 | |
|---|
| 889 | |
|---|
| 890 | |
|---|
| 891 | ==================== LLVM Code ==================== |
|---|
| 892 | %s1mc_ret_struct = type <{i64,i64,i64}> |
|---|
| 893 | @s1mc_info_itable = internal constant %s1mc_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mc_info to i64)),i64 0),i64 0,i64 30064771104}>, section ".text; .text 0#", align 8 |
|---|
| 894 | define internal cc 10 void @s1mc_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 ".text; .text 1#" |
|---|
| 895 | { |
|---|
| 896 | c1Cs: |
|---|
| 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 | %lc1B7 = alloca i64, i32 1 |
|---|
| 930 | %ln1Ct = load i64* %R1_Var |
|---|
| 931 | %ln1Cu = and i64 %ln1Ct, 7 |
|---|
| 932 | store i64 %ln1Cu, i64* %lc1B7 |
|---|
| 933 | %ln1Cv = load i64* %lc1B7 |
|---|
| 934 | %ln1Cw = icmp uge i64 %ln1Cv, 2 |
|---|
| 935 | br i1 %ln1Cw, label %c1Cx, label %n1Cy |
|---|
| 936 | n1Cy: |
|---|
| 937 | %ln1Cz = ptrtoint [0 x i64]* @base_SystemziIO_readIO5_closure to i64 |
|---|
| 938 | store i64 %ln1Cz, i64* %R1_Var |
|---|
| 939 | %ln1CA = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mb_info to i64 |
|---|
| 940 | %ln1CB = load i64** %Sp_Var |
|---|
| 941 | %ln1CC = getelementptr inbounds i64* %ln1CB, i32 0 |
|---|
| 942 | store i64 %ln1CA, i64* %ln1CC |
|---|
| 943 | %ln1CD = load i64** %Base_Var |
|---|
| 944 | %ln1CE = load i64** %Sp_Var |
|---|
| 945 | %ln1CF = load i64** %Hp_Var |
|---|
| 946 | %ln1CG = load i64* %R1_Var |
|---|
| 947 | %ln1CH = load i64* %R2_Var |
|---|
| 948 | %ln1CI = load i64* %R3_Var |
|---|
| 949 | %ln1CJ = load i64* %R4_Var |
|---|
| 950 | %ln1CK = load i64* %R5_Var |
|---|
| 951 | %ln1CL = load i64* %R6_Var |
|---|
| 952 | %ln1CM = load i64* %SpLim_Var |
|---|
| 953 | %ln1CN = load float* %F1_Var |
|---|
| 954 | %ln1CO = load float* %F2_Var |
|---|
| 955 | %ln1CP = load float* %F3_Var |
|---|
| 956 | %ln1CQ = load float* %F4_Var |
|---|
| 957 | %ln1CR = load double* %D1_Var |
|---|
| 958 | %ln1CS = load double* %D2_Var |
|---|
| 959 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @stg_raiseIOzh( i64* %ln1CD,i64* %ln1CE,i64* %ln1CF,i64 %ln1CG,i64 %ln1CH,i64 %ln1CI,i64 %ln1CJ,i64 %ln1CK,i64 %ln1CL,i64 %ln1CM,float %ln1CN,float %ln1CO,float %ln1CP,float %ln1CQ,double %ln1CR,double %ln1CS ) nounwind |
|---|
| 960 | ret void |
|---|
| 961 | c1Cx: |
|---|
| 962 | %ln1CT = load i64* %R1_Var |
|---|
| 963 | %ln1CU = add i64 %ln1CT, 6 |
|---|
| 964 | %ln1CV = inttoptr i64 %ln1CU to i64* |
|---|
| 965 | %ln1CW = load i64* %ln1CV |
|---|
| 966 | %ln1CX = load i64** %Sp_Var |
|---|
| 967 | %ln1CY = getelementptr inbounds i64* %ln1CX, i32 0 |
|---|
| 968 | store i64 %ln1CW, i64* %ln1CY |
|---|
| 969 | %ln1CZ = load i64* %R1_Var |
|---|
| 970 | %ln1D0 = add i64 %ln1CZ, 14 |
|---|
| 971 | %ln1D1 = inttoptr i64 %ln1D0 to i64* |
|---|
| 972 | %ln1D2 = load i64* %ln1D1 |
|---|
| 973 | store i64 %ln1D2, i64* %R1_Var |
|---|
| 974 | %ln1D3 = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mf_info to i64 |
|---|
| 975 | %ln1D4 = load i64** %Sp_Var |
|---|
| 976 | %ln1D5 = getelementptr inbounds i64* %ln1D4, i32 -1 |
|---|
| 977 | store i64 %ln1D3, i64* %ln1D5 |
|---|
| 978 | %ln1D6 = load i64** %Sp_Var |
|---|
| 979 | %ln1D7 = getelementptr inbounds i64* %ln1D6, i32 -1 |
|---|
| 980 | %ln1D8 = ptrtoint i64* %ln1D7 to i64 |
|---|
| 981 | %ln1D9 = inttoptr i64 %ln1D8 to i64* |
|---|
| 982 | store i64* %ln1D9, i64** %Sp_Var |
|---|
| 983 | %ln1Da = load i64* %R1_Var |
|---|
| 984 | %ln1Db = and i64 %ln1Da, 7 |
|---|
| 985 | %ln1Dc = icmp ne i64 %ln1Db, 0 |
|---|
| 986 | br i1 %ln1Dc, label %c1Df, label %n1Dg |
|---|
| 987 | n1Dg: |
|---|
| 988 | %ln1Dh = load i64* %R1_Var |
|---|
| 989 | %ln1Di = inttoptr i64 %ln1Dh to i64* |
|---|
| 990 | %ln1Dj = load i64* %ln1Di |
|---|
| 991 | %ln1Dk = inttoptr i64 %ln1Dj to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 992 | %ln1Dl = load i64** %Base_Var |
|---|
| 993 | %ln1Dm = load i64** %Sp_Var |
|---|
| 994 | %ln1Dn = load i64** %Hp_Var |
|---|
| 995 | %ln1Do = load i64* %R1_Var |
|---|
| 996 | %ln1Dp = load i64* %R2_Var |
|---|
| 997 | %ln1Dq = load i64* %R3_Var |
|---|
| 998 | %ln1Dr = load i64* %R4_Var |
|---|
| 999 | %ln1Ds = load i64* %R5_Var |
|---|
| 1000 | %ln1Dt = load i64* %R6_Var |
|---|
| 1001 | %ln1Du = load i64* %SpLim_Var |
|---|
| 1002 | %ln1Dv = load float* %F1_Var |
|---|
| 1003 | %ln1Dw = load float* %F2_Var |
|---|
| 1004 | %ln1Dx = load float* %F3_Var |
|---|
| 1005 | %ln1Dy = load float* %F4_Var |
|---|
| 1006 | %ln1Dz = load double* %D1_Var |
|---|
| 1007 | %ln1DA = load double* %D2_Var |
|---|
| 1008 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1Dk( i64* %ln1Dl,i64* %ln1Dm,i64* %ln1Dn,i64 %ln1Do,i64 %ln1Dp,i64 %ln1Dq,i64 %ln1Dr,i64 %ln1Ds,i64 %ln1Dt,i64 %ln1Du,float %ln1Dv,float %ln1Dw,float %ln1Dx,float %ln1Dy,double %ln1Dz,double %ln1DA ) nounwind |
|---|
| 1009 | ret void |
|---|
| 1010 | c1Df: |
|---|
| 1011 | %ln1DB = load i64** %Base_Var |
|---|
| 1012 | %ln1DC = load i64** %Sp_Var |
|---|
| 1013 | %ln1DD = load i64** %Hp_Var |
|---|
| 1014 | %ln1DE = load i64* %R1_Var |
|---|
| 1015 | %ln1DF = load i64* %R2_Var |
|---|
| 1016 | %ln1DG = load i64* %R3_Var |
|---|
| 1017 | %ln1DH = load i64* %R4_Var |
|---|
| 1018 | %ln1DI = load i64* %R5_Var |
|---|
| 1019 | %ln1DJ = load i64* %R6_Var |
|---|
| 1020 | %ln1DK = load i64* %SpLim_Var |
|---|
| 1021 | %ln1DL = load float* %F1_Var |
|---|
| 1022 | %ln1DM = load float* %F2_Var |
|---|
| 1023 | %ln1DN = load float* %F3_Var |
|---|
| 1024 | %ln1DO = load float* %F4_Var |
|---|
| 1025 | %ln1DP = load double* %D1_Var |
|---|
| 1026 | %ln1DQ = load double* %D2_Var |
|---|
| 1027 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @s1mf_info( i64* %ln1DB,i64* %ln1DC,i64* %ln1DD,i64 %ln1DE,i64 %ln1DF,i64 %ln1DG,i64 %ln1DH,i64 %ln1DI,i64 %ln1DJ,i64 %ln1DK,float %ln1DL,float %ln1DM,float %ln1DN,float %ln1DO,double %ln1DP,double %ln1DQ ) nounwind |
|---|
| 1028 | ret void |
|---|
| 1029 | } |
|---|
| 1030 | |
|---|
| 1031 | |
|---|
| 1032 | |
|---|
| 1033 | ==================== LLVM Code ==================== |
|---|
| 1034 | declare cc 10 void @base_SystemziIO_readIO8_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 |
|---|
| 1035 | %s1md_ret_struct = type <{i64,i64,i64}> |
|---|
| 1036 | @s1md_info_itable = internal constant %s1md_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1md_info to i64)),i64 0),i64 0,i64 98784247840}>, section ".text; .text 0#", align 8 |
|---|
| 1037 | define internal cc 10 void @s1md_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 ".text; .text 1#" |
|---|
| 1038 | { |
|---|
| 1039 | c1Ec: |
|---|
| 1040 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1041 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1042 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1043 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1044 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1045 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1046 | %R1_Var = alloca i64, i32 1 |
|---|
| 1047 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1048 | %R2_Var = alloca i64, i32 1 |
|---|
| 1049 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1050 | %R3_Var = alloca i64, i32 1 |
|---|
| 1051 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1052 | %R4_Var = alloca i64, i32 1 |
|---|
| 1053 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1054 | %R5_Var = alloca i64, i32 1 |
|---|
| 1055 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1056 | %R6_Var = alloca i64, i32 1 |
|---|
| 1057 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1058 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1059 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1060 | %F1_Var = alloca float, i32 1 |
|---|
| 1061 | store float %F1_Arg, float* %F1_Var |
|---|
| 1062 | %F2_Var = alloca float, i32 1 |
|---|
| 1063 | store float %F2_Arg, float* %F2_Var |
|---|
| 1064 | %F3_Var = alloca float, i32 1 |
|---|
| 1065 | store float %F3_Arg, float* %F3_Var |
|---|
| 1066 | %F4_Var = alloca float, i32 1 |
|---|
| 1067 | store float %F4_Arg, float* %F4_Var |
|---|
| 1068 | %D1_Var = alloca double, i32 1 |
|---|
| 1069 | store double %D1_Arg, double* %D1_Var |
|---|
| 1070 | %D2_Var = alloca double, i32 1 |
|---|
| 1071 | store double %D2_Arg, double* %D2_Var |
|---|
| 1072 | %ln1Ed = load i64* %R1_Var |
|---|
| 1073 | store i64 %ln1Ed, i64* %R2_Var |
|---|
| 1074 | %ln1Ee = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1mc_info to i64 |
|---|
| 1075 | %ln1Ef = load i64** %Sp_Var |
|---|
| 1076 | %ln1Eg = getelementptr inbounds i64* %ln1Ef, i32 0 |
|---|
| 1077 | store i64 %ln1Ee, i64* %ln1Eg |
|---|
| 1078 | %ln1Eh = load i64** %Base_Var |
|---|
| 1079 | %ln1Ei = load i64** %Sp_Var |
|---|
| 1080 | %ln1Ej = load i64** %Hp_Var |
|---|
| 1081 | %ln1Ek = load i64* %R1_Var |
|---|
| 1082 | %ln1El = load i64* %R2_Var |
|---|
| 1083 | %ln1Em = load i64* %R3_Var |
|---|
| 1084 | %ln1En = load i64* %R4_Var |
|---|
| 1085 | %ln1Eo = load i64* %R5_Var |
|---|
| 1086 | %ln1Ep = load i64* %R6_Var |
|---|
| 1087 | %ln1Eq = load i64* %SpLim_Var |
|---|
| 1088 | %ln1Er = load float* %F1_Var |
|---|
| 1089 | %ln1Es = load float* %F2_Var |
|---|
| 1090 | %ln1Et = load float* %F3_Var |
|---|
| 1091 | %ln1Eu = load float* %F4_Var |
|---|
| 1092 | %ln1Ev = load double* %D1_Var |
|---|
| 1093 | %ln1Ew = load double* %D2_Var |
|---|
| 1094 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_SystemziIO_readIO8_info( i64* %ln1Eh,i64* %ln1Ei,i64* %ln1Ej,i64 %ln1Ek,i64 %ln1El,i64 %ln1Em,i64 %ln1En,i64 %ln1Eo,i64 %ln1Ep,i64 %ln1Eq,float %ln1Er,float %ln1Es,float %ln1Et,float %ln1Eu,double %ln1Ev,double %ln1Ew ) nounwind |
|---|
| 1095 | ret void |
|---|
| 1096 | } |
|---|
| 1097 | |
|---|
| 1098 | |
|---|
| 1099 | |
|---|
| 1100 | ==================== LLVM Code ==================== |
|---|
| 1101 | declare cc 10 void @base_TextziParserCombinatorsziReadP_run_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 |
|---|
| 1102 | %s1me_ret_struct = type <{i64,i64,i64}> |
|---|
| 1103 | @s1me_info_itable = internal constant %s1me_ret_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1me_info to i64)),i64 0),i64 0,i64 133143986208}>, section ".text; .text 0#", align 8 |
|---|
| 1104 | define internal cc 10 void @s1me_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 ".text; .text 1#" |
|---|
| 1105 | { |
|---|
| 1106 | c1ET: |
|---|
| 1107 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1108 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1109 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1110 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1111 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1112 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1113 | %R1_Var = alloca i64, i32 1 |
|---|
| 1114 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1115 | %R2_Var = alloca i64, i32 1 |
|---|
| 1116 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1117 | %R3_Var = alloca i64, i32 1 |
|---|
| 1118 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1119 | %R4_Var = alloca i64, i32 1 |
|---|
| 1120 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1121 | %R5_Var = alloca i64, i32 1 |
|---|
| 1122 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1123 | %R6_Var = alloca i64, i32 1 |
|---|
| 1124 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1125 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1126 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1127 | %F1_Var = alloca float, i32 1 |
|---|
| 1128 | store float %F1_Arg, float* %F1_Var |
|---|
| 1129 | %F2_Var = alloca float, i32 1 |
|---|
| 1130 | store float %F2_Arg, float* %F2_Var |
|---|
| 1131 | %F3_Var = alloca float, i32 1 |
|---|
| 1132 | store float %F3_Arg, float* %F3_Var |
|---|
| 1133 | %F4_Var = alloca float, i32 1 |
|---|
| 1134 | store float %F4_Arg, float* %F4_Var |
|---|
| 1135 | %D1_Var = alloca double, i32 1 |
|---|
| 1136 | store double %D1_Arg, double* %D1_Var |
|---|
| 1137 | %D2_Var = alloca double, i32 1 |
|---|
| 1138 | store double %D2_Arg, double* %D2_Var |
|---|
| 1139 | %ln1EU = ptrtoint %Main_main3_closure_struct* @Main_main3_closure to i64 |
|---|
| 1140 | store i64 %ln1EU, i64* %R2_Var |
|---|
| 1141 | %ln1EV = load i64* %R1_Var |
|---|
| 1142 | store i64 %ln1EV, i64* %R3_Var |
|---|
| 1143 | %ln1EW = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1md_info to i64 |
|---|
| 1144 | %ln1EX = load i64** %Sp_Var |
|---|
| 1145 | %ln1EY = getelementptr inbounds i64* %ln1EX, i32 0 |
|---|
| 1146 | store i64 %ln1EW, i64* %ln1EY |
|---|
| 1147 | %ln1EZ = load i64** %Base_Var |
|---|
| 1148 | %ln1F0 = load i64** %Sp_Var |
|---|
| 1149 | %ln1F1 = load i64** %Hp_Var |
|---|
| 1150 | %ln1F2 = load i64* %R1_Var |
|---|
| 1151 | %ln1F3 = load i64* %R2_Var |
|---|
| 1152 | %ln1F4 = load i64* %R3_Var |
|---|
| 1153 | %ln1F5 = load i64* %R4_Var |
|---|
| 1154 | %ln1F6 = load i64* %R5_Var |
|---|
| 1155 | %ln1F7 = load i64* %R6_Var |
|---|
| 1156 | %ln1F8 = load i64* %SpLim_Var |
|---|
| 1157 | %ln1F9 = load float* %F1_Var |
|---|
| 1158 | %ln1Fa = load float* %F2_Var |
|---|
| 1159 | %ln1Fb = load float* %F3_Var |
|---|
| 1160 | %ln1Fc = load float* %F4_Var |
|---|
| 1161 | %ln1Fd = load double* %D1_Var |
|---|
| 1162 | %ln1Fe = load double* %D2_Var |
|---|
| 1163 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_TextziParserCombinatorsziReadP_run_info( i64* %ln1EZ,i64* %ln1F0,i64* %ln1F1,i64 %ln1F2,i64 %ln1F3,i64 %ln1F4,i64 %ln1F5,i64 %ln1F6,i64 %ln1F7,i64 %ln1F8,float %ln1F9,float %ln1Fa,float %ln1Fb,float %ln1Fc,double %ln1Fd,double %ln1Fe ) nounwind |
|---|
| 1164 | ret void |
|---|
| 1165 | } |
|---|
| 1166 | |
|---|
| 1167 | |
|---|
| 1168 | |
|---|
| 1169 | ==================== LLVM Code ==================== |
|---|
| 1170 | declare cc 10 void @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_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 |
|---|
| 1171 | %Main_main1_entry_struct = type <{i64,i64,i64,i64}> |
|---|
| 1172 | @Main_main1_info_itable = constant %Main_main1_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main1_srt_struct* @Main_main1_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,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 2194728288271}>, section ".text; .text 0#", align 8 |
|---|
| 1173 | 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 ".text; .text 1#" |
|---|
| 1174 | { |
|---|
| 1175 | c1G9: |
|---|
| 1176 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1177 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1178 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1179 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1180 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1181 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1182 | %R1_Var = alloca i64, i32 1 |
|---|
| 1183 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1184 | %R2_Var = alloca i64, i32 1 |
|---|
| 1185 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1186 | %R3_Var = alloca i64, i32 1 |
|---|
| 1187 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1188 | %R4_Var = alloca i64, i32 1 |
|---|
| 1189 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1190 | %R5_Var = alloca i64, i32 1 |
|---|
| 1191 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1192 | %R6_Var = alloca i64, i32 1 |
|---|
| 1193 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1194 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1195 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1196 | %F1_Var = alloca float, i32 1 |
|---|
| 1197 | store float %F1_Arg, float* %F1_Var |
|---|
| 1198 | %F2_Var = alloca float, i32 1 |
|---|
| 1199 | store float %F2_Arg, float* %F2_Var |
|---|
| 1200 | %F3_Var = alloca float, i32 1 |
|---|
| 1201 | store float %F3_Arg, float* %F3_Var |
|---|
| 1202 | %F4_Var = alloca float, i32 1 |
|---|
| 1203 | store float %F4_Arg, float* %F4_Var |
|---|
| 1204 | %D1_Var = alloca double, i32 1 |
|---|
| 1205 | store double %D1_Arg, double* %D1_Var |
|---|
| 1206 | %D2_Var = alloca double, i32 1 |
|---|
| 1207 | store double %D2_Arg, double* %D2_Var |
|---|
| 1208 | %ln1Ga = load i64** %Sp_Var |
|---|
| 1209 | %ln1Gb = getelementptr inbounds i64* %ln1Ga, i32 -2 |
|---|
| 1210 | %ln1Gc = ptrtoint i64* %ln1Gb to i64 |
|---|
| 1211 | %ln1Gd = load i64* %SpLim_Var |
|---|
| 1212 | %ln1Ge = icmp ult i64 %ln1Gc, %ln1Gd |
|---|
| 1213 | br i1 %ln1Ge, label %c1Gg, label %n1Gh |
|---|
| 1214 | n1Gh: |
|---|
| 1215 | %ln1Gi = ptrtoint [0 x i64]* @base_GHCziIOziHandleziText_hGetLine3_closure to i64 |
|---|
| 1216 | store i64 %ln1Gi, i64* %R2_Var |
|---|
| 1217 | %ln1Gj = ptrtoint [0 x i64]* @base_GHCziIOziHandleziFD_stdin_closure to i64 |
|---|
| 1218 | store i64 %ln1Gj, i64* %R3_Var |
|---|
| 1219 | %ln1Gk = ptrtoint [0 x i64]* @base_GHCziIOziHandleziText_hGetLine2_closure to i64 |
|---|
| 1220 | %ln1Gl = add i64 %ln1Gk, 2 |
|---|
| 1221 | store i64 %ln1Gl, i64* %R4_Var |
|---|
| 1222 | %ln1Gm = ptrtoint void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @s1me_info to i64 |
|---|
| 1223 | %ln1Gn = load i64** %Sp_Var |
|---|
| 1224 | %ln1Go = getelementptr inbounds i64* %ln1Gn, i32 -1 |
|---|
| 1225 | store i64 %ln1Gm, i64* %ln1Go |
|---|
| 1226 | %ln1Gp = load i64** %Sp_Var |
|---|
| 1227 | %ln1Gq = getelementptr inbounds i64* %ln1Gp, i32 -1 |
|---|
| 1228 | %ln1Gr = ptrtoint i64* %ln1Gq to i64 |
|---|
| 1229 | %ln1Gs = inttoptr i64 %ln1Gr to i64* |
|---|
| 1230 | store i64* %ln1Gs, i64** %Sp_Var |
|---|
| 1231 | %ln1Gt = load i64** %Base_Var |
|---|
| 1232 | %ln1Gu = load i64** %Sp_Var |
|---|
| 1233 | %ln1Gv = load i64** %Hp_Var |
|---|
| 1234 | %ln1Gw = load i64* %R1_Var |
|---|
| 1235 | %ln1Gx = load i64* %R2_Var |
|---|
| 1236 | %ln1Gy = load i64* %R3_Var |
|---|
| 1237 | %ln1Gz = load i64* %R4_Var |
|---|
| 1238 | %ln1GA = load i64* %R5_Var |
|---|
| 1239 | %ln1GB = load i64* %R6_Var |
|---|
| 1240 | %ln1GC = load i64* %SpLim_Var |
|---|
| 1241 | %ln1GD = load float* %F1_Var |
|---|
| 1242 | %ln1GE = load float* %F2_Var |
|---|
| 1243 | %ln1GF = load float* %F3_Var |
|---|
| 1244 | %ln1GG = load float* %F4_Var |
|---|
| 1245 | %ln1GH = load double* %D1_Var |
|---|
| 1246 | %ln1GI = load double* %D2_Var |
|---|
| 1247 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziIOziHandleziInternals_wantReadableHandlezu1_info( i64* %ln1Gt,i64* %ln1Gu,i64* %ln1Gv,i64 %ln1Gw,i64 %ln1Gx,i64 %ln1Gy,i64 %ln1Gz,i64 %ln1GA,i64 %ln1GB,i64 %ln1GC,float %ln1GD,float %ln1GE,float %ln1GF,float %ln1GG,double %ln1GH,double %ln1GI ) nounwind |
|---|
| 1248 | ret void |
|---|
| 1249 | c1Gg: |
|---|
| 1250 | %ln1GJ = ptrtoint %Main_main1_closure_struct* @Main_main1_closure to i64 |
|---|
| 1251 | store i64 %ln1GJ, i64* %R1_Var |
|---|
| 1252 | %ln1GK = load i64** %Base_Var |
|---|
| 1253 | %ln1GL = getelementptr inbounds i64* %ln1GK, i32 -1 |
|---|
| 1254 | %ln1GM = bitcast i64* %ln1GL to i64* |
|---|
| 1255 | %ln1GN = load i64* %ln1GM |
|---|
| 1256 | %ln1GO = inttoptr i64 %ln1GN to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 1257 | %ln1GP = load i64** %Base_Var |
|---|
| 1258 | %ln1GQ = load i64** %Sp_Var |
|---|
| 1259 | %ln1GR = load i64** %Hp_Var |
|---|
| 1260 | %ln1GS = load i64* %R1_Var |
|---|
| 1261 | %ln1GT = load i64* %R2_Var |
|---|
| 1262 | %ln1GU = load i64* %R3_Var |
|---|
| 1263 | %ln1GV = load i64* %R4_Var |
|---|
| 1264 | %ln1GW = load i64* %R5_Var |
|---|
| 1265 | %ln1GX = load i64* %R6_Var |
|---|
| 1266 | %ln1GY = load i64* %SpLim_Var |
|---|
| 1267 | %ln1GZ = load float* %F1_Var |
|---|
| 1268 | %ln1H0 = load float* %F2_Var |
|---|
| 1269 | %ln1H1 = load float* %F3_Var |
|---|
| 1270 | %ln1H2 = load float* %F4_Var |
|---|
| 1271 | %ln1H3 = load double* %D1_Var |
|---|
| 1272 | %ln1H4 = load double* %D2_Var |
|---|
| 1273 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1GO( i64* %ln1GP,i64* %ln1GQ,i64* %ln1GR,i64 %ln1GS,i64 %ln1GT,i64 %ln1GU,i64 %ln1GV,i64 %ln1GW,i64 %ln1GX,i64 %ln1GY,float %ln1GZ,float %ln1H0,float %ln1H1,float %ln1H2,double %ln1H3,double %ln1H4 ) nounwind |
|---|
| 1274 | ret void |
|---|
| 1275 | } |
|---|
| 1276 | |
|---|
| 1277 | |
|---|
| 1278 | |
|---|
| 1279 | ==================== LLVM Code ==================== |
|---|
| 1280 | |
|---|
| 1281 | |
|---|
| 1282 | |
|---|
| 1283 | ==================== LLVM Code ==================== |
|---|
| 1284 | |
|---|
| 1285 | |
|---|
| 1286 | |
|---|
| 1287 | ==================== LLVM Code ==================== |
|---|
| 1288 | 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 |
|---|
| 1289 | %Main_main4_entry_struct = type <{i64,i64,i64,i64}> |
|---|
| 1290 | @Main_main4_info_itable = constant %Main_main4_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main4_srt_struct* @Main_main4_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* @Main_main4_info to i64)),i64 0),i64 4294967299,i64 0,i64 12884901903}>, section ".text; .text 0#", align 8 |
|---|
| 1291 | define cc 10 void @Main_main4_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 ".text; .text 1#" |
|---|
| 1292 | { |
|---|
| 1293 | c1Hr: |
|---|
| 1294 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1295 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1296 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1297 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1298 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1299 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1300 | %R1_Var = alloca i64, i32 1 |
|---|
| 1301 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1302 | %R2_Var = alloca i64, i32 1 |
|---|
| 1303 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1304 | %R3_Var = alloca i64, i32 1 |
|---|
| 1305 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1306 | %R4_Var = alloca i64, i32 1 |
|---|
| 1307 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1308 | %R5_Var = alloca i64, i32 1 |
|---|
| 1309 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1310 | %R6_Var = alloca i64, i32 1 |
|---|
| 1311 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1312 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1313 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1314 | %F1_Var = alloca float, i32 1 |
|---|
| 1315 | store float %F1_Arg, float* %F1_Var |
|---|
| 1316 | %F2_Var = alloca float, i32 1 |
|---|
| 1317 | store float %F2_Arg, float* %F2_Var |
|---|
| 1318 | %F3_Var = alloca float, i32 1 |
|---|
| 1319 | store float %F3_Arg, float* %F3_Var |
|---|
| 1320 | %F4_Var = alloca float, i32 1 |
|---|
| 1321 | store float %F4_Arg, float* %F4_Var |
|---|
| 1322 | %D1_Var = alloca double, i32 1 |
|---|
| 1323 | store double %D1_Arg, double* %D1_Var |
|---|
| 1324 | %D2_Var = alloca double, i32 1 |
|---|
| 1325 | store double %D2_Arg, double* %D2_Var |
|---|
| 1326 | %ln1Hs = ptrtoint %Main_main1_closure_struct* @Main_main1_closure to i64 |
|---|
| 1327 | %ln1Ht = add i64 %ln1Hs, 1 |
|---|
| 1328 | store i64 %ln1Ht, i64* %R2_Var |
|---|
| 1329 | %ln1Hu = load i64** %Base_Var |
|---|
| 1330 | %ln1Hv = load i64** %Sp_Var |
|---|
| 1331 | %ln1Hw = load i64** %Hp_Var |
|---|
| 1332 | %ln1Hx = load i64* %R1_Var |
|---|
| 1333 | %ln1Hy = load i64* %R2_Var |
|---|
| 1334 | %ln1Hz = load i64* %R3_Var |
|---|
| 1335 | %ln1HA = load i64* %R4_Var |
|---|
| 1336 | %ln1HB = load i64* %R5_Var |
|---|
| 1337 | %ln1HC = load i64* %R6_Var |
|---|
| 1338 | %ln1HD = load i64* %SpLim_Var |
|---|
| 1339 | %ln1HE = load float* %F1_Var |
|---|
| 1340 | %ln1HF = load float* %F2_Var |
|---|
| 1341 | %ln1HG = load float* %F3_Var |
|---|
| 1342 | %ln1HH = load float* %F4_Var |
|---|
| 1343 | %ln1HI = load double* %D1_Var |
|---|
| 1344 | %ln1HJ = load double* %D2_Var |
|---|
| 1345 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @base_GHCziTopHandler_runMainIO1_info( i64* %ln1Hu,i64* %ln1Hv,i64* %ln1Hw,i64 %ln1Hx,i64 %ln1Hy,i64 %ln1Hz,i64 %ln1HA,i64 %ln1HB,i64 %ln1HC,i64 %ln1HD,float %ln1HE,float %ln1HF,float %ln1HG,float %ln1HH,double %ln1HI,double %ln1HJ ) nounwind |
|---|
| 1346 | ret void |
|---|
| 1347 | } |
|---|
| 1348 | |
|---|
| 1349 | |
|---|
| 1350 | |
|---|
| 1351 | ==================== LLVM Code ==================== |
|---|
| 1352 | |
|---|
| 1353 | |
|---|
| 1354 | |
|---|
| 1355 | ==================== LLVM Code ==================== |
|---|
| 1356 | |
|---|
| 1357 | |
|---|
| 1358 | |
|---|
| 1359 | ==================== LLVM Code ==================== |
|---|
| 1360 | %Main_main_entry_struct = type <{i64,i64,i64,i64}> |
|---|
| 1361 | @Main_main_info_itable = constant %Main_main_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%Main_main_srt_struct* @Main_main_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,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 ".text; .text 0#", align 8 |
|---|
| 1362 | 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 ".text; .text 1#" |
|---|
| 1363 | { |
|---|
| 1364 | c1I4: |
|---|
| 1365 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1366 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1367 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1368 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1369 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1370 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1371 | %R1_Var = alloca i64, i32 1 |
|---|
| 1372 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1373 | %R2_Var = alloca i64, i32 1 |
|---|
| 1374 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1375 | %R3_Var = alloca i64, i32 1 |
|---|
| 1376 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1377 | %R4_Var = alloca i64, i32 1 |
|---|
| 1378 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1379 | %R5_Var = alloca i64, i32 1 |
|---|
| 1380 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1381 | %R6_Var = alloca i64, i32 1 |
|---|
| 1382 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1383 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1384 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1385 | %F1_Var = alloca float, i32 1 |
|---|
| 1386 | store float %F1_Arg, float* %F1_Var |
|---|
| 1387 | %F2_Var = alloca float, i32 1 |
|---|
| 1388 | store float %F2_Arg, float* %F2_Var |
|---|
| 1389 | %F3_Var = alloca float, i32 1 |
|---|
| 1390 | store float %F3_Arg, float* %F3_Var |
|---|
| 1391 | %F4_Var = alloca float, i32 1 |
|---|
| 1392 | store float %F4_Arg, float* %F4_Var |
|---|
| 1393 | %D1_Var = alloca double, i32 1 |
|---|
| 1394 | store double %D1_Arg, double* %D1_Var |
|---|
| 1395 | %D2_Var = alloca double, i32 1 |
|---|
| 1396 | store double %D2_Arg, double* %D2_Var |
|---|
| 1397 | %ln1I5 = load i64** %Base_Var |
|---|
| 1398 | %ln1I6 = load i64** %Sp_Var |
|---|
| 1399 | %ln1I7 = load i64** %Hp_Var |
|---|
| 1400 | %ln1I8 = load i64* %R1_Var |
|---|
| 1401 | %ln1I9 = load i64* %R2_Var |
|---|
| 1402 | %ln1Ia = load i64* %R3_Var |
|---|
| 1403 | %ln1Ib = load i64* %R4_Var |
|---|
| 1404 | %ln1Ic = load i64* %R5_Var |
|---|
| 1405 | %ln1Id = load i64* %R6_Var |
|---|
| 1406 | %ln1Ie = load i64* %SpLim_Var |
|---|
| 1407 | %ln1If = load float* %F1_Var |
|---|
| 1408 | %ln1Ig = load float* %F2_Var |
|---|
| 1409 | %ln1Ih = load float* %F3_Var |
|---|
| 1410 | %ln1Ii = load float* %F4_Var |
|---|
| 1411 | %ln1Ij = load double* %D1_Var |
|---|
| 1412 | %ln1Ik = load double* %D2_Var |
|---|
| 1413 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main1_info( i64* %ln1I5,i64* %ln1I6,i64* %ln1I7,i64 %ln1I8,i64 %ln1I9,i64 %ln1Ia,i64 %ln1Ib,i64 %ln1Ic,i64 %ln1Id,i64 %ln1Ie,float %ln1If,float %ln1Ig,float %ln1Ih,float %ln1Ii,double %ln1Ij,double %ln1Ik ) nounwind |
|---|
| 1414 | ret void |
|---|
| 1415 | } |
|---|
| 1416 | |
|---|
| 1417 | |
|---|
| 1418 | |
|---|
| 1419 | ==================== LLVM Code ==================== |
|---|
| 1420 | |
|---|
| 1421 | |
|---|
| 1422 | |
|---|
| 1423 | ==================== LLVM Code ==================== |
|---|
| 1424 | |
|---|
| 1425 | |
|---|
| 1426 | |
|---|
| 1427 | ==================== LLVM Code ==================== |
|---|
| 1428 | %ZCMain_main_entry_struct = type <{i64,i64,i64,i64}> |
|---|
| 1429 | @ZCMain_main_info_itable = constant %ZCMain_main_entry_struct <{i64 add (i64 sub (i64 ptrtoint (%ZCMain_main_srt_struct* @ZCMain_main_srt to i64),i64 ptrtoint (void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,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 ".text; .text 0#", align 8 |
|---|
| 1430 | 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 ".text; .text 1#" |
|---|
| 1431 | { |
|---|
| 1432 | c1IF: |
|---|
| 1433 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1434 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1435 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1436 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1437 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1438 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1439 | %R1_Var = alloca i64, i32 1 |
|---|
| 1440 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1441 | %R2_Var = alloca i64, i32 1 |
|---|
| 1442 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1443 | %R3_Var = alloca i64, i32 1 |
|---|
| 1444 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1445 | %R4_Var = alloca i64, i32 1 |
|---|
| 1446 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1447 | %R5_Var = alloca i64, i32 1 |
|---|
| 1448 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1449 | %R6_Var = alloca i64, i32 1 |
|---|
| 1450 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1451 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1452 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1453 | %F1_Var = alloca float, i32 1 |
|---|
| 1454 | store float %F1_Arg, float* %F1_Var |
|---|
| 1455 | %F2_Var = alloca float, i32 1 |
|---|
| 1456 | store float %F2_Arg, float* %F2_Var |
|---|
| 1457 | %F3_Var = alloca float, i32 1 |
|---|
| 1458 | store float %F3_Arg, float* %F3_Var |
|---|
| 1459 | %F4_Var = alloca float, i32 1 |
|---|
| 1460 | store float %F4_Arg, float* %F4_Var |
|---|
| 1461 | %D1_Var = alloca double, i32 1 |
|---|
| 1462 | store double %D1_Arg, double* %D1_Var |
|---|
| 1463 | %D2_Var = alloca double, i32 1 |
|---|
| 1464 | store double %D2_Arg, double* %D2_Var |
|---|
| 1465 | %ln1IG = load i64** %Base_Var |
|---|
| 1466 | %ln1IH = load i64** %Sp_Var |
|---|
| 1467 | %ln1II = load i64** %Hp_Var |
|---|
| 1468 | %ln1IJ = load i64* %R1_Var |
|---|
| 1469 | %ln1IK = load i64* %R2_Var |
|---|
| 1470 | %ln1IL = load i64* %R3_Var |
|---|
| 1471 | %ln1IM = load i64* %R4_Var |
|---|
| 1472 | %ln1IN = load i64* %R5_Var |
|---|
| 1473 | %ln1IO = load i64* %R6_Var |
|---|
| 1474 | %ln1IP = load i64* %SpLim_Var |
|---|
| 1475 | %ln1IQ = load float* %F1_Var |
|---|
| 1476 | %ln1IR = load float* %F2_Var |
|---|
| 1477 | %ln1IS = load float* %F3_Var |
|---|
| 1478 | %ln1IT = load float* %F4_Var |
|---|
| 1479 | %ln1IU = load double* %D1_Var |
|---|
| 1480 | %ln1IV = load double* %D2_Var |
|---|
| 1481 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @Main_main4_info( i64* %ln1IG,i64* %ln1IH,i64* %ln1II,i64 %ln1IJ,i64 %ln1IK,i64 %ln1IL,i64 %ln1IM,i64 %ln1IN,i64 %ln1IO,i64 %ln1IP,float %ln1IQ,float %ln1IR,float %ln1IS,float %ln1IT,double %ln1IU,double %ln1IV ) nounwind |
|---|
| 1482 | ret void |
|---|
| 1483 | } |
|---|
| 1484 | |
|---|
| 1485 | |
|---|
| 1486 | |
|---|
| 1487 | ==================== LLVM Code ==================== |
|---|
| 1488 | |
|---|
| 1489 | |
|---|
| 1490 | |
|---|
| 1491 | ==================== LLVM Code ==================== |
|---|
| 1492 | @__stginit_base_Prelude_ = external global [0 x i64] |
|---|
| 1493 | @__stginit_base_GHCziTopHandler_ = external global [0 x i64] |
|---|
| 1494 | define cc 10 void @__stginit_Main_(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 |
|---|
| 1495 | { |
|---|
| 1496 | c1JJ: |
|---|
| 1497 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1498 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1499 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1500 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1501 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1502 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1503 | %R1_Var = alloca i64, i32 1 |
|---|
| 1504 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1505 | %R2_Var = alloca i64, i32 1 |
|---|
| 1506 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1507 | %R3_Var = alloca i64, i32 1 |
|---|
| 1508 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1509 | %R4_Var = alloca i64, i32 1 |
|---|
| 1510 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1511 | %R5_Var = alloca i64, i32 1 |
|---|
| 1512 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1513 | %R6_Var = alloca i64, i32 1 |
|---|
| 1514 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1515 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1516 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1517 | %F1_Var = alloca float, i32 1 |
|---|
| 1518 | store float %F1_Arg, float* %F1_Var |
|---|
| 1519 | %F2_Var = alloca float, i32 1 |
|---|
| 1520 | store float %F2_Arg, float* %F2_Var |
|---|
| 1521 | %F3_Var = alloca float, i32 1 |
|---|
| 1522 | store float %F3_Arg, float* %F3_Var |
|---|
| 1523 | %F4_Var = alloca float, i32 1 |
|---|
| 1524 | store float %F4_Arg, float* %F4_Var |
|---|
| 1525 | %D1_Var = alloca double, i32 1 |
|---|
| 1526 | store double %D1_Arg, double* %D1_Var |
|---|
| 1527 | %D2_Var = alloca double, i32 1 |
|---|
| 1528 | store double %D2_Arg, double* %D2_Var |
|---|
| 1529 | %ln1JK = ptrtoint %_module_registered_struct* @_module_registered to i64 |
|---|
| 1530 | %ln1JL = inttoptr i64 %ln1JK to i64* |
|---|
| 1531 | %ln1JM = load i64* %ln1JL |
|---|
| 1532 | %ln1JN = icmp ne i64 0, %ln1JM |
|---|
| 1533 | br i1 %ln1JN, label %c1JO, label %n1JP |
|---|
| 1534 | n1JP: |
|---|
| 1535 | br label %c1JQ |
|---|
| 1536 | c1JO: |
|---|
| 1537 | %ln1JR = load i64** %Sp_Var |
|---|
| 1538 | %ln1JS = getelementptr inbounds i64* %ln1JR, i32 1 |
|---|
| 1539 | %ln1JT = ptrtoint i64* %ln1JS to i64 |
|---|
| 1540 | %ln1JU = inttoptr i64 %ln1JT to i64* |
|---|
| 1541 | store i64* %ln1JU, i64** %Sp_Var |
|---|
| 1542 | %ln1JV = load i64** %Sp_Var |
|---|
| 1543 | %ln1JW = getelementptr inbounds i64* %ln1JV, i32 -1 |
|---|
| 1544 | %ln1JX = bitcast i64* %ln1JW to i64* |
|---|
| 1545 | %ln1JY = load i64* %ln1JX |
|---|
| 1546 | %ln1JZ = inttoptr i64 %ln1JY to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 1547 | %ln1K0 = load i64** %Base_Var |
|---|
| 1548 | %ln1K1 = load i64** %Sp_Var |
|---|
| 1549 | %ln1K2 = load i64** %Hp_Var |
|---|
| 1550 | %ln1K3 = load i64* %R1_Var |
|---|
| 1551 | %ln1K4 = load i64* %R2_Var |
|---|
| 1552 | %ln1K5 = load i64* %R3_Var |
|---|
| 1553 | %ln1K6 = load i64* %R4_Var |
|---|
| 1554 | %ln1K7 = load i64* %R5_Var |
|---|
| 1555 | %ln1K8 = load i64* %R6_Var |
|---|
| 1556 | %ln1K9 = load i64* %SpLim_Var |
|---|
| 1557 | %ln1Ka = load float* %F1_Var |
|---|
| 1558 | %ln1Kb = load float* %F2_Var |
|---|
| 1559 | %ln1Kc = load float* %F3_Var |
|---|
| 1560 | %ln1Kd = load float* %F4_Var |
|---|
| 1561 | %ln1Ke = load double* %D1_Var |
|---|
| 1562 | %ln1Kf = load double* %D2_Var |
|---|
| 1563 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1JZ( i64* %ln1K0,i64* %ln1K1,i64* %ln1K2,i64 %ln1K3,i64 %ln1K4,i64 %ln1K5,i64 %ln1K6,i64 %ln1K7,i64 %ln1K8,i64 %ln1K9,float %ln1Ka,float %ln1Kb,float %ln1Kc,float %ln1Kd,double %ln1Ke,double %ln1Kf ) nounwind |
|---|
| 1564 | ret void |
|---|
| 1565 | c1JQ: |
|---|
| 1566 | %ln1Kg = ptrtoint %_module_registered_struct* @_module_registered to i64 |
|---|
| 1567 | %ln1Kh = inttoptr i64 %ln1Kg to i64* |
|---|
| 1568 | store i64 1, i64* %ln1Kh |
|---|
| 1569 | %ln1Ki = load i64** %Sp_Var |
|---|
| 1570 | %ln1Kj = getelementptr inbounds i64* %ln1Ki, i32 -1 |
|---|
| 1571 | %ln1Kk = ptrtoint i64* %ln1Kj to i64 |
|---|
| 1572 | %ln1Kl = inttoptr i64 %ln1Kk to i64* |
|---|
| 1573 | store i64* %ln1Kl, i64** %Sp_Var |
|---|
| 1574 | %ln1Km = ptrtoint [0 x i64]* @__stginit_base_Prelude_ to i64 |
|---|
| 1575 | %ln1Kn = load i64** %Sp_Var |
|---|
| 1576 | %ln1Ko = getelementptr inbounds i64* %ln1Kn, i32 0 |
|---|
| 1577 | store i64 %ln1Km, i64* %ln1Ko |
|---|
| 1578 | %ln1Kp = load i64** %Sp_Var |
|---|
| 1579 | %ln1Kq = getelementptr inbounds i64* %ln1Kp, i32 -1 |
|---|
| 1580 | %ln1Kr = ptrtoint i64* %ln1Kq to i64 |
|---|
| 1581 | %ln1Ks = inttoptr i64 %ln1Kr to i64* |
|---|
| 1582 | store i64* %ln1Ks, i64** %Sp_Var |
|---|
| 1583 | %ln1Kt = ptrtoint [0 x i64]* @__stginit_base_GHCziTopHandler_ to i64 |
|---|
| 1584 | %ln1Ku = load i64** %Sp_Var |
|---|
| 1585 | %ln1Kv = getelementptr inbounds i64* %ln1Ku, i32 0 |
|---|
| 1586 | store i64 %ln1Kt, i64* %ln1Kv |
|---|
| 1587 | br label %c1JO |
|---|
| 1588 | } |
|---|
| 1589 | |
|---|
| 1590 | |
|---|
| 1591 | |
|---|
| 1592 | ==================== LLVM Code ==================== |
|---|
| 1593 | define cc 10 void @__stginit_Main(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 |
|---|
| 1594 | { |
|---|
| 1595 | c1KN: |
|---|
| 1596 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1597 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1598 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1599 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1600 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1601 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1602 | %R1_Var = alloca i64, i32 1 |
|---|
| 1603 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1604 | %R2_Var = alloca i64, i32 1 |
|---|
| 1605 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1606 | %R3_Var = alloca i64, i32 1 |
|---|
| 1607 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1608 | %R4_Var = alloca i64, i32 1 |
|---|
| 1609 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1610 | %R5_Var = alloca i64, i32 1 |
|---|
| 1611 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1612 | %R6_Var = alloca i64, i32 1 |
|---|
| 1613 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1614 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1615 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1616 | %F1_Var = alloca float, i32 1 |
|---|
| 1617 | store float %F1_Arg, float* %F1_Var |
|---|
| 1618 | %F2_Var = alloca float, i32 1 |
|---|
| 1619 | store float %F2_Arg, float* %F2_Var |
|---|
| 1620 | %F3_Var = alloca float, i32 1 |
|---|
| 1621 | store float %F3_Arg, float* %F3_Var |
|---|
| 1622 | %F4_Var = alloca float, i32 1 |
|---|
| 1623 | store float %F4_Arg, float* %F4_Var |
|---|
| 1624 | %D1_Var = alloca double, i32 1 |
|---|
| 1625 | store double %D1_Arg, double* %D1_Var |
|---|
| 1626 | %D2_Var = alloca double, i32 1 |
|---|
| 1627 | store double %D2_Arg, double* %D2_Var |
|---|
| 1628 | %ln1KO = load i64** %Base_Var |
|---|
| 1629 | %ln1KP = load i64** %Sp_Var |
|---|
| 1630 | %ln1KQ = load i64** %Hp_Var |
|---|
| 1631 | %ln1KR = load i64* %R1_Var |
|---|
| 1632 | %ln1KS = load i64* %R2_Var |
|---|
| 1633 | %ln1KT = load i64* %R3_Var |
|---|
| 1634 | %ln1KU = load i64* %R4_Var |
|---|
| 1635 | %ln1KV = load i64* %R5_Var |
|---|
| 1636 | %ln1KW = load i64* %R6_Var |
|---|
| 1637 | %ln1KX = load i64* %SpLim_Var |
|---|
| 1638 | %ln1KY = load float* %F1_Var |
|---|
| 1639 | %ln1KZ = load float* %F2_Var |
|---|
| 1640 | %ln1L0 = load float* %F3_Var |
|---|
| 1641 | %ln1L1 = load float* %F4_Var |
|---|
| 1642 | %ln1L2 = load double* %D1_Var |
|---|
| 1643 | %ln1L3 = load double* %D2_Var |
|---|
| 1644 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* @__stginit_Main_( i64* %ln1KO,i64* %ln1KP,i64* %ln1KQ,i64 %ln1KR,i64 %ln1KS,i64 %ln1KT,i64 %ln1KU,i64 %ln1KV,i64 %ln1KW,i64 %ln1KX,float %ln1KY,float %ln1KZ,float %ln1L0,float %ln1L1,double %ln1L2,double %ln1L3 ) nounwind |
|---|
| 1645 | ret void |
|---|
| 1646 | } |
|---|
| 1647 | |
|---|
| 1648 | |
|---|
| 1649 | |
|---|
| 1650 | ==================== LLVM Code ==================== |
|---|
| 1651 | define cc 10 void @__stginit_ZCMain(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 |
|---|
| 1652 | { |
|---|
| 1653 | c1Lu: |
|---|
| 1654 | %Base_Var = alloca i64*, i32 1 |
|---|
| 1655 | store i64* %Base_Arg, i64** %Base_Var |
|---|
| 1656 | %Sp_Var = alloca i64*, i32 1 |
|---|
| 1657 | store i64* %Sp_Arg, i64** %Sp_Var |
|---|
| 1658 | %Hp_Var = alloca i64*, i32 1 |
|---|
| 1659 | store i64* %Hp_Arg, i64** %Hp_Var |
|---|
| 1660 | %R1_Var = alloca i64, i32 1 |
|---|
| 1661 | store i64 %R1_Arg, i64* %R1_Var |
|---|
| 1662 | %R2_Var = alloca i64, i32 1 |
|---|
| 1663 | store i64 %R2_Arg, i64* %R2_Var |
|---|
| 1664 | %R3_Var = alloca i64, i32 1 |
|---|
| 1665 | store i64 %R3_Arg, i64* %R3_Var |
|---|
| 1666 | %R4_Var = alloca i64, i32 1 |
|---|
| 1667 | store i64 %R4_Arg, i64* %R4_Var |
|---|
| 1668 | %R5_Var = alloca i64, i32 1 |
|---|
| 1669 | store i64 %R5_Arg, i64* %R5_Var |
|---|
| 1670 | %R6_Var = alloca i64, i32 1 |
|---|
| 1671 | store i64 %R6_Arg, i64* %R6_Var |
|---|
| 1672 | %SpLim_Var = alloca i64, i32 1 |
|---|
| 1673 | store i64 %SpLim_Arg, i64* %SpLim_Var |
|---|
| 1674 | %F1_Var = alloca float, i32 1 |
|---|
| 1675 | store float %F1_Arg, float* %F1_Var |
|---|
| 1676 | %F2_Var = alloca float, i32 1 |
|---|
| 1677 | store float %F2_Arg, float* %F2_Var |
|---|
| 1678 | %F3_Var = alloca float, i32 1 |
|---|
| 1679 | store float %F3_Arg, float* %F3_Var |
|---|
| 1680 | %F4_Var = alloca float, i32 1 |
|---|
| 1681 | store float %F4_Arg, float* %F4_Var |
|---|
| 1682 | %D1_Var = alloca double, i32 1 |
|---|
| 1683 | store double %D1_Arg, double* %D1_Var |
|---|
| 1684 | %D2_Var = alloca double, i32 1 |
|---|
| 1685 | store double %D2_Arg, double* %D2_Var |
|---|
| 1686 | %ln1Lv = load i64** %Sp_Var |
|---|
| 1687 | %ln1Lw = getelementptr inbounds i64* %ln1Lv, i32 1 |
|---|
| 1688 | %ln1Lx = ptrtoint i64* %ln1Lw to i64 |
|---|
| 1689 | %ln1Ly = inttoptr i64 %ln1Lx to i64* |
|---|
| 1690 | store i64* %ln1Ly, i64** %Sp_Var |
|---|
| 1691 | %ln1Lz = load i64** %Sp_Var |
|---|
| 1692 | %ln1LA = getelementptr inbounds i64* %ln1Lz, i32 -1 |
|---|
| 1693 | %ln1LB = bitcast i64* %ln1LA to i64* |
|---|
| 1694 | %ln1LC = load i64* %ln1LB |
|---|
| 1695 | %ln1LD = inttoptr i64 %ln1LC to void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,i64 ,float ,float ,float ,float ,double ,double )* |
|---|
| 1696 | %ln1LE = load i64** %Base_Var |
|---|
| 1697 | %ln1LF = load i64** %Sp_Var |
|---|
| 1698 | %ln1LG = load i64** %Hp_Var |
|---|
| 1699 | %ln1LH = load i64* %R1_Var |
|---|
| 1700 | %ln1LI = load i64* %R2_Var |
|---|
| 1701 | %ln1LJ = load i64* %R3_Var |
|---|
| 1702 | %ln1LK = load i64* %R4_Var |
|---|
| 1703 | %ln1LL = load i64* %R5_Var |
|---|
| 1704 | %ln1LM = load i64* %R6_Var |
|---|
| 1705 | %ln1LN = load i64* %SpLim_Var |
|---|
| 1706 | %ln1LO = load float* %F1_Var |
|---|
| 1707 | %ln1LP = load float* %F2_Var |
|---|
| 1708 | %ln1LQ = load float* %F3_Var |
|---|
| 1709 | %ln1LR = load float* %F4_Var |
|---|
| 1710 | %ln1LS = load double* %D1_Var |
|---|
| 1711 | %ln1LT = load double* %D2_Var |
|---|
| 1712 | tail call cc 10 void (i64* noalias nocapture,i64* noalias nocapture,i64* noalias nocapture,i64,i64,i64,i64,i64,i64,i64,float,float,float,float,double,double)* %ln1LD( i64* %ln1LE,i64* %ln1LF,i64* %ln1LG,i64 %ln1LH,i64 %ln1LI,i64 %ln1LJ,i64 %ln1LK,i64 %ln1LL,i64 %ln1LM,i64 %ln1LN,float %ln1LO,float %ln1LP,float %ln1LQ,float %ln1LR,double %ln1LS,double %ln1LT ) nounwind |
|---|
| 1713 | ret void |
|---|
| 1714 | } |
|---|
| 1715 | |
|---|