Created
February 12, 2017 01:15
-
-
Save tmcdonell/490e336274d8bff943b0259b13382907 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- compile with: | |
-- ghc -Odph -rtsopts -threaded -fno-liberate-case -funfolding-use-threshold1000 -funfolding-keeness-factor1000 -fllvm -optlo-O3 -c -keep-llvm-files Test.hs | |
module Test where | |
import Prelude as P | |
import Data.Array.Repa as R | |
test1 :: Array U DIM1 Double -> IO (Array U DIM1 Double) | |
test1 xs = computeUnboxedP $ R.map (+1) xs |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" | |
target triple = "x86_64-apple-darwin10.0.0" | |
declare ccc i8* @memcpy$def(i8*, i8*, i64) | |
declare ccc i8* @memmove$def(i8*, i8*, i64) | |
declare ccc i8* @memset$def(i8*, i64, i64) | |
declare ccc i64 @newSpark$def(i8*, i8*) | |
!0 = !{!"top", null} | |
!1 = !{!"stack", !0} | |
!2 = !{!"heap", !0} | |
!3 = !{!"rx", !2} | |
!4 = !{!"base", !0} | |
!5 = !{!"other", !0} | |
%__stginit_Test_struct = type <{}> | |
@__stginit_Test$def = internal global %__stginit_Test_struct<{}> | |
@__stginit_Test = alias i8* bitcast (%__stginit_Test_struct* @__stginit_Test$def to i8*) | |
%ciTx_str_struct = type <{[5 x i8]}> | |
%Test_zdtrModule1_closure_struct = type <{i64, i64}> | |
@ciTx_str$def = internal constant %ciTx_str_struct<{[5 x i8] [i8 84, i8 101, i8 115, i8 116, i8 0]}> | |
@ciTx_str = internal alias i8* bitcast (%ciTx_str_struct* @ciTx_str$def to i8*) | |
@Test_zdtrModule1_closure$def = internal global %Test_zdtrModule1_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_static_info to i64), i64 ptrtoint (i8* @ciTx_str to i64)}> | |
@Test_zdtrModule1_closure = alias i8* bitcast (%Test_zdtrModule1_closure_struct* @Test_zdtrModule1_closure$def to i8*) | |
%ciTz_str_struct = type <{[5 x i8]}> | |
%Test_zdtrModule2_closure_struct = type <{i64, i64}> | |
@ciTz_str$def = internal constant %ciTz_str_struct<{[5 x i8] [i8 109, i8 97, i8 105, i8 110, i8 0]}> | |
@ciTz_str = internal alias i8* bitcast (%ciTz_str_struct* @ciTz_str$def to i8*) | |
@Test_zdtrModule2_closure$def = internal global %Test_zdtrModule2_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_static_info to i64), i64 ptrtoint (i8* @ciTz_str to i64)}> | |
@Test_zdtrModule2_closure = alias i8* bitcast (%Test_zdtrModule2_closure_struct* @Test_zdtrModule2_closure$def to i8*) | |
%Test_zdtrModule_closure_struct = type <{i64, i64, i64, i64}> | |
@Test_zdtrModule_closure$def = internal global %Test_zdtrModule_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Module_static_info to i64), i64 add (i64 ptrtoint (%Test_zdtrModule2_closure_struct* @Test_zdtrModule2_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%Test_zdtrModule1_closure_struct* @Test_zdtrModule1_closure$def to i64),i64 1), i64 3}> | |
@Test_zdtrModule_closure = alias i8* bitcast (%Test_zdtrModule_closure_struct* @Test_zdtrModule_closure$def to i8*) | |
%riFu_closure_struct = type <{i64}> | |
@riFu_closure$def = internal global %riFu_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFu_info$def to i64)}> | |
@riFu_closure = internal alias i8* bitcast (%riFu_closure_struct* @riFu_closure$def to i8*) | |
@riFu_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFu_info$def to i8*) | |
define internal ghccc void @riFu_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 17179869207, i64 0, i64 15}> | |
{ | |
ciU0: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 %R4_Arg, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lniUq = load i64*, i64** %Sp_Var | |
%lniUr = getelementptr inbounds i64, i64* %lniUq, i32 -4 | |
%lniUs = ptrtoint i64* %lniUr to i64 | |
%lniUt = icmp ult i64 %lniUs, %SpLim_Arg | |
br i1 %lniUt, label %ciUd, label %ciUe | |
ciUe: | |
%lniUv = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciTY_info$def to i64 | |
%lniUu = load i64*, i64** %Sp_Var | |
%lniUw = getelementptr inbounds i64, i64* %lniUu, i32 -3 | |
store i64 %lniUv, i64* %lniUw, !tbaa !1 | |
%lniUx = load i64, i64* %R2_Var | |
store i64 %lniUx, i64* %R1_Var | |
%lniUz = load i64, i64* %R3_Var | |
%lniUy = load i64*, i64** %Sp_Var | |
%lniUA = getelementptr inbounds i64, i64* %lniUy, i32 -2 | |
store i64 %lniUz, i64* %lniUA, !tbaa !1 | |
%lniUC = load i64, i64* %R4_Var | |
%lniUB = load i64*, i64** %Sp_Var | |
%lniUD = getelementptr inbounds i64, i64* %lniUB, i32 -1 | |
store i64 %lniUC, i64* %lniUD, !tbaa !1 | |
%lniUE = load i64*, i64** %Sp_Var | |
%lniUF = getelementptr inbounds i64, i64* %lniUE, i32 -3 | |
%lniUG = ptrtoint i64* %lniUF to i64 | |
%lniUH = inttoptr i64 %lniUG to i64* | |
store i64* %lniUH, i64** %Sp_Var | |
%lniUI = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniUJ = load i64*, i64** %Sp_Var | |
%lniUK = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniUI( i64* %Base_Arg, i64* %lniUJ, i64* %Hp_Arg, i64 %lniUK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciUd: | |
%lniUL = load i64, i64* %R4_Var | |
store i64 %lniUL, i64* %R4_Var | |
%lniUM = load i64, i64* %R3_Var | |
store i64 %lniUM, i64* %R3_Var | |
%lniUN = load i64, i64* %R2_Var | |
store i64 %lniUN, i64* %R2_Var | |
%lniUO = ptrtoint %riFu_closure_struct* @riFu_closure$def to i64 | |
store i64 %lniUO, i64* %R1_Var | |
%lniUP = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lniUQ = bitcast i64* %lniUP to i64* | |
%lniUR = load i64, i64* %lniUQ, !tbaa !4 | |
%lniUS = inttoptr i64 %lniUR to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniUT = load i64*, i64** %Sp_Var | |
%lniUU = load i64, i64* %R1_Var | |
%lniUV = load i64, i64* %R2_Var | |
%lniUW = load i64, i64* %R3_Var | |
%lniUX = load i64, i64* %R4_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniUS( i64* %Base_Arg, i64* %lniUT, i64* %Hp_Arg, i64 %lniUU, i64 %lniUV, i64 %lniUW, i64 %lniUX, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ciTY_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciTY_info$def to i8*) | |
define internal ghccc void @ciTY_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 2, i64 32}> | |
{ | |
ciTY: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lniUY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU3_info$def to i64 | |
%lniUZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lniUY, i64* %lniUZ, !tbaa !1 | |
%lniV2 = load i64, i64* %R1_Var | |
%lniV3 = add i64 %lniV2, 7 | |
%lniV4 = inttoptr i64 %lniV3 to i64* | |
%lniV5 = load i64, i64* %lniV4, !tbaa !3 | |
store i64 %lniV5, i64* %R1_Var | |
%lniV6 = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniV7 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniV6( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lniV7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ciU3_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU3_info$def to i8*) | |
define internal ghccc void @ciU3_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 2, i64 32}> | |
{ | |
ciU3: | |
%lsiGJ = alloca i64, i32 1 | |
%lsiGH = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lniV9 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU7_info$def to i64 | |
%lniV8 = load i64*, i64** %Sp_Var | |
%lniVa = getelementptr inbounds i64, i64* %lniV8, i32 -1 | |
store i64 %lniV9, i64* %lniVa, !tbaa !1 | |
%lniVd = load i64, i64* %R1_Var | |
%lniVe = add i64 %lniVd, 7 | |
%lniVf = inttoptr i64 %lniVe to i64* | |
%lniVg = load i64, i64* %lniVf, !tbaa !3 | |
store i64 %lniVg, i64* %lsiGJ | |
%lniVj = load i64, i64* %R1_Var | |
%lniVk = add i64 %lniVj, 15 | |
%lniVl = inttoptr i64 %lniVk to i64* | |
%lniVm = load i64, i64* %lniVl, !tbaa !3 | |
store i64 %lniVm, i64* %lsiGH | |
%lniVn = load i64*, i64** %Sp_Var | |
%lniVo = getelementptr inbounds i64, i64* %lniVn, i32 1 | |
%lniVp = bitcast i64* %lniVo to i64* | |
%lniVq = load i64, i64* %lniVp, !tbaa !1 | |
store i64 %lniVq, i64* %R1_Var | |
%lniVs = load i64, i64* %lsiGJ | |
%lniVr = load i64*, i64** %Sp_Var | |
%lniVt = getelementptr inbounds i64, i64* %lniVr, i32 0 | |
store i64 %lniVs, i64* %lniVt, !tbaa !1 | |
%lniVv = load i64, i64* %lsiGH | |
%lniVu = load i64*, i64** %Sp_Var | |
%lniVw = getelementptr inbounds i64, i64* %lniVu, i32 1 | |
store i64 %lniVv, i64* %lniVw, !tbaa !1 | |
%lniVx = load i64*, i64** %Sp_Var | |
%lniVy = getelementptr inbounds i64, i64* %lniVx, i32 -1 | |
%lniVz = ptrtoint i64* %lniVy to i64 | |
%lniVA = inttoptr i64 %lniVz to i64* | |
store i64* %lniVA, i64** %Sp_Var | |
%lniVB = load i64, i64* %R1_Var | |
%lniVC = and i64 %lniVB, 7 | |
%lniVD = icmp ne i64 %lniVC, 0 | |
br i1 %lniVD, label %uiUo, label %ciU8 | |
ciU8: | |
%lniVF = load i64, i64* %R1_Var | |
%lniVG = inttoptr i64 %lniVF to i64* | |
%lniVH = load i64, i64* %lniVG, !tbaa !3 | |
%lniVI = inttoptr i64 %lniVH to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniVJ = load i64*, i64** %Sp_Var | |
%lniVK = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniVI( i64* %Base_Arg, i64* %lniVJ, i64* %Hp_Arg, i64 %lniVK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uiUo: | |
%lniVL = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniVM = load i64*, i64** %Sp_Var | |
%lniVN = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniVL( i64* %Base_Arg, i64* %lniVM, i64* %Hp_Arg, i64 %lniVN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ciU7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciU7_info$def to i8*) | |
define internal ghccc void @ciU7_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 131, i64 32}> | |
{ | |
ciU7: | |
%lsiGL = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lniVO = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciUc_info$def to i64 | |
%lniVP = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lniVO, i64* %lniVP, !tbaa !1 | |
%lniVS = load i64, i64* %R1_Var | |
%lniVT = add i64 %lniVS, 7 | |
%lniVU = inttoptr i64 %lniVT to i64* | |
%lniVV = load i64, i64* %lniVU, !tbaa !3 | |
store i64 %lniVV, i64* %lsiGL | |
%lniVW = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lniVX = bitcast i64* %lniVW to i64* | |
%lniVY = load i64, i64* %lniVX, !tbaa !1 | |
store i64 %lniVY, i64* %R1_Var | |
%lniVZ = load i64, i64* %lsiGL | |
%lniW0 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lniVZ, i64* %lniW0, !tbaa !1 | |
%lniW1 = load i64, i64* %R1_Var | |
%lniW2 = and i64 %lniW1, 7 | |
%lniW3 = icmp ne i64 %lniW2, 0 | |
br i1 %lniW3, label %uiUp, label %ciUi | |
ciUi: | |
%lniW5 = load i64, i64* %R1_Var | |
%lniW6 = inttoptr i64 %lniW5 to i64* | |
%lniW7 = load i64, i64* %lniW6, !tbaa !3 | |
%lniW8 = inttoptr i64 %lniW7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniW9 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniW8( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lniW9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uiUp: | |
%lniWa = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciUc_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniWb = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniWa( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lniWb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ciUc_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciUc_info$def to i8*) | |
define internal ghccc void @ciUc_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}> | |
{ | |
ciUc: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lniWc = load i64*, i64** %Sp_Var | |
%lniWd = getelementptr inbounds i64, i64* %lniWc, i32 1 | |
%lniWe = bitcast i64* %lniWd to i64* | |
%lniWf = load i64, i64* %lniWe, !tbaa !1 | |
%lniWg = load i64*, i64** %Sp_Var | |
%lniWh = getelementptr inbounds i64, i64* %lniWg, i32 2 | |
%lniWi = bitcast i64* %lniWh to i64* | |
%lniWj = load i64, i64* %lniWi, !tbaa !1 | |
%lniWk = load i64*, i64** %Sp_Var | |
%lniWl = getelementptr inbounds i64, i64* %lniWk, i32 3 | |
%lniWm = bitcast i64* %lniWl to i64* | |
%lniWn = load i64, i64* %lniWm, !tbaa !1 | |
%lniWo = add i64 %lniWj, %lniWn | |
%lniWp = shl i64 %lniWo, 3 | |
%lniWq = add i64 %lniWp, 16 | |
%lniWr = add i64 %lniWf, %lniWq | |
%lniWu = load i64, i64* %R1_Var | |
%lniWv = add i64 %lniWu, 7 | |
%lniWw = inttoptr i64 %lniWv to double* | |
%lniWx = load double, double* %lniWw, !tbaa !3 | |
%lniWy = inttoptr i64 %lniWr to double* | |
store double %lniWx, double* %lniWy, !tbaa !5 | |
%lniWz = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lniWA = add i64 %lniWz, 1 | |
store i64 %lniWA, i64* %R1_Var | |
%lniWB = load i64*, i64** %Sp_Var | |
%lniWC = getelementptr inbounds i64, i64* %lniWB, i32 4 | |
%lniWD = ptrtoint i64* %lniWC to i64 | |
%lniWE = inttoptr i64 %lniWD to i64* | |
store i64* %lniWE, i64** %Sp_Var | |
%lniWF = load i64*, i64** %Sp_Var | |
%lniWG = getelementptr inbounds i64, i64* %lniWF, i32 0 | |
%lniWH = bitcast i64* %lniWG to i64* | |
%lniWI = load i64, i64* %lniWH, !tbaa !1 | |
%lniWJ = inttoptr i64 %lniWI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniWK = load i64*, i64** %Sp_Var | |
%lniWL = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniWJ( i64* %Base_Arg, i64* %lniWK, i64* %Hp_Arg, i64 %lniWL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct = type <{i64}> | |
@Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure$def = internal global %Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info$def to i64)}> | |
@Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure = alias i8* bitcast (%Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure$def to i8*) | |
@Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info$def to i8*) | |
define ghccc void @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 17179869207, i64 0, i64 15}> | |
{ | |
ciWR: | |
%R4_Var = alloca i64, i32 1 | |
store i64 %R4_Arg, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lniWU = load i64, i64* %R4_Var | |
store i64 %lniWU, i64* %R4_Var | |
%lniWV = load i64, i64* %R3_Var | |
store i64 %lniWV, i64* %R3_Var | |
%lniWW = load i64, i64* %R2_Var | |
store i64 %lniWW, i64* %R2_Var | |
%lniWX = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFu_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniWY = load i64, i64* %R2_Var | |
%lniWZ = load i64, i64* %R3_Var | |
%lniX0 = load i64, i64* %R4_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniWX( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 %lniWY, i64 %lniWZ, i64 %lniX0, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFv_closure_struct = type <{i64, i64, i64, i64}> | |
%ciX8_str_struct = type <{[33 x i8]}> | |
@riFv_closure$def = internal global %riFv_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFv_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFv_closure = internal alias i8* bitcast (%riFv_closure_struct* @riFv_closure$def to i8*) | |
@ciX8_str$def = internal constant %ciX8_str_struct<{[33 x i8] [i8 46, i8 47, i8 68, i8 97, i8 116, i8 97, i8 47, i8 86, i8 101, i8 99, i8 116, i8 111, i8 114, i8 47, i8 71, i8 101, i8 110, i8 101, i8 114, i8 105, i8 99, i8 47, i8 77, i8 117, i8 116, i8 97, i8 98, i8 108, i8 101, i8 46, i8 104, i8 115, i8 0]}> | |
@ciX8_str = internal alias i8* bitcast (%ciX8_str_struct* @ciX8_str$def to i8*) | |
@riFv_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFv_info$def to i8*) | |
define internal ghccc void @riFv_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ciX9: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lciX5 = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lniXc = load i64*, i64** %Sp_Var | |
%lniXd = getelementptr inbounds i64, i64* %lniXc, i32 -2 | |
%lniXe = ptrtoint i64* %lniXd to i64 | |
%lniXf = icmp ult i64 %lniXe, %SpLim_Arg | |
br i1 %lniXf, label %ciXa, label %ciXb | |
ciXb: | |
%lniXg = ptrtoint i64* %Base_Arg to i64 | |
%lniXh = inttoptr i64 %lniXg to i8* | |
%lniXi = load i64, i64* %R1_Var | |
%lniXj = inttoptr i64 %lniXi to i8* | |
%lniXk = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lniXl = call ccc i8* (i8*, i8*) %lniXk( i8* %lniXh, i8* %lniXj ) nounwind | |
%lniXm = ptrtoint i8* %lniXl to i64 | |
store i64 %lniXm, i64* %lciX5 | |
%lniXn = load i64, i64* %lciX5 | |
%lniXo = icmp eq i64 %lniXn, 0 | |
br i1 %lniXo, label %ciX7, label %ciX6 | |
ciX6: | |
%lniXq = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lniXp = load i64*, i64** %Sp_Var | |
%lniXr = getelementptr inbounds i64, i64* %lniXp, i32 -2 | |
store i64 %lniXq, i64* %lniXr, !tbaa !1 | |
%lniXt = load i64, i64* %lciX5 | |
%lniXs = load i64*, i64** %Sp_Var | |
%lniXu = getelementptr inbounds i64, i64* %lniXs, i32 -1 | |
store i64 %lniXt, i64* %lniXu, !tbaa !1 | |
%lniXv = ptrtoint %ciX8_str_struct* @ciX8_str$def to i64 | |
store i64 %lniXv, i64* %R2_Var | |
%lniXw = load i64*, i64** %Sp_Var | |
%lniXx = getelementptr inbounds i64, i64* %lniXw, i32 -2 | |
%lniXy = ptrtoint i64* %lniXx to i64 | |
%lniXz = inttoptr i64 %lniXy to i64* | |
store i64* %lniXz, i64** %Sp_Var | |
%lniXA = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniXB = load i64*, i64** %Sp_Var | |
%lniXC = load i64, i64* %R1_Var | |
%lniXD = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniXA( i64* %Base_Arg, i64* %lniXB, i64* %Hp_Arg, i64 %lniXC, i64 %lniXD, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciX7: | |
%lniXF = load i64, i64* %R1_Var | |
%lniXG = inttoptr i64 %lniXF to i64* | |
%lniXH = load i64, i64* %lniXG, !tbaa !3 | |
%lniXI = inttoptr i64 %lniXH to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniXJ = load i64*, i64** %Sp_Var | |
%lniXK = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniXI( i64* %Base_Arg, i64* %lniXJ, i64* %Hp_Arg, i64 %lniXK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciXa: | |
%lniXL = load i64, i64* %R1_Var | |
store i64 %lniXL, i64* %R1_Var | |
%lniXM = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lniXN = bitcast i64* %lniXM to i64* | |
%lniXO = load i64, i64* %lniXN, !tbaa !4 | |
%lniXP = inttoptr i64 %lniXO to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniXQ = load i64*, i64** %Sp_Var | |
%lniXR = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniXP( i64* %Base_Arg, i64* %lniXQ, i64* %Hp_Arg, i64 %lniXR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFw_closure_struct = type <{i64, i64}> | |
@riFw_closure$def = internal global %riFw_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 584}> | |
@riFw_closure = internal alias i8* bitcast (%riFw_closure_struct* @riFw_closure$def to i8*) | |
%riFx_closure_struct = type <{i64, i64, i64, i64}> | |
%ciY0_str_struct = type <{[4 x i8]}> | |
@riFx_closure$def = internal global %riFx_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFx_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFx_closure = internal alias i8* bitcast (%riFx_closure_struct* @riFx_closure$def to i8*) | |
@ciY0_str$def = internal constant %ciY0_str_struct<{[4 x i8] [i8 110, i8 101, i8 119, i8 0]}> | |
@ciY0_str = internal alias i8* bitcast (%ciY0_str_struct* @ciY0_str$def to i8*) | |
@riFx_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFx_info$def to i8*) | |
define internal ghccc void @riFx_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ciY1: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lciXX = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lniY4 = load i64*, i64** %Sp_Var | |
%lniY5 = getelementptr inbounds i64, i64* %lniY4, i32 -2 | |
%lniY6 = ptrtoint i64* %lniY5 to i64 | |
%lniY7 = icmp ult i64 %lniY6, %SpLim_Arg | |
br i1 %lniY7, label %ciY2, label %ciY3 | |
ciY3: | |
%lniY8 = ptrtoint i64* %Base_Arg to i64 | |
%lniY9 = inttoptr i64 %lniY8 to i8* | |
%lniYa = load i64, i64* %R1_Var | |
%lniYb = inttoptr i64 %lniYa to i8* | |
%lniYc = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lniYd = call ccc i8* (i8*, i8*) %lniYc( i8* %lniY9, i8* %lniYb ) nounwind | |
%lniYe = ptrtoint i8* %lniYd to i64 | |
store i64 %lniYe, i64* %lciXX | |
%lniYf = load i64, i64* %lciXX | |
%lniYg = icmp eq i64 %lniYf, 0 | |
br i1 %lniYg, label %ciXZ, label %ciXY | |
ciXY: | |
%lniYi = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lniYh = load i64*, i64** %Sp_Var | |
%lniYj = getelementptr inbounds i64, i64* %lniYh, i32 -2 | |
store i64 %lniYi, i64* %lniYj, !tbaa !1 | |
%lniYl = load i64, i64* %lciXX | |
%lniYk = load i64*, i64** %Sp_Var | |
%lniYm = getelementptr inbounds i64, i64* %lniYk, i32 -1 | |
store i64 %lniYl, i64* %lniYm, !tbaa !1 | |
%lniYn = ptrtoint %ciY0_str_struct* @ciY0_str$def to i64 | |
store i64 %lniYn, i64* %R2_Var | |
%lniYo = load i64*, i64** %Sp_Var | |
%lniYp = getelementptr inbounds i64, i64* %lniYo, i32 -2 | |
%lniYq = ptrtoint i64* %lniYp to i64 | |
%lniYr = inttoptr i64 %lniYq to i64* | |
store i64* %lniYr, i64** %Sp_Var | |
%lniYs = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniYt = load i64*, i64** %Sp_Var | |
%lniYu = load i64, i64* %R1_Var | |
%lniYv = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniYs( i64* %Base_Arg, i64* %lniYt, i64* %Hp_Arg, i64 %lniYu, i64 %lniYv, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciXZ: | |
%lniYx = load i64, i64* %R1_Var | |
%lniYy = inttoptr i64 %lniYx to i64* | |
%lniYz = load i64, i64* %lniYy, !tbaa !3 | |
%lniYA = inttoptr i64 %lniYz to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniYB = load i64*, i64** %Sp_Var | |
%lniYC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniYA( i64* %Base_Arg, i64* %lniYB, i64* %Hp_Arg, i64 %lniYC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciY2: | |
%lniYD = load i64, i64* %R1_Var | |
store i64 %lniYD, i64* %R1_Var | |
%lniYE = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lniYF = bitcast i64* %lniYE to i64* | |
%lniYG = load i64, i64* %lniYF, !tbaa !4 | |
%lniYH = inttoptr i64 %lniYG to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniYI = load i64*, i64** %Sp_Var | |
%lniYJ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniYH( i64* %Base_Arg, i64* %lniYI, i64* %Hp_Arg, i64 %lniYJ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFy_closure_struct = type <{i64, i64}> | |
@riFy_closure$def = internal global %riFy_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to i64), i64 0}> | |
@riFy_closure = internal alias i8* bitcast (%riFy_closure_struct* @riFy_closure$def to i8*) | |
@riFy_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to i8*) | |
define internal ghccc void @riFy_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to i64)),i64 0), i64 4294967300, i64 0, i64 64424509455}> | |
{ | |
ciYU: | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lniZ1 = load i64*, i64** %Sp_Var | |
%lniZ2 = getelementptr inbounds i64, i64* %lniZ1, i32 -1 | |
%lniZ3 = ptrtoint i64* %lniZ2 to i64 | |
%lniZ4 = icmp ult i64 %lniZ3, %SpLim_Arg | |
br i1 %lniZ4, label %ciYV, label %ciYW | |
ciYW: | |
%lniZ6 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciYS_info$def to i64 | |
%lniZ5 = load i64*, i64** %Sp_Var | |
%lniZ7 = getelementptr inbounds i64, i64* %lniZ5, i32 -1 | |
store i64 %lniZ6, i64* %lniZ7, !tbaa !1 | |
%lniZ8 = load i64, i64* %R2_Var | |
store i64 %lniZ8, i64* %R2_Var | |
%lniZ9 = load i64*, i64** %Sp_Var | |
%lniZa = getelementptr inbounds i64, i64* %lniZ9, i32 -1 | |
%lniZb = ptrtoint i64* %lniZa to i64 | |
%lniZc = inttoptr i64 %lniZb to i64* | |
store i64* %lniZc, i64** %Sp_Var | |
%lniZd = bitcast i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkLengthzumsgzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniZe = load i64*, i64** %Sp_Var | |
%lniZf = load i64, i64* %R1_Var | |
%lniZg = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniZd( i64* %Base_Arg, i64* %lniZe, i64* %Hp_Arg, i64 %lniZf, i64 %lniZg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciYV: | |
%lniZh = load i64, i64* %R2_Var | |
store i64 %lniZh, i64* %R2_Var | |
%lniZi = ptrtoint %riFy_closure_struct* @riFy_closure$def to i64 | |
store i64 %lniZi, i64* %R1_Var | |
%lniZj = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lniZk = bitcast i64* %lniZj to i64* | |
%lniZl = load i64, i64* %lniZk, !tbaa !4 | |
%lniZm = inttoptr i64 %lniZl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniZn = load i64*, i64** %Sp_Var | |
%lniZo = load i64, i64* %R1_Var | |
%lniZp = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniZm( i64* %Base_Arg, i64* %lniZn, i64* %Hp_Arg, i64 %lniZo, i64 %lniZp, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ciYS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciYS_info$def to i8*) | |
define internal ghccc void @ciYS_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ciYS_info$def to i64)),i64 0), i64 0, i64 30064771104}> | |
{ | |
ciYS: | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
store i64 %R1_Arg, i64* %R6_Var | |
%lniZq = ptrtoint %riFx_closure_struct* @riFx_closure$def to i64 | |
store i64 %lniZq, i64* %R5_Var | |
%lniZr = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_Bounds_closure to i64 | |
%lniZs = add i64 %lniZr, 1 | |
store i64 %lniZs, i64* %R4_Var | |
%lniZt = ptrtoint %riFw_closure_struct* @riFw_closure$def to i64 | |
%lniZu = add i64 %lniZt, 1 | |
store i64 %lniZu, i64* %R3_Var | |
%lniZv = ptrtoint %riFv_closure_struct* @riFv_closure$def to i64 | |
store i64 %lniZv, i64* %R2_Var | |
%lniZw = load i64*, i64** %Sp_Var | |
%lniZx = getelementptr inbounds i64, i64* %lniZw, i32 1 | |
%lniZy = ptrtoint i64* %lniZx to i64 | |
%lniZz = inttoptr i64 %lniZy to i64* | |
store i64* %lniZz, i64** %Sp_Var | |
%lniZA = bitcast i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lniZB = load i64*, i64** %Sp_Var | |
%lniZC = load i64, i64* %R2_Var | |
%lniZD = load i64, i64* %R3_Var | |
%lniZE = load i64, i64* %R4_Var | |
%lniZF = load i64, i64* %R5_Var | |
%lniZG = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lniZA( i64* %Base_Arg, i64* %lniZB, i64* %Hp_Arg, i64 %R1_Arg, i64 %lniZC, i64 %lniZD, i64 %lniZE, i64 %lniZF, i64 %lniZG, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFz_closure_struct = type <{i64, i64, i64, i64}> | |
%ciZO_str_struct = type <{[25 x i8]}> | |
@riFz_closure$def = internal global %riFz_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFz_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFz_closure = internal alias i8* bitcast (%riFz_closure_struct* @riFz_closure$def to i8*) | |
@ciZO_str$def = internal constant %ciZO_str_struct<{[25 x i8] [i8 82, i8 101, i8 112, i8 97, i8 46, i8 108, i8 111, i8 97, i8 100, i8 80, i8 91, i8 68, i8 101, i8 108, i8 97, i8 121, i8 101, i8 100, i8 93, i8 58, i8 32, i8 101, i8 110, i8 100, i8 0]}> | |
@ciZO_str = internal alias i8* bitcast (%ciZO_str_struct* @ciZO_str$def to i8*) | |
@riFz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFz_info$def to i8*) | |
define internal ghccc void @riFz_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ciZP: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lciZL = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lniZS = load i64*, i64** %Sp_Var | |
%lniZT = getelementptr inbounds i64, i64* %lniZS, i32 -2 | |
%lniZU = ptrtoint i64* %lniZT to i64 | |
%lniZV = icmp ult i64 %lniZU, %SpLim_Arg | |
br i1 %lniZV, label %ciZQ, label %ciZR | |
ciZR: | |
%lniZW = ptrtoint i64* %Base_Arg to i64 | |
%lniZX = inttoptr i64 %lniZW to i8* | |
%lniZY = load i64, i64* %R1_Var | |
%lniZZ = inttoptr i64 %lniZY to i8* | |
%lnj00 = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnj01 = call ccc i8* (i8*, i8*) %lnj00( i8* %lniZX, i8* %lniZZ ) nounwind | |
%lnj02 = ptrtoint i8* %lnj01 to i64 | |
store i64 %lnj02, i64* %lciZL | |
%lnj03 = load i64, i64* %lciZL | |
%lnj04 = icmp eq i64 %lnj03, 0 | |
br i1 %lnj04, label %ciZN, label %ciZM | |
ciZM: | |
%lnj06 = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnj05 = load i64*, i64** %Sp_Var | |
%lnj07 = getelementptr inbounds i64, i64* %lnj05, i32 -2 | |
store i64 %lnj06, i64* %lnj07, !tbaa !1 | |
%lnj09 = load i64, i64* %lciZL | |
%lnj08 = load i64*, i64** %Sp_Var | |
%lnj0a = getelementptr inbounds i64, i64* %lnj08, i32 -1 | |
store i64 %lnj09, i64* %lnj0a, !tbaa !1 | |
%lnj0b = ptrtoint %ciZO_str_struct* @ciZO_str$def to i64 | |
store i64 %lnj0b, i64* %R2_Var | |
%lnj0c = load i64*, i64** %Sp_Var | |
%lnj0d = getelementptr inbounds i64, i64* %lnj0c, i32 -2 | |
%lnj0e = ptrtoint i64* %lnj0d to i64 | |
%lnj0f = inttoptr i64 %lnj0e to i64* | |
store i64* %lnj0f, i64** %Sp_Var | |
%lnj0g = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnj0h = load i64*, i64** %Sp_Var | |
%lnj0i = load i64, i64* %R1_Var | |
%lnj0j = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnj0g( i64* %Base_Arg, i64* %lnj0h, i64* %Hp_Arg, i64 %lnj0i, i64 %lnj0j, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciZN: | |
%lnj0l = load i64, i64* %R1_Var | |
%lnj0m = inttoptr i64 %lnj0l to i64* | |
%lnj0n = load i64, i64* %lnj0m, !tbaa !3 | |
%lnj0o = inttoptr i64 %lnj0n to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnj0p = load i64*, i64** %Sp_Var | |
%lnj0q = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnj0o( i64* %Base_Arg, i64* %lnj0p, i64* %Hp_Arg, i64 %lnj0q, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ciZQ: | |
%lnj0r = load i64, i64* %R1_Var | |
store i64 %lnj0r, i64* %R1_Var | |
%lnj0s = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnj0t = bitcast i64* %lnj0s to i64* | |
%lnj0u = load i64, i64* %lnj0t, !tbaa !4 | |
%lnj0v = inttoptr i64 %lnj0u to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnj0w = load i64*, i64** %Sp_Var | |
%lnj0x = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnj0v( i64* %Base_Arg, i64* %lnj0w, i64* %Hp_Arg, i64 %lnj0x, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFA_closure_struct = type <{i64, i64}> | |
@riFA_closure$def = internal global %riFA_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFA_info$def to i64), i64 0}> | |
@riFA_closure = internal alias i8* bitcast (%riFA_closure_struct* @riFA_closure$def to i8*) | |
@siH2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siH2_info$def to i8*) | |
define internal ghccc void @siH2_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901902, i64 4294967296, i64 11}> | |
{ | |
cj4N: | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjaP = load i64*, i64** %Sp_Var | |
%lnjaQ = getelementptr inbounds i64, i64* %lnjaP, i32 -5 | |
%lnjaR = ptrtoint i64* %lnjaQ to i64 | |
%lnjaS = icmp uge i64 %lnjaR, %SpLim_Arg | |
br i1 %lnjaS, label %uj55, label %cj4O | |
cj4O: | |
%lnjaT = load i64, i64* %R3_Var | |
store i64 %lnjaT, i64* %R3_Var | |
%lnjaU = load i64, i64* %R2_Var | |
store i64 %lnjaU, i64* %R2_Var | |
%lnjaV = load i64, i64* %R1_Var | |
store i64 %lnjaV, i64* %R1_Var | |
%lnjaW = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjaX = bitcast i64* %lnjaW to i64* | |
%lnjaY = load i64, i64* %lnjaX, !tbaa !4 | |
%lnjaZ = inttoptr i64 %lnjaY to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjb0 = load i64*, i64** %Sp_Var | |
%lnjb1 = load i64, i64* %R1_Var | |
%lnjb2 = load i64, i64* %R2_Var | |
%lnjb3 = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjaZ( i64* %Base_Arg, i64* %lnjb0, i64* %Hp_Arg, i64 %lnjb1, i64 %lnjb2, i64 %lnjb3, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj55: | |
%lnjb5 = load i64, i64* %R1_Var | |
%lnjb4 = load i64*, i64** %Sp_Var | |
%lnjb6 = getelementptr inbounds i64, i64* %lnjb4, i32 -3 | |
store i64 %lnjb5, i64* %lnjb6, !tbaa !1 | |
%lnjb8 = load i64, i64* %R2_Var | |
%lnjb7 = load i64*, i64** %Sp_Var | |
%lnjb9 = getelementptr inbounds i64, i64* %lnjb7, i32 -2 | |
store i64 %lnjb8, i64* %lnjb9, !tbaa !1 | |
%lnjbb = load i64, i64* %R3_Var | |
%lnjba = load i64*, i64** %Sp_Var | |
%lnjbc = getelementptr inbounds i64, i64* %lnjba, i32 -1 | |
store i64 %lnjbb, i64* %lnjbc, !tbaa !1 | |
%lnjbd = load i64*, i64** %Sp_Var | |
%lnjbe = getelementptr inbounds i64, i64* %lnjbd, i32 -3 | |
%lnjbf = ptrtoint i64* %lnjbe to i64 | |
%lnjbg = inttoptr i64 %lnjbf to i64* | |
store i64* %lnjbg, i64** %Sp_Var | |
%lnjbh = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4D_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjbi = load i64*, i64** %Sp_Var | |
%lnjbj = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjbh( i64* %Base_Arg, i64* %lnjbi, i64* %Hp_Arg, i64 %lnjbj, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj4D_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4D_entry$def to i8*) | |
define internal ghccc void @cj4D_entry$def(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) align 8 nounwind | |
{ | |
cj4D: | |
%lsiH1 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjbk = load i64*, i64** %Sp_Var | |
%lnjbl = getelementptr inbounds i64, i64* %lnjbk, i32 0 | |
%lnjbm = bitcast i64* %lnjbl to i64* | |
%lnjbn = load i64, i64* %lnjbm, !tbaa !1 | |
%lnjbo = add i64 %lnjbn, 5 | |
%lnjbp = inttoptr i64 %lnjbo to i64* | |
%lnjbq = load i64, i64* %lnjbp, !tbaa !5 | |
store i64 %lnjbq, i64* %lsiH1 | |
%lnjbs = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4G_info$def to i64 | |
%lnjbr = load i64*, i64** %Sp_Var | |
%lnjbt = getelementptr inbounds i64, i64* %lnjbr, i32 -1 | |
store i64 %lnjbs, i64* %lnjbt, !tbaa !1 | |
%lnjbu = load i64*, i64** %Sp_Var | |
%lnjbv = getelementptr inbounds i64, i64* %lnjbu, i32 1 | |
%lnjbw = bitcast i64* %lnjbv to i64* | |
%lnjbx = load i64, i64* %lnjbw, !tbaa !1 | |
store i64 %lnjbx, i64* %R1_Var | |
%lnjbz = load i64, i64* %lsiH1 | |
%lnjby = load i64*, i64** %Sp_Var | |
%lnjbA = getelementptr inbounds i64, i64* %lnjby, i32 1 | |
store i64 %lnjbz, i64* %lnjbA, !tbaa !1 | |
%lnjbB = load i64*, i64** %Sp_Var | |
%lnjbC = getelementptr inbounds i64, i64* %lnjbB, i32 -1 | |
%lnjbD = ptrtoint i64* %lnjbC to i64 | |
%lnjbE = inttoptr i64 %lnjbD to i64* | |
store i64* %lnjbE, i64** %Sp_Var | |
%lnjbF = load i64, i64* %R1_Var | |
%lnjbG = and i64 %lnjbF, 7 | |
%lnjbH = icmp ne i64 %lnjbG, 0 | |
br i1 %lnjbH, label %uj57, label %cj4H | |
cj4H: | |
%lnjbJ = load i64, i64* %R1_Var | |
%lnjbK = inttoptr i64 %lnjbJ to i64* | |
%lnjbL = load i64, i64* %lnjbK, !tbaa !3 | |
%lnjbM = inttoptr i64 %lnjbL to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjbN = load i64*, i64** %Sp_Var | |
%lnjbO = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjbM( i64* %Base_Arg, i64* %lnjbN, i64* %Hp_Arg, i64 %lnjbO, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj57: | |
%lnjbP = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4G_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjbQ = load i64*, i64** %Sp_Var | |
%lnjbR = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjbP( i64* %Base_Arg, i64* %lnjbQ, i64* %Hp_Arg, i64 %lnjbR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj4G_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4G_info$def to i8*) | |
define internal ghccc void @cj4G_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}> | |
{ | |
cj4G: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lsiH8 = alloca i64, i32 1 | |
%lnjbS = load i64, i64* %R1_Var | |
%lnjbT = and i64 %lnjbS, 7 | |
switch i64 %lnjbT, label %cj4K [i64 1, label %cj4K | |
i64 2, label %cj4L] | |
cj4K: | |
%lnjbU = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjbV = add i64 %lnjbU, 1 | |
store i64 %lnjbV, i64* %R1_Var | |
%lnjbW = load i64*, i64** %Sp_Var | |
%lnjbX = getelementptr inbounds i64, i64* %lnjbW, i32 4 | |
%lnjbY = ptrtoint i64* %lnjbX to i64 | |
%lnjbZ = inttoptr i64 %lnjbY to i64* | |
store i64* %lnjbZ, i64** %Sp_Var | |
%lnjc0 = load i64*, i64** %Sp_Var | |
%lnjc1 = getelementptr inbounds i64, i64* %lnjc0, i32 0 | |
%lnjc2 = bitcast i64* %lnjc1 to i64* | |
%lnjc3 = load i64, i64* %lnjc2, !tbaa !1 | |
%lnjc4 = inttoptr i64 %lnjc3 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjc5 = load i64*, i64** %Sp_Var | |
%lnjc6 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjc4( i64* %Base_Arg, i64* %lnjc5, i64* %Hp_Arg, i64 %lnjc6, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj4L: | |
%lnjc8 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4V_info$def to i64 | |
%lnjc7 = load i64*, i64** %Sp_Var | |
%lnjc9 = getelementptr inbounds i64, i64* %lnjc7, i32 -1 | |
store i64 %lnjc8, i64* %lnjc9, !tbaa !1 | |
%lnjcc = load i64, i64* %R1_Var | |
%lnjcd = add i64 %lnjcc, 14 | |
%lnjce = inttoptr i64 %lnjcd to i64* | |
%lnjcf = load i64, i64* %lnjce, !tbaa !3 | |
store i64 %lnjcf, i64* %lsiH8 | |
%lnjci = load i64, i64* %R1_Var | |
%lnjcj = add i64 %lnjci, 6 | |
%lnjck = inttoptr i64 %lnjcj to i64* | |
%lnjcl = load i64, i64* %lnjck, !tbaa !3 | |
store i64 %lnjcl, i64* %R1_Var | |
%lnjcn = load i64, i64* %lsiH8 | |
%lnjcm = load i64*, i64** %Sp_Var | |
%lnjco = getelementptr inbounds i64, i64* %lnjcm, i32 0 | |
store i64 %lnjcn, i64* %lnjco, !tbaa !1 | |
%lnjcp = load i64*, i64** %Sp_Var | |
%lnjcq = getelementptr inbounds i64, i64* %lnjcp, i32 -1 | |
%lnjcr = ptrtoint i64* %lnjcq to i64 | |
%lnjcs = inttoptr i64 %lnjcr to i64* | |
store i64* %lnjcs, i64** %Sp_Var | |
%lnjct = load i64, i64* %R1_Var | |
%lnjcu = and i64 %lnjct, 7 | |
%lnjcv = icmp ne i64 %lnjcu, 0 | |
br i1 %lnjcv, label %uj58, label %cj4X | |
cj4X: | |
%lnjcx = load i64, i64* %R1_Var | |
%lnjcy = inttoptr i64 %lnjcx to i64* | |
%lnjcz = load i64, i64* %lnjcy, !tbaa !3 | |
%lnjcA = inttoptr i64 %lnjcz to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjcB = load i64*, i64** %Sp_Var | |
%lnjcC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjcA( i64* %Base_Arg, i64* %lnjcB, i64* %Hp_Arg, i64 %lnjcC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj58: | |
%lnjcD = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4V_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjcE = load i64*, i64** %Sp_Var | |
%lnjcF = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjcD( i64* %Base_Arg, i64* %lnjcE, i64* %Hp_Arg, i64 %lnjcF, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj4V_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4V_info$def to i8*) | |
define internal ghccc void @cj4V_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 772, i64 32}> | |
{ | |
cj4V: | |
%lsiH4 = alloca i64, i32 1 | |
%lsiH8 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjcG = load i64*, i64** %Sp_Var | |
%lnjcH = getelementptr inbounds i64, i64* %lnjcG, i32 4 | |
%lnjcI = bitcast i64* %lnjcH to i64* | |
%lnjcJ = load i64, i64* %lnjcI, !tbaa !1 | |
store i64 %lnjcJ, i64* %lsiH4 | |
%lnjcK = load i64*, i64** %Sp_Var | |
%lnjcL = getelementptr inbounds i64, i64* %lnjcK, i32 1 | |
%lnjcM = bitcast i64* %lnjcL to i64* | |
%lnjcN = load i64, i64* %lnjcM, !tbaa !1 | |
store i64 %lnjcN, i64* %lsiH8 | |
%lnjcO = load i64*, i64** %Sp_Var | |
%lnjcP = getelementptr inbounds i64, i64* %lnjcO, i32 3 | |
%lnjcQ = bitcast i64* %lnjcP to i64* | |
%lnjcR = load i64, i64* %lnjcQ, !tbaa !1 | |
%lnjcS = load i64, i64* %lsiH4 | |
%lnjcT = shl i64 %lnjcS, 2 | |
%lnjcU = add i64 %lnjcR, %lnjcT | |
%lnjcV = add i64 %R1_Arg, 7 | |
%lnjcW = inttoptr i64 %lnjcV to i64* | |
%lnjcX = load i64, i64* %lnjcW, !tbaa !3 | |
%lnjcY = trunc i64 %lnjcX to i32 | |
%lnjcZ = inttoptr i64 %lnjcU to i32* | |
store i32 %lnjcY, i32* %lnjcZ, !tbaa !5 | |
%lnjd1 = load i64, i64* %lsiH8 | |
%lnjd0 = load i64*, i64** %Sp_Var | |
%lnjd2 = getelementptr inbounds i64, i64* %lnjd0, i32 3 | |
store i64 %lnjd1, i64* %lnjd2, !tbaa !1 | |
%lnjd4 = load i64, i64* %lsiH4 | |
%lnjd5 = add i64 %lnjd4, 1 | |
%lnjd3 = load i64*, i64** %Sp_Var | |
%lnjd6 = getelementptr inbounds i64, i64* %lnjd3, i32 4 | |
store i64 %lnjd5, i64* %lnjd6, !tbaa !1 | |
%lnjd7 = load i64*, i64** %Sp_Var | |
%lnjd8 = getelementptr inbounds i64, i64* %lnjd7, i32 2 | |
%lnjd9 = ptrtoint i64* %lnjd8 to i64 | |
%lnjda = inttoptr i64 %lnjd9 to i64* | |
store i64* %lnjda, i64** %Sp_Var | |
%lnjdb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4D_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjdc = load i64*, i64** %Sp_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjdb( i64* %Base_Arg, i64* %lnjdc, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siHS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to i8*) | |
define internal ghccc void @siHS_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}> | |
{ | |
cj60: | |
%lsiHS = alloca i64, i32 1 | |
%lsiHt = alloca i64, i32 1 | |
%lsiGT = alloca i64, i32 1 | |
%lsiH1 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnjdd = load i64*, i64** %Sp_Var | |
%lnjde = getelementptr inbounds i64, i64* %lnjdd, i32 -14 | |
%lnjdf = ptrtoint i64* %lnjde to i64 | |
%lnjdg = icmp ult i64 %lnjdf, %SpLim_Arg | |
br i1 %lnjdg, label %cj6a, label %cj6b | |
cj6b: | |
%lnjdi = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5T_info$def to i64 | |
%lnjdh = load i64*, i64** %Sp_Var | |
%lnjdj = getelementptr inbounds i64, i64* %lnjdh, i32 -6 | |
store i64 %lnjdi, i64* %lnjdj, !tbaa !1 | |
%lnjdk = load i64, i64* %R1_Var | |
store i64 %lnjdk, i64* %lsiHS | |
%lnjdn = load i64, i64* %R1_Var | |
%lnjdo = add i64 %lnjdn, 6 | |
%lnjdp = inttoptr i64 %lnjdo to i64* | |
%lnjdq = load i64, i64* %lnjdp, !tbaa !3 | |
store i64 %lnjdq, i64* %lsiHt | |
%lnjdt = load i64, i64* %R1_Var | |
%lnjdu = add i64 %lnjdt, 14 | |
%lnjdv = inttoptr i64 %lnjdu to i64* | |
%lnjdw = load i64, i64* %lnjdv, !tbaa !3 | |
store i64 %lnjdw, i64* %lsiGT | |
%lnjdz = load i64, i64* %R1_Var | |
%lnjdA = add i64 %lnjdz, 22 | |
%lnjdB = inttoptr i64 %lnjdA to i64* | |
%lnjdC = load i64, i64* %lnjdB, !tbaa !3 | |
store i64 %lnjdC, i64* %lsiH1 | |
%lnjdD = load i64, i64* %R2_Var | |
store i64 %lnjdD, i64* %R1_Var | |
%lnjdF = load i64, i64* %lsiGT | |
%lnjdE = load i64*, i64** %Sp_Var | |
%lnjdG = getelementptr inbounds i64, i64* %lnjdE, i32 -5 | |
store i64 %lnjdF, i64* %lnjdG, !tbaa !1 | |
%lnjdI = load i64, i64* %lsiH1 | |
%lnjdH = load i64*, i64** %Sp_Var | |
%lnjdJ = getelementptr inbounds i64, i64* %lnjdH, i32 -4 | |
store i64 %lnjdI, i64* %lnjdJ, !tbaa !1 | |
%lnjdL = load i64, i64* %lsiHt | |
%lnjdK = load i64*, i64** %Sp_Var | |
%lnjdM = getelementptr inbounds i64, i64* %lnjdK, i32 -3 | |
store i64 %lnjdL, i64* %lnjdM, !tbaa !1 | |
%lnjdO = load i64, i64* %lsiHS | |
%lnjdN = load i64*, i64** %Sp_Var | |
%lnjdP = getelementptr inbounds i64, i64* %lnjdN, i32 -2 | |
store i64 %lnjdO, i64* %lnjdP, !tbaa !1 | |
%lnjdR = load i64, i64* %R2_Var | |
%lnjdQ = load i64*, i64** %Sp_Var | |
%lnjdS = getelementptr inbounds i64, i64* %lnjdQ, i32 -1 | |
store i64 %lnjdR, i64* %lnjdS, !tbaa !1 | |
%lnjdT = load i64*, i64** %Sp_Var | |
%lnjdU = getelementptr inbounds i64, i64* %lnjdT, i32 -6 | |
%lnjdV = ptrtoint i64* %lnjdU to i64 | |
%lnjdW = inttoptr i64 %lnjdV to i64* | |
store i64* %lnjdW, i64** %Sp_Var | |
%lnjdX = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjdY = load i64*, i64** %Sp_Var | |
%lnjdZ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjdX( i64* %Base_Arg, i64* %lnjdY, i64* %Hp_Arg, i64 %lnjdZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj6a: | |
%lnje0 = load i64, i64* %R2_Var | |
store i64 %lnje0, i64* %R2_Var | |
%lnje1 = load i64, i64* %R1_Var | |
store i64 %lnje1, i64* %R1_Var | |
%lnje2 = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnje3 = bitcast i64* %lnje2 to i64* | |
%lnje4 = load i64, i64* %lnje3, !tbaa !4 | |
%lnje5 = inttoptr i64 %lnje4 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnje6 = load i64*, i64** %Sp_Var | |
%lnje7 = load i64, i64* %R1_Var | |
%lnje8 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnje5( i64* %Base_Arg, i64* %lnje6, i64* %Hp_Arg, i64 %lnje7, i64 %lnje8, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5T_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5T_info$def to i8*) | |
define internal ghccc void @cj5T_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5T_info$def to i64)),i64 32), i64 1221, i64 4294967328}> | |
{ | |
cj5T: | |
%lsiI0 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjea = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5V_info$def to i64 | |
%lnje9 = load i64*, i64** %Sp_Var | |
%lnjeb = getelementptr inbounds i64, i64* %lnje9, i32 -1 | |
store i64 %lnjea, i64* %lnjeb, !tbaa !1 | |
%lnjec = load i64, i64* %R1_Var | |
store i64 %lnjec, i64* %lsiI0 | |
%lnjed = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnjee = add i64 %lnjed, 1 | |
store i64 %lnjee, i64* %R1_Var | |
%lnjeg = load i64, i64* %lsiI0 | |
%lnjef = load i64*, i64** %Sp_Var | |
%lnjeh = getelementptr inbounds i64, i64* %lnjef, i32 0 | |
store i64 %lnjeg, i64* %lnjeh, !tbaa !1 | |
%lnjei = load i64*, i64** %Sp_Var | |
%lnjej = getelementptr inbounds i64, i64* %lnjei, i32 -1 | |
%lnjek = ptrtoint i64* %lnjej to i64 | |
%lnjel = inttoptr i64 %lnjek to i64* | |
store i64* %lnjel, i64** %Sp_Var | |
%lnjem = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjen = load i64*, i64** %Sp_Var | |
%lnjeo = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjem( i64* %Base_Arg, i64* %lnjen, i64* %Hp_Arg, i64 %lnjeo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5V_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5V_info$def to i8*) | |
define internal ghccc void @cj5V_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5V_info$def to i64)),i64 32), i64 2438, i64 4294967328}> | |
{ | |
cj5V: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%lsiGT = alloca i64, i32 1 | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjep = load i64*, i64** %Hp_Var | |
%lnjeq = getelementptr inbounds i64, i64* %lnjep, i32 2 | |
%lnjer = ptrtoint i64* %lnjeq to i64 | |
%lnjes = inttoptr i64 %lnjer to i64* | |
store i64* %lnjes, i64** %Hp_Var | |
%lnjet = load i64*, i64** %Hp_Var | |
%lnjeu = ptrtoint i64* %lnjet to i64 | |
%lnjev = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjew = bitcast i64* %lnjev to i64* | |
%lnjex = load i64, i64* %lnjew, !tbaa !4 | |
%lnjey = icmp ugt i64 %lnjeu, %lnjex | |
br i1 %lnjey, label %cj6f, label %cj6e | |
cj6e: | |
%lnjeA = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnjez = load i64*, i64** %Hp_Var | |
%lnjeB = getelementptr inbounds i64, i64* %lnjez, i32 -1 | |
store i64 %lnjeA, i64* %lnjeB, !tbaa !2 | |
%lnjeD = load i64, i64* %R1_Var | |
%lnjeC = load i64*, i64** %Hp_Var | |
%lnjeE = getelementptr inbounds i64, i64* %lnjeC, i32 0 | |
store i64 %lnjeD, i64* %lnjeE, !tbaa !2 | |
%lnjeG = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj62_info$def to i64 | |
%lnjeF = load i64*, i64** %Sp_Var | |
%lnjeH = getelementptr inbounds i64, i64* %lnjeF, i32 0 | |
store i64 %lnjeG, i64* %lnjeH, !tbaa !1 | |
store i64 0, i64* %R6_Var | |
%lnjeI = load i64*, i64** %Sp_Var | |
%lnjeJ = getelementptr inbounds i64, i64* %lnjeI, i32 2 | |
%lnjeK = bitcast i64* %lnjeJ to i64* | |
%lnjeL = load i64, i64* %lnjeK, !tbaa !1 | |
store i64 %lnjeL, i64* %lsiGT | |
%lnjeM = load i64, i64* %lsiGT | |
store i64 %lnjeM, i64* %R5_Var | |
%lnjeN = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64 | |
%lnjeO = add i64 %lnjeN, 1 | |
store i64 %lnjeO, i64* %R4_Var | |
%lnjeP = load i64*, i64** %Sp_Var | |
%lnjeQ = getelementptr inbounds i64, i64* %lnjeP, i32 4 | |
%lnjeR = bitcast i64* %lnjeQ to i64* | |
%lnjeS = load i64, i64* %lnjeR, !tbaa !1 | |
store i64 %lnjeS, i64* %R3_Var | |
%lnjeT = load i64*, i64** %Sp_Var | |
%lnjeU = getelementptr inbounds i64, i64* %lnjeT, i32 3 | |
%lnjeV = bitcast i64* %lnjeU to i64* | |
%lnjeW = load i64, i64* %lnjeV, !tbaa !1 | |
store i64 %lnjeW, i64* %R2_Var | |
%lnjeY = load i64, i64* %lsiGT | |
%lnjeX = load i64*, i64** %Sp_Var | |
%lnjeZ = getelementptr inbounds i64, i64* %lnjeX, i32 -7 | |
store i64 %lnjeY, i64* %lnjeZ, !tbaa !1 | |
%lnjf1 = load i64*, i64** %Sp_Var | |
%lnjf2 = getelementptr inbounds i64, i64* %lnjf1, i32 1 | |
%lnjf3 = bitcast i64* %lnjf2 to i64* | |
%lnjf4 = load i64, i64* %lnjf3, !tbaa !1 | |
%lnjf5 = add i64 %lnjf4, 16 | |
%lnjf0 = load i64*, i64** %Sp_Var | |
%lnjf6 = getelementptr inbounds i64, i64* %lnjf0, i32 -6 | |
store i64 %lnjf5, i64* %lnjf6, !tbaa !1 | |
%lnjf9 = load i64*, i64** %Hp_Var | |
%lnjfa = ptrtoint i64* %lnjf9 to i64 | |
%lnjfb = add i64 %lnjfa, -7 | |
%lnjf7 = load i64*, i64** %Sp_Var | |
%lnjfc = getelementptr inbounds i64, i64* %lnjf7, i32 -5 | |
store i64 %lnjfb, i64* %lnjfc, !tbaa !1 | |
%lnjfe = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64 | |
%lnjff = add i64 %lnjfe, 2 | |
%lnjfd = load i64*, i64** %Sp_Var | |
%lnjfg = getelementptr inbounds i64, i64* %lnjfd, i32 -4 | |
store i64 %lnjff, i64* %lnjfg, !tbaa !1 | |
%lnjfi = load i64*, i64** %Sp_Var | |
%lnjfj = getelementptr inbounds i64, i64* %lnjfi, i32 6 | |
%lnjfk = bitcast i64* %lnjfj to i64* | |
%lnjfl = load i64, i64* %lnjfk, !tbaa !1 | |
%lnjfh = load i64*, i64** %Sp_Var | |
%lnjfm = getelementptr inbounds i64, i64* %lnjfh, i32 -3 | |
store i64 %lnjfl, i64* %lnjfm, !tbaa !1 | |
%lnjfn = load i64*, i64** %Sp_Var | |
%lnjfo = getelementptr inbounds i64, i64* %lnjfn, i32 -2 | |
store i64 0, i64* %lnjfo, !tbaa !1 | |
%lnjfp = load i64*, i64** %Sp_Var | |
%lnjfq = getelementptr inbounds i64, i64* %lnjfp, i32 -1 | |
store i64 0, i64* %lnjfq, !tbaa !1 | |
%lnjfr = load i64*, i64** %Sp_Var | |
%lnjfs = getelementptr inbounds i64, i64* %lnjfr, i32 -7 | |
%lnjft = ptrtoint i64* %lnjfs to i64 | |
%lnjfu = inttoptr i64 %lnjft to i64* | |
store i64* %lnjfu, i64** %Sp_Var | |
%lnjfv = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjfw = load i64*, i64** %Sp_Var | |
%lnjfx = load i64*, i64** %Hp_Var | |
%lnjfy = load i64, i64* %R1_Var | |
%lnjfz = load i64, i64* %R2_Var | |
%lnjfA = load i64, i64* %R3_Var | |
%lnjfB = load i64, i64* %R4_Var | |
%lnjfC = load i64, i64* %R5_Var | |
%lnjfD = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfv( i64* %Base_Arg, i64* %lnjfw, i64* %lnjfx, i64 %lnjfy, i64 %lnjfz, i64 %lnjfA, i64 %lnjfB, i64 %lnjfC, i64 %lnjfD, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj6f: | |
%lnjfE = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnjfE, !tbaa !4 | |
%lnjfF = load i64, i64* %R1_Var | |
store i64 %lnjfF, i64* %R1_Var | |
%lnjfG = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjfH = load i64*, i64** %Sp_Var | |
%lnjfI = load i64*, i64** %Hp_Var | |
%lnjfJ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfG( i64* %Base_Arg, i64* %lnjfH, i64* %lnjfI, i64 %lnjfJ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj62_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj62_info$def to i8*) | |
define internal ghccc void @cj62_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj62_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cj62: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjfK = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to i64 | |
%lnjfL = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjfK, i64* %lnjfL, !tbaa !1 | |
%lnjfM = load i64, i64* %R1_Var | |
store i64 %lnjfM, i64* %R1_Var | |
%lnjfN = load i64, i64* %R1_Var | |
%lnjfO = and i64 %lnjfN, 7 | |
%lnjfP = icmp ne i64 %lnjfO, 0 | |
br i1 %lnjfP, label %uj7u, label %cj65 | |
cj65: | |
%lnjfR = load i64, i64* %R1_Var | |
%lnjfS = inttoptr i64 %lnjfR to i64* | |
%lnjfT = load i64, i64* %lnjfS, !tbaa !3 | |
%lnjfU = inttoptr i64 %lnjfT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjfV = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfU( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjfV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj7u: | |
%lnjfW = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjfX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjfW( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjfX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj64_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to i8*) | |
define internal ghccc void @cj64_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj64_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cj64: | |
%lsiIa = alloca i64, i32 1 | |
%lsiIc = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjfY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to i64 | |
%lnjfZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjfY, i64* %lnjfZ, !tbaa !1 | |
%lnjg2 = load i64, i64* %R1_Var | |
%lnjg3 = add i64 %lnjg2, 7 | |
%lnjg4 = inttoptr i64 %lnjg3 to i64* | |
%lnjg5 = load i64, i64* %lnjg4, !tbaa !3 | |
store i64 %lnjg5, i64* %lsiIa | |
%lnjg8 = load i64, i64* %R1_Var | |
%lnjg9 = add i64 %lnjg8, 23 | |
%lnjga = inttoptr i64 %lnjg9 to i64* | |
%lnjgb = load i64, i64* %lnjga, !tbaa !3 | |
store i64 %lnjgb, i64* %lsiIc | |
%lnjge = load i64, i64* %R1_Var | |
%lnjgf = add i64 %lnjge, 15 | |
%lnjgg = inttoptr i64 %lnjgf to i64* | |
%lnjgh = load i64, i64* %lnjgg, !tbaa !3 | |
store i64 %lnjgh, i64* %R1_Var | |
%lnjgi = load i64, i64* %lsiIc | |
%lnjgj = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjgi, i64* %lnjgj, !tbaa !1 | |
%lnjgk = load i64, i64* %lsiIa | |
%lnjgl = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjgk, i64* %lnjgl, !tbaa !1 | |
%lnjgm = load i64, i64* %R1_Var | |
%lnjgn = and i64 %lnjgm, 7 | |
%lnjgo = icmp ne i64 %lnjgn, 0 | |
br i1 %lnjgo, label %uj7v, label %cj6i | |
cj6i: | |
%lnjgq = load i64, i64* %R1_Var | |
%lnjgr = inttoptr i64 %lnjgq to i64* | |
%lnjgs = load i64, i64* %lnjgr, !tbaa !3 | |
%lnjgt = inttoptr i64 %lnjgs to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjgu = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjgt( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjgu, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj7v: | |
%lnjgv = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjgw = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjgv( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjgw, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj69_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to i8*) | |
define internal ghccc void @cj69_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj69_info$def to i64)),i64 32), i64 2182, i64 4294967328}> | |
{ | |
cj69: | |
%lsiIi = alloca i64, i32 1 | |
%lsiIf = alloca i64, i32 1 | |
%lsiIe = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjgz = load i64, i64* %R1_Var | |
%lnjgA = add i64 %lnjgz, 39 | |
%lnjgB = inttoptr i64 %lnjgA to i64* | |
%lnjgC = load i64, i64* %lnjgB, !tbaa !3 | |
store i64 %lnjgC, i64* %lsiIi | |
%lnjgD = load i64, i64* %lsiIi | |
%lnjgG = load i64, i64* %R1_Var | |
%lnjgH = add i64 %lnjgG, 47 | |
%lnjgI = inttoptr i64 %lnjgH to i64* | |
%lnjgJ = load i64, i64* %lnjgI, !tbaa !3 | |
%lnjgK = icmp eq i64 %lnjgD, %lnjgJ | |
%lnjgL = zext i1 %lnjgK to i64 | |
switch i64 %lnjgL, label %cj6u [i64 0, label %cj6u | |
i64 1, label %cj6O] | |
cj6u: | |
%lnjgM = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to i64 | |
%lnjgN = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjgM, i64* %lnjgN, !tbaa !1 | |
%lnjgQ = load i64, i64* %R1_Var | |
%lnjgR = add i64 %lnjgQ, 7 | |
%lnjgS = inttoptr i64 %lnjgR to i64* | |
%lnjgT = load i64, i64* %lnjgS, !tbaa !3 | |
store i64 %lnjgT, i64* %lsiIf | |
%lnjgW = load i64, i64* %R1_Var | |
%lnjgX = add i64 %lnjgW, 23 | |
%lnjgY = inttoptr i64 %lnjgX to i64* | |
%lnjgZ = load i64, i64* %lnjgY, !tbaa !3 | |
store i64 %lnjgZ, i64* %lsiIe | |
%lnjh0 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnjh1 = bitcast i64* %lnjh0 to i64* | |
%lnjh2 = load i64, i64* %lnjh1, !tbaa !1 | |
store i64 %lnjh2, i64* %R1_Var | |
%lnjh3 = load i64, i64* %lsiIi | |
%lnjh4 = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
store i64 %lnjh3, i64* %lnjh4, !tbaa !1 | |
%lnjh5 = load i64, i64* %lsiIf | |
%lnjh6 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjh5, i64* %lnjh6, !tbaa !1 | |
%lnjh7 = load i64, i64* %lsiIe | |
%lnjh8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjh7, i64* %lnjh8, !tbaa !1 | |
%lnjh9 = load i64, i64* %R1_Var | |
%lnjha = and i64 %lnjh9, 7 | |
%lnjhb = icmp ne i64 %lnjha, 0 | |
br i1 %lnjhb, label %uj7w, label %cj6v | |
cj6v: | |
%lnjhd = load i64, i64* %R1_Var | |
%lnjhe = inttoptr i64 %lnjhd to i64* | |
%lnjhf = load i64, i64* %lnjhe, !tbaa !3 | |
%lnjhg = inttoptr i64 %lnjhf to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjhh = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhg( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhh, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj7w: | |
%lnjhi = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjhj = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhi( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhj, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj6O: | |
%lnjhk = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to i64 | |
%lnjhl = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjhk, i64* %lnjhl, !tbaa !1 | |
%lnjhm = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnjhn = bitcast i64* %lnjhm to i64* | |
%lnjho = load i64, i64* %lnjhn, !tbaa !1 | |
store i64 %lnjho, i64* %R1_Var | |
%lnjhp = load i64, i64* %R1_Var | |
%lnjhq = and i64 %lnjhp, 7 | |
%lnjhr = icmp ne i64 %lnjhq, 0 | |
br i1 %lnjhr, label %uj7x, label %cj6P | |
cj6P: | |
%lnjht = load i64, i64* %R1_Var | |
%lnjhu = inttoptr i64 %lnjht to i64* | |
%lnjhv = load i64, i64* %lnjhu, !tbaa !3 | |
%lnjhw = inttoptr i64 %lnjhv to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjhx = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhw( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhx, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj7x: | |
%lnjhy = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjhz = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjhy( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjhz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj6N_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to i8*) | |
define internal ghccc void @cj6N_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6N_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cj6N: | |
%lsiID = alloca i64, i32 1 | |
%lsiIz = alloca i64, i32 1 | |
%lsiIy = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lnjhC = load i64, i64* %R1_Var | |
%lnjhD = add i64 %lnjhC, 47 | |
%lnjhE = inttoptr i64 %lnjhD to i64* | |
%lnjhF = load i64, i64* %lnjhE, !tbaa !3 | |
store i64 %lnjhF, i64* %lsiID | |
%lnjhI = load i64, i64* %R1_Var | |
%lnjhJ = add i64 %lnjhI, 31 | |
%lnjhK = inttoptr i64 %lnjhJ to i64* | |
%lnjhL = load i64, i64* %lnjhK, !tbaa !3 | |
%lnjhM = load i64, i64* %lsiID | |
%lnjhN = sub i64 %lnjhL, %lnjhM | |
switch i64 %lnjhN, label %cj74 [i64 0, label %cj7c] | |
cj74: | |
%lnjhQ = load i64, i64* %R1_Var | |
%lnjhR = add i64 %lnjhQ, 7 | |
%lnjhS = inttoptr i64 %lnjhR to i64* | |
%lnjhT = load i64, i64* %lnjhS, !tbaa !3 | |
store i64 %lnjhT, i64* %lsiIz | |
%lnjhW = load i64, i64* %R1_Var | |
%lnjhX = add i64 %lnjhW, 23 | |
%lnjhY = inttoptr i64 %lnjhX to i64* | |
%lnjhZ = load i64, i64* %lnjhY, !tbaa !3 | |
store i64 %lnjhZ, i64* %lsiIy | |
%lnji0 = load i64, i64* %lsiIy | |
%lnji1 = load i64, i64* %lsiID | |
%lnji2 = add i64 %lnji0, %lnji1 | |
%lnji3 = inttoptr i64 %lnji2 to i8* | |
store i8 0, i8* %lnji3, !tbaa !5 | |
%lnji4 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj72_info$def to i64 | |
%lnji5 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnji4, i64* %lnji5, !tbaa !1 | |
%lnji6 = load i64, i64* %lsiIy | |
store i64 %lnji6, i64* %R1_Var | |
%lnji7 = load i64, i64* %lsiIz | |
%lnji8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
store i64 %lnji7, i64* %lnji8, !tbaa !1 | |
%lnji9 = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjia = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnji9( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjia, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj7c: | |
%lnjib = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7j_info$def to i64 | |
%lnjic = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjib, i64* %lnjic, !tbaa !1 | |
%lnjid = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
%lnjie = bitcast i64* %lnjid to i64* | |
%lnjif = load i64, i64* %lnjie, !tbaa !1 | |
%lnjig = shl i64 %lnjif, 1 | |
store i64 %lnjig, i64* %R2_Var | |
%lnjih = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnjii = bitcast i64* %lnjih to i64* | |
%lnjij = load i64, i64* %lnjii, !tbaa !1 | |
store i64 %lnjij, i64* %R1_Var | |
%lnjik = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjil = load i64, i64* %R1_Var | |
%lnjim = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjik( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjil, i64 %lnjim, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7j_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7j_info$def to i8*) | |
define internal ghccc void @cj7j_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cj7j: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjin = load i64, i64* %R1_Var | |
store i64 %lnjin, i64* %R1_Var | |
%lnjio = load i64*, i64** %Sp_Var | |
%lnjip = getelementptr inbounds i64, i64* %lnjio, i32 7 | |
%lnjiq = ptrtoint i64* %lnjip to i64 | |
%lnjir = inttoptr i64 %lnjiq to i64* | |
store i64* %lnjir, i64** %Sp_Var | |
%lnjis = load i64*, i64** %Sp_Var | |
%lnjit = getelementptr inbounds i64, i64* %lnjis, i32 0 | |
%lnjiu = bitcast i64* %lnjit to i64* | |
%lnjiv = load i64, i64* %lnjiu, !tbaa !1 | |
%lnjiw = inttoptr i64 %lnjiv to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjix = load i64*, i64** %Sp_Var | |
%lnjiy = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjiw( i64* %Base_Arg, i64* %lnjix, i64* %Hp_Arg, i64 %lnjiy, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj72_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj72_info$def to i8*) | |
define internal ghccc void @cj72_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}> | |
{ | |
cj72: | |
%lsiI0 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjiz = load i64*, i64** %Sp_Var | |
%lnjiA = getelementptr inbounds i64, i64* %lnjiz, i32 1 | |
%lnjiB = bitcast i64* %lnjiA to i64* | |
%lnjiC = load i64, i64* %lnjiB, !tbaa !1 | |
store i64 %lnjiC, i64* %lsiI0 | |
%lnjiD = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjiE = add i64 %lnjiD, 1 | |
store i64 %lnjiE, i64* %R1_Var | |
%lnjiF = load i64*, i64** %Sp_Var | |
%lnjiG = getelementptr inbounds i64, i64* %lnjiF, i32 7 | |
%lnjiH = ptrtoint i64* %lnjiG to i64 | |
%lnjiI = inttoptr i64 %lnjiH to i64* | |
store i64* %lnjiI, i64** %Sp_Var | |
%lnjiJ = load i64*, i64** %Sp_Var | |
%lnjiK = getelementptr inbounds i64, i64* %lnjiJ, i32 0 | |
%lnjiL = bitcast i64* %lnjiK to i64* | |
%lnjiM = load i64, i64* %lnjiL, !tbaa !1 | |
%lnjiN = inttoptr i64 %lnjiM to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjiO = load i64*, i64** %Sp_Var | |
%lnjiP = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjiN( i64* %Base_Arg, i64* %lnjiO, i64* %Hp_Arg, i64 %lnjiP, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj6s_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to i8*) | |
define internal ghccc void @cj6s_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6s_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj6s: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjiQ = load i64, i64* %R1_Var | |
%lnjiR = and i64 %lnjiQ, 7 | |
switch i64 %lnjiR, label %cj6B [i64 2, label %cj6J] | |
cj6B: | |
%lnjiS = load i64*, i64** %Sp_Var | |
%lnjiT = getelementptr inbounds i64, i64* %lnjiS, i32 7 | |
%lnjiU = ptrtoint i64* %lnjiT to i64 | |
%lnjiV = inttoptr i64 %lnjiU to i64* | |
store i64* %lnjiV, i64** %Sp_Var | |
%lnjiW = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjiX = load i64*, i64** %Sp_Var | |
%lnjiY = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjiW( i64* %Base_Arg, i64* %lnjiX, i64* %Hp_Arg, i64 %lnjiY, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj6J: | |
%lnjj0 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6I_info$def to i64 | |
%lnjiZ = load i64*, i64** %Sp_Var | |
%lnjj1 = getelementptr inbounds i64, i64* %lnjiZ, i32 0 | |
store i64 %lnjj0, i64* %lnjj1, !tbaa !1 | |
%lnjj2 = load i64*, i64** %Sp_Var | |
%lnjj3 = getelementptr inbounds i64, i64* %lnjj2, i32 6 | |
%lnjj4 = bitcast i64* %lnjj3 to i64* | |
%lnjj5 = load i64, i64* %lnjj4, !tbaa !1 | |
%lnjj6 = shl i64 %lnjj5, 1 | |
store i64 %lnjj6, i64* %R2_Var | |
%lnjj7 = load i64*, i64** %Sp_Var | |
%lnjj8 = getelementptr inbounds i64, i64* %lnjj7, i32 5 | |
%lnjj9 = bitcast i64* %lnjj8 to i64* | |
%lnjja = load i64, i64* %lnjj9, !tbaa !1 | |
store i64 %lnjja, i64* %R1_Var | |
%lnjjb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjjc = load i64*, i64** %Sp_Var | |
%lnjjd = load i64, i64* %R1_Var | |
%lnjje = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjjb( i64* %Base_Arg, i64* %lnjjc, i64* %Hp_Arg, i64 %lnjjd, i64 %lnjje, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj6I_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj6I_info$def to i8*) | |
define internal ghccc void @cj6I_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cj6I: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjjf = load i64, i64* %R1_Var | |
store i64 %lnjjf, i64* %R1_Var | |
%lnjjg = load i64*, i64** %Sp_Var | |
%lnjjh = getelementptr inbounds i64, i64* %lnjjg, i32 7 | |
%lnjji = ptrtoint i64* %lnjjh to i64 | |
%lnjjj = inttoptr i64 %lnjji to i64* | |
store i64* %lnjjj, i64** %Sp_Var | |
%lnjjk = load i64*, i64** %Sp_Var | |
%lnjjl = getelementptr inbounds i64, i64* %lnjjk, i32 0 | |
%lnjjm = bitcast i64* %lnjjl to i64* | |
%lnjjn = load i64, i64* %lnjjm, !tbaa !1 | |
%lnjjo = inttoptr i64 %lnjjn to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjjp = load i64*, i64** %Sp_Var | |
%lnjjq = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjjo( i64* %Base_Arg, i64* %lnjjp, i64* %Hp_Arg, i64 %lnjjq, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siJ7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to i8*) | |
define internal ghccc void @siJ7_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}> | |
{ | |
cj7X: | |
%lsiJ7 = alloca i64, i32 1 | |
%lsiHt = alloca i64, i32 1 | |
%lsiGT = alloca i64, i32 1 | |
%lsiH1 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnjjr = load i64*, i64** %Sp_Var | |
%lnjjs = getelementptr inbounds i64, i64* %lnjjr, i32 -14 | |
%lnjjt = ptrtoint i64* %lnjjs to i64 | |
%lnjju = icmp ult i64 %lnjjt, %SpLim_Arg | |
br i1 %lnjju, label %cj87, label %cj88 | |
cj88: | |
%lnjjw = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Q_info$def to i64 | |
%lnjjv = load i64*, i64** %Sp_Var | |
%lnjjx = getelementptr inbounds i64, i64* %lnjjv, i32 -6 | |
store i64 %lnjjw, i64* %lnjjx, !tbaa !1 | |
%lnjjy = load i64, i64* %R1_Var | |
store i64 %lnjjy, i64* %lsiJ7 | |
%lnjjB = load i64, i64* %R1_Var | |
%lnjjC = add i64 %lnjjB, 6 | |
%lnjjD = inttoptr i64 %lnjjC to i64* | |
%lnjjE = load i64, i64* %lnjjD, !tbaa !3 | |
store i64 %lnjjE, i64* %lsiHt | |
%lnjjH = load i64, i64* %R1_Var | |
%lnjjI = add i64 %lnjjH, 14 | |
%lnjjJ = inttoptr i64 %lnjjI to i64* | |
%lnjjK = load i64, i64* %lnjjJ, !tbaa !3 | |
store i64 %lnjjK, i64* %lsiGT | |
%lnjjN = load i64, i64* %R1_Var | |
%lnjjO = add i64 %lnjjN, 22 | |
%lnjjP = inttoptr i64 %lnjjO to i64* | |
%lnjjQ = load i64, i64* %lnjjP, !tbaa !3 | |
store i64 %lnjjQ, i64* %lsiH1 | |
%lnjjR = load i64, i64* %R2_Var | |
store i64 %lnjjR, i64* %R1_Var | |
%lnjjT = load i64, i64* %lsiGT | |
%lnjjS = load i64*, i64** %Sp_Var | |
%lnjjU = getelementptr inbounds i64, i64* %lnjjS, i32 -5 | |
store i64 %lnjjT, i64* %lnjjU, !tbaa !1 | |
%lnjjW = load i64, i64* %lsiH1 | |
%lnjjV = load i64*, i64** %Sp_Var | |
%lnjjX = getelementptr inbounds i64, i64* %lnjjV, i32 -4 | |
store i64 %lnjjW, i64* %lnjjX, !tbaa !1 | |
%lnjjZ = load i64, i64* %lsiHt | |
%lnjjY = load i64*, i64** %Sp_Var | |
%lnjk0 = getelementptr inbounds i64, i64* %lnjjY, i32 -3 | |
store i64 %lnjjZ, i64* %lnjk0, !tbaa !1 | |
%lnjk2 = load i64, i64* %lsiJ7 | |
%lnjk1 = load i64*, i64** %Sp_Var | |
%lnjk3 = getelementptr inbounds i64, i64* %lnjk1, i32 -2 | |
store i64 %lnjk2, i64* %lnjk3, !tbaa !1 | |
%lnjk5 = load i64, i64* %R2_Var | |
%lnjk4 = load i64*, i64** %Sp_Var | |
%lnjk6 = getelementptr inbounds i64, i64* %lnjk4, i32 -1 | |
store i64 %lnjk5, i64* %lnjk6, !tbaa !1 | |
%lnjk7 = load i64*, i64** %Sp_Var | |
%lnjk8 = getelementptr inbounds i64, i64* %lnjk7, i32 -6 | |
%lnjk9 = ptrtoint i64* %lnjk8 to i64 | |
%lnjka = inttoptr i64 %lnjk9 to i64* | |
store i64* %lnjka, i64** %Sp_Var | |
%lnjkb = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjkc = load i64*, i64** %Sp_Var | |
%lnjkd = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjkb( i64* %Base_Arg, i64* %lnjkc, i64* %Hp_Arg, i64 %lnjkd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj87: | |
%lnjke = load i64, i64* %R2_Var | |
store i64 %lnjke, i64* %R2_Var | |
%lnjkf = load i64, i64* %R1_Var | |
store i64 %lnjkf, i64* %R1_Var | |
%lnjkg = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjkh = bitcast i64* %lnjkg to i64* | |
%lnjki = load i64, i64* %lnjkh, !tbaa !4 | |
%lnjkj = inttoptr i64 %lnjki to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjkk = load i64*, i64** %Sp_Var | |
%lnjkl = load i64, i64* %R1_Var | |
%lnjkm = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjkj( i64* %Base_Arg, i64* %lnjkk, i64* %Hp_Arg, i64 %lnjkl, i64 %lnjkm, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7Q_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Q_info$def to i8*) | |
define internal ghccc void @cj7Q_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Q_info$def to i64)),i64 32), i64 1221, i64 4294967328}> | |
{ | |
cj7Q: | |
%lsiJf = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjko = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7S_info$def to i64 | |
%lnjkn = load i64*, i64** %Sp_Var | |
%lnjkp = getelementptr inbounds i64, i64* %lnjkn, i32 -1 | |
store i64 %lnjko, i64* %lnjkp, !tbaa !1 | |
%lnjkq = load i64, i64* %R1_Var | |
store i64 %lnjkq, i64* %lsiJf | |
%lnjkr = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnjks = add i64 %lnjkr, 1 | |
store i64 %lnjks, i64* %R1_Var | |
%lnjku = load i64, i64* %lsiJf | |
%lnjkt = load i64*, i64** %Sp_Var | |
%lnjkv = getelementptr inbounds i64, i64* %lnjkt, i32 0 | |
store i64 %lnjku, i64* %lnjkv, !tbaa !1 | |
%lnjkw = load i64*, i64** %Sp_Var | |
%lnjkx = getelementptr inbounds i64, i64* %lnjkw, i32 -1 | |
%lnjky = ptrtoint i64* %lnjkx to i64 | |
%lnjkz = inttoptr i64 %lnjky to i64* | |
store i64* %lnjkz, i64** %Sp_Var | |
%lnjkA = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjkB = load i64*, i64** %Sp_Var | |
%lnjkC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjkA( i64* %Base_Arg, i64* %lnjkB, i64* %Hp_Arg, i64 %lnjkC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7S_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7S_info$def to i8*) | |
define internal ghccc void @cj7S_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7S_info$def to i64)),i64 32), i64 2438, i64 4294967328}> | |
{ | |
cj7S: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%lsiGT = alloca i64, i32 1 | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjkD = load i64*, i64** %Hp_Var | |
%lnjkE = getelementptr inbounds i64, i64* %lnjkD, i32 2 | |
%lnjkF = ptrtoint i64* %lnjkE to i64 | |
%lnjkG = inttoptr i64 %lnjkF to i64* | |
store i64* %lnjkG, i64** %Hp_Var | |
%lnjkH = load i64*, i64** %Hp_Var | |
%lnjkI = ptrtoint i64* %lnjkH to i64 | |
%lnjkJ = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjkK = bitcast i64* %lnjkJ to i64* | |
%lnjkL = load i64, i64* %lnjkK, !tbaa !4 | |
%lnjkM = icmp ugt i64 %lnjkI, %lnjkL | |
br i1 %lnjkM, label %cj8c, label %cj8b | |
cj8b: | |
%lnjkO = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnjkN = load i64*, i64** %Hp_Var | |
%lnjkP = getelementptr inbounds i64, i64* %lnjkN, i32 -1 | |
store i64 %lnjkO, i64* %lnjkP, !tbaa !2 | |
%lnjkR = load i64, i64* %R1_Var | |
%lnjkQ = load i64*, i64** %Hp_Var | |
%lnjkS = getelementptr inbounds i64, i64* %lnjkQ, i32 0 | |
store i64 %lnjkR, i64* %lnjkS, !tbaa !2 | |
%lnjkU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Z_info$def to i64 | |
%lnjkT = load i64*, i64** %Sp_Var | |
%lnjkV = getelementptr inbounds i64, i64* %lnjkT, i32 0 | |
store i64 %lnjkU, i64* %lnjkV, !tbaa !1 | |
store i64 0, i64* %R6_Var | |
%lnjkW = load i64*, i64** %Sp_Var | |
%lnjkX = getelementptr inbounds i64, i64* %lnjkW, i32 2 | |
%lnjkY = bitcast i64* %lnjkX to i64* | |
%lnjkZ = load i64, i64* %lnjkY, !tbaa !1 | |
store i64 %lnjkZ, i64* %lsiGT | |
%lnjl0 = load i64, i64* %lsiGT | |
store i64 %lnjl0, i64* %R5_Var | |
%lnjl1 = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64 | |
%lnjl2 = add i64 %lnjl1, 1 | |
store i64 %lnjl2, i64* %R4_Var | |
%lnjl3 = load i64*, i64** %Sp_Var | |
%lnjl4 = getelementptr inbounds i64, i64* %lnjl3, i32 4 | |
%lnjl5 = bitcast i64* %lnjl4 to i64* | |
%lnjl6 = load i64, i64* %lnjl5, !tbaa !1 | |
store i64 %lnjl6, i64* %R3_Var | |
%lnjl7 = load i64*, i64** %Sp_Var | |
%lnjl8 = getelementptr inbounds i64, i64* %lnjl7, i32 3 | |
%lnjl9 = bitcast i64* %lnjl8 to i64* | |
%lnjla = load i64, i64* %lnjl9, !tbaa !1 | |
store i64 %lnjla, i64* %R2_Var | |
%lnjlc = load i64, i64* %lsiGT | |
%lnjlb = load i64*, i64** %Sp_Var | |
%lnjld = getelementptr inbounds i64, i64* %lnjlb, i32 -7 | |
store i64 %lnjlc, i64* %lnjld, !tbaa !1 | |
%lnjlf = load i64*, i64** %Sp_Var | |
%lnjlg = getelementptr inbounds i64, i64* %lnjlf, i32 1 | |
%lnjlh = bitcast i64* %lnjlg to i64* | |
%lnjli = load i64, i64* %lnjlh, !tbaa !1 | |
%lnjlj = add i64 %lnjli, 16 | |
%lnjle = load i64*, i64** %Sp_Var | |
%lnjlk = getelementptr inbounds i64, i64* %lnjle, i32 -6 | |
store i64 %lnjlj, i64* %lnjlk, !tbaa !1 | |
%lnjln = load i64*, i64** %Hp_Var | |
%lnjlo = ptrtoint i64* %lnjln to i64 | |
%lnjlp = add i64 %lnjlo, -7 | |
%lnjll = load i64*, i64** %Sp_Var | |
%lnjlq = getelementptr inbounds i64, i64* %lnjll, i32 -5 | |
store i64 %lnjlp, i64* %lnjlq, !tbaa !1 | |
%lnjls = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64 | |
%lnjlt = add i64 %lnjls, 2 | |
%lnjlr = load i64*, i64** %Sp_Var | |
%lnjlu = getelementptr inbounds i64, i64* %lnjlr, i32 -4 | |
store i64 %lnjlt, i64* %lnjlu, !tbaa !1 | |
%lnjlw = load i64*, i64** %Sp_Var | |
%lnjlx = getelementptr inbounds i64, i64* %lnjlw, i32 6 | |
%lnjly = bitcast i64* %lnjlx to i64* | |
%lnjlz = load i64, i64* %lnjly, !tbaa !1 | |
%lnjlv = load i64*, i64** %Sp_Var | |
%lnjlA = getelementptr inbounds i64, i64* %lnjlv, i32 -3 | |
store i64 %lnjlz, i64* %lnjlA, !tbaa !1 | |
%lnjlB = load i64*, i64** %Sp_Var | |
%lnjlC = getelementptr inbounds i64, i64* %lnjlB, i32 -2 | |
store i64 0, i64* %lnjlC, !tbaa !1 | |
%lnjlD = load i64*, i64** %Sp_Var | |
%lnjlE = getelementptr inbounds i64, i64* %lnjlD, i32 -1 | |
store i64 0, i64* %lnjlE, !tbaa !1 | |
%lnjlF = load i64*, i64** %Sp_Var | |
%lnjlG = getelementptr inbounds i64, i64* %lnjlF, i32 -7 | |
%lnjlH = ptrtoint i64* %lnjlG to i64 | |
%lnjlI = inttoptr i64 %lnjlH to i64* | |
store i64* %lnjlI, i64** %Sp_Var | |
%lnjlJ = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjlK = load i64*, i64** %Sp_Var | |
%lnjlL = load i64*, i64** %Hp_Var | |
%lnjlM = load i64, i64* %R1_Var | |
%lnjlN = load i64, i64* %R2_Var | |
%lnjlO = load i64, i64* %R3_Var | |
%lnjlP = load i64, i64* %R4_Var | |
%lnjlQ = load i64, i64* %R5_Var | |
%lnjlR = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjlJ( i64* %Base_Arg, i64* %lnjlK, i64* %lnjlL, i64 %lnjlM, i64 %lnjlN, i64 %lnjlO, i64 %lnjlP, i64 %lnjlQ, i64 %lnjlR, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj8c: | |
%lnjlS = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnjlS, !tbaa !4 | |
%lnjlT = load i64, i64* %R1_Var | |
store i64 %lnjlT, i64* %R1_Var | |
%lnjlU = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjlV = load i64*, i64** %Sp_Var | |
%lnjlW = load i64*, i64** %Hp_Var | |
%lnjlX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjlU( i64* %Base_Arg, i64* %lnjlV, i64* %lnjlW, i64 %lnjlX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7Z_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Z_info$def to i8*) | |
define internal ghccc void @cj7Z_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7Z_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cj7Z: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjlY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to i64 | |
%lnjlZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjlY, i64* %lnjlZ, !tbaa !1 | |
%lnjm0 = load i64, i64* %R1_Var | |
store i64 %lnjm0, i64* %R1_Var | |
%lnjm1 = load i64, i64* %R1_Var | |
%lnjm2 = and i64 %lnjm1, 7 | |
%lnjm3 = icmp ne i64 %lnjm2, 0 | |
br i1 %lnjm3, label %uj9r, label %cj82 | |
cj82: | |
%lnjm5 = load i64, i64* %R1_Var | |
%lnjm6 = inttoptr i64 %lnjm5 to i64* | |
%lnjm7 = load i64, i64* %lnjm6, !tbaa !3 | |
%lnjm8 = inttoptr i64 %lnjm7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjm9 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjm8( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjm9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj9r: | |
%lnjma = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjmb = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjma( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjmb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj81_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to i8*) | |
define internal ghccc void @cj81_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj81_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cj81: | |
%lsiJp = alloca i64, i32 1 | |
%lsiJr = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjmc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to i64 | |
%lnjmd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjmc, i64* %lnjmd, !tbaa !1 | |
%lnjmg = load i64, i64* %R1_Var | |
%lnjmh = add i64 %lnjmg, 7 | |
%lnjmi = inttoptr i64 %lnjmh to i64* | |
%lnjmj = load i64, i64* %lnjmi, !tbaa !3 | |
store i64 %lnjmj, i64* %lsiJp | |
%lnjmm = load i64, i64* %R1_Var | |
%lnjmn = add i64 %lnjmm, 23 | |
%lnjmo = inttoptr i64 %lnjmn to i64* | |
%lnjmp = load i64, i64* %lnjmo, !tbaa !3 | |
store i64 %lnjmp, i64* %lsiJr | |
%lnjms = load i64, i64* %R1_Var | |
%lnjmt = add i64 %lnjms, 15 | |
%lnjmu = inttoptr i64 %lnjmt to i64* | |
%lnjmv = load i64, i64* %lnjmu, !tbaa !3 | |
store i64 %lnjmv, i64* %R1_Var | |
%lnjmw = load i64, i64* %lsiJr | |
%lnjmx = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjmw, i64* %lnjmx, !tbaa !1 | |
%lnjmy = load i64, i64* %lsiJp | |
%lnjmz = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjmy, i64* %lnjmz, !tbaa !1 | |
%lnjmA = load i64, i64* %R1_Var | |
%lnjmB = and i64 %lnjmA, 7 | |
%lnjmC = icmp ne i64 %lnjmB, 0 | |
br i1 %lnjmC, label %uj9s, label %cj8f | |
cj8f: | |
%lnjmE = load i64, i64* %R1_Var | |
%lnjmF = inttoptr i64 %lnjmE to i64* | |
%lnjmG = load i64, i64* %lnjmF, !tbaa !3 | |
%lnjmH = inttoptr i64 %lnjmG to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjmI = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjmH( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjmI, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj9s: | |
%lnjmJ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjmK = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjmJ( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjmK, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj86_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to i8*) | |
define internal ghccc void @cj86_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj86_info$def to i64)),i64 32), i64 2182, i64 4294967328}> | |
{ | |
cj86: | |
%lsiJx = alloca i64, i32 1 | |
%lsiJu = alloca i64, i32 1 | |
%lsiJt = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjmN = load i64, i64* %R1_Var | |
%lnjmO = add i64 %lnjmN, 39 | |
%lnjmP = inttoptr i64 %lnjmO to i64* | |
%lnjmQ = load i64, i64* %lnjmP, !tbaa !3 | |
store i64 %lnjmQ, i64* %lsiJx | |
%lnjmR = load i64, i64* %lsiJx | |
%lnjmU = load i64, i64* %R1_Var | |
%lnjmV = add i64 %lnjmU, 47 | |
%lnjmW = inttoptr i64 %lnjmV to i64* | |
%lnjmX = load i64, i64* %lnjmW, !tbaa !3 | |
%lnjmY = icmp eq i64 %lnjmR, %lnjmX | |
%lnjmZ = zext i1 %lnjmY to i64 | |
switch i64 %lnjmZ, label %cj8r [i64 0, label %cj8r | |
i64 1, label %cj8L] | |
cj8r: | |
%lnjn0 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to i64 | |
%lnjn1 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjn0, i64* %lnjn1, !tbaa !1 | |
%lnjn4 = load i64, i64* %R1_Var | |
%lnjn5 = add i64 %lnjn4, 7 | |
%lnjn6 = inttoptr i64 %lnjn5 to i64* | |
%lnjn7 = load i64, i64* %lnjn6, !tbaa !3 | |
store i64 %lnjn7, i64* %lsiJu | |
%lnjna = load i64, i64* %R1_Var | |
%lnjnb = add i64 %lnjna, 23 | |
%lnjnc = inttoptr i64 %lnjnb to i64* | |
%lnjnd = load i64, i64* %lnjnc, !tbaa !3 | |
store i64 %lnjnd, i64* %lsiJt | |
%lnjne = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnjnf = bitcast i64* %lnjne to i64* | |
%lnjng = load i64, i64* %lnjnf, !tbaa !1 | |
store i64 %lnjng, i64* %R1_Var | |
%lnjnh = load i64, i64* %lsiJx | |
%lnjni = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
store i64 %lnjnh, i64* %lnjni, !tbaa !1 | |
%lnjnj = load i64, i64* %lsiJu | |
%lnjnk = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjnj, i64* %lnjnk, !tbaa !1 | |
%lnjnl = load i64, i64* %lsiJt | |
%lnjnm = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjnl, i64* %lnjnm, !tbaa !1 | |
%lnjnn = load i64, i64* %R1_Var | |
%lnjno = and i64 %lnjnn, 7 | |
%lnjnp = icmp ne i64 %lnjno, 0 | |
br i1 %lnjnp, label %uj9t, label %cj8s | |
cj8s: | |
%lnjnr = load i64, i64* %R1_Var | |
%lnjns = inttoptr i64 %lnjnr to i64* | |
%lnjnt = load i64, i64* %lnjns, !tbaa !3 | |
%lnjnu = inttoptr i64 %lnjnt to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjnv = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnu( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj9t: | |
%lnjnw = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjnx = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnw( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnx, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj8L: | |
%lnjny = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to i64 | |
%lnjnz = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjny, i64* %lnjnz, !tbaa !1 | |
%lnjnA = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnjnB = bitcast i64* %lnjnA to i64* | |
%lnjnC = load i64, i64* %lnjnB, !tbaa !1 | |
store i64 %lnjnC, i64* %R1_Var | |
%lnjnD = load i64, i64* %R1_Var | |
%lnjnE = and i64 %lnjnD, 7 | |
%lnjnF = icmp ne i64 %lnjnE, 0 | |
br i1 %lnjnF, label %uj9u, label %cj8M | |
cj8M: | |
%lnjnH = load i64, i64* %R1_Var | |
%lnjnI = inttoptr i64 %lnjnH to i64* | |
%lnjnJ = load i64, i64* %lnjnI, !tbaa !3 | |
%lnjnK = inttoptr i64 %lnjnJ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjnL = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnK( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uj9u: | |
%lnjnM = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjnN = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjnM( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjnN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj8K_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to i8*) | |
define internal ghccc void @cj8K_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8K_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cj8K: | |
%lsiJS = alloca i64, i32 1 | |
%lsiJO = alloca i64, i32 1 | |
%lsiJN = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lnjnQ = load i64, i64* %R1_Var | |
%lnjnR = add i64 %lnjnQ, 47 | |
%lnjnS = inttoptr i64 %lnjnR to i64* | |
%lnjnT = load i64, i64* %lnjnS, !tbaa !3 | |
store i64 %lnjnT, i64* %lsiJS | |
%lnjnW = load i64, i64* %R1_Var | |
%lnjnX = add i64 %lnjnW, 31 | |
%lnjnY = inttoptr i64 %lnjnX to i64* | |
%lnjnZ = load i64, i64* %lnjnY, !tbaa !3 | |
%lnjo0 = load i64, i64* %lsiJS | |
%lnjo1 = sub i64 %lnjnZ, %lnjo0 | |
switch i64 %lnjo1, label %cj91 [i64 0, label %cj99] | |
cj91: | |
%lnjo4 = load i64, i64* %R1_Var | |
%lnjo5 = add i64 %lnjo4, 7 | |
%lnjo6 = inttoptr i64 %lnjo5 to i64* | |
%lnjo7 = load i64, i64* %lnjo6, !tbaa !3 | |
store i64 %lnjo7, i64* %lsiJO | |
%lnjoa = load i64, i64* %R1_Var | |
%lnjob = add i64 %lnjoa, 23 | |
%lnjoc = inttoptr i64 %lnjob to i64* | |
%lnjod = load i64, i64* %lnjoc, !tbaa !3 | |
store i64 %lnjod, i64* %lsiJN | |
%lnjoe = load i64, i64* %lsiJN | |
%lnjof = load i64, i64* %lsiJS | |
%lnjog = add i64 %lnjoe, %lnjof | |
%lnjoh = inttoptr i64 %lnjog to i8* | |
store i8 0, i8* %lnjoh, !tbaa !5 | |
%lnjoi = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8Z_info$def to i64 | |
%lnjoj = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjoi, i64* %lnjoj, !tbaa !1 | |
%lnjok = load i64, i64* %lsiJN | |
store i64 %lnjok, i64* %R1_Var | |
%lnjol = load i64, i64* %lsiJO | |
%lnjom = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
store i64 %lnjol, i64* %lnjom, !tbaa !1 | |
%lnjon = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjoo = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjon( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjoo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj99: | |
%lnjop = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9g_info$def to i64 | |
%lnjoq = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjop, i64* %lnjoq, !tbaa !1 | |
%lnjor = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
%lnjos = bitcast i64* %lnjor to i64* | |
%lnjot = load i64, i64* %lnjos, !tbaa !1 | |
%lnjou = shl i64 %lnjot, 1 | |
store i64 %lnjou, i64* %R2_Var | |
%lnjov = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnjow = bitcast i64* %lnjov to i64* | |
%lnjox = load i64, i64* %lnjow, !tbaa !1 | |
store i64 %lnjox, i64* %R1_Var | |
%lnjoy = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjoz = load i64, i64* %R1_Var | |
%lnjoA = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjoy( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjoz, i64 %lnjoA, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj9g_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9g_info$def to i8*) | |
define internal ghccc void @cj9g_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cj9g: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjoB = load i64, i64* %R1_Var | |
store i64 %lnjoB, i64* %R1_Var | |
%lnjoC = load i64*, i64** %Sp_Var | |
%lnjoD = getelementptr inbounds i64, i64* %lnjoC, i32 7 | |
%lnjoE = ptrtoint i64* %lnjoD to i64 | |
%lnjoF = inttoptr i64 %lnjoE to i64* | |
store i64* %lnjoF, i64** %Sp_Var | |
%lnjoG = load i64*, i64** %Sp_Var | |
%lnjoH = getelementptr inbounds i64, i64* %lnjoG, i32 0 | |
%lnjoI = bitcast i64* %lnjoH to i64* | |
%lnjoJ = load i64, i64* %lnjoI, !tbaa !1 | |
%lnjoK = inttoptr i64 %lnjoJ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjoL = load i64*, i64** %Sp_Var | |
%lnjoM = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjoK( i64* %Base_Arg, i64* %lnjoL, i64* %Hp_Arg, i64 %lnjoM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj8Z_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8Z_info$def to i8*) | |
define internal ghccc void @cj8Z_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}> | |
{ | |
cj8Z: | |
%lsiJf = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjoN = load i64*, i64** %Sp_Var | |
%lnjoO = getelementptr inbounds i64, i64* %lnjoN, i32 1 | |
%lnjoP = bitcast i64* %lnjoO to i64* | |
%lnjoQ = load i64, i64* %lnjoP, !tbaa !1 | |
store i64 %lnjoQ, i64* %lsiJf | |
%lnjoR = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjoS = add i64 %lnjoR, 1 | |
store i64 %lnjoS, i64* %R1_Var | |
%lnjoT = load i64*, i64** %Sp_Var | |
%lnjoU = getelementptr inbounds i64, i64* %lnjoT, i32 7 | |
%lnjoV = ptrtoint i64* %lnjoU to i64 | |
%lnjoW = inttoptr i64 %lnjoV to i64* | |
store i64* %lnjoW, i64** %Sp_Var | |
%lnjoX = load i64*, i64** %Sp_Var | |
%lnjoY = getelementptr inbounds i64, i64* %lnjoX, i32 0 | |
%lnjoZ = bitcast i64* %lnjoY to i64* | |
%lnjp0 = load i64, i64* %lnjoZ, !tbaa !1 | |
%lnjp1 = inttoptr i64 %lnjp0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjp2 = load i64*, i64** %Sp_Var | |
%lnjp3 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjp1( i64* %Base_Arg, i64* %lnjp2, i64* %Hp_Arg, i64 %lnjp3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj8p_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to i8*) | |
define internal ghccc void @cj8p_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8p_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj8p: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjp4 = load i64, i64* %R1_Var | |
%lnjp5 = and i64 %lnjp4, 7 | |
switch i64 %lnjp5, label %cj8y [i64 2, label %cj8G] | |
cj8y: | |
%lnjp6 = load i64*, i64** %Sp_Var | |
%lnjp7 = getelementptr inbounds i64, i64* %lnjp6, i32 7 | |
%lnjp8 = ptrtoint i64* %lnjp7 to i64 | |
%lnjp9 = inttoptr i64 %lnjp8 to i64* | |
store i64* %lnjp9, i64** %Sp_Var | |
%lnjpa = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjpb = load i64*, i64** %Sp_Var | |
%lnjpc = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpa( i64* %Base_Arg, i64* %lnjpb, i64* %Hp_Arg, i64 %lnjpc, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj8G: | |
%lnjpe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8F_info$def to i64 | |
%lnjpd = load i64*, i64** %Sp_Var | |
%lnjpf = getelementptr inbounds i64, i64* %lnjpd, i32 0 | |
store i64 %lnjpe, i64* %lnjpf, !tbaa !1 | |
%lnjpg = load i64*, i64** %Sp_Var | |
%lnjph = getelementptr inbounds i64, i64* %lnjpg, i32 6 | |
%lnjpi = bitcast i64* %lnjph to i64* | |
%lnjpj = load i64, i64* %lnjpi, !tbaa !1 | |
%lnjpk = shl i64 %lnjpj, 1 | |
store i64 %lnjpk, i64* %R2_Var | |
%lnjpl = load i64*, i64** %Sp_Var | |
%lnjpm = getelementptr inbounds i64, i64* %lnjpl, i32 5 | |
%lnjpn = bitcast i64* %lnjpm to i64* | |
%lnjpo = load i64, i64* %lnjpn, !tbaa !1 | |
store i64 %lnjpo, i64* %R1_Var | |
%lnjpp = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjpq = load i64*, i64** %Sp_Var | |
%lnjpr = load i64, i64* %R1_Var | |
%lnjps = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpp( i64* %Base_Arg, i64* %lnjpq, i64* %Hp_Arg, i64 %lnjpr, i64 %lnjps, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj8F_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj8F_info$def to i8*) | |
define internal ghccc void @cj8F_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cj8F: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjpt = load i64, i64* %R1_Var | |
store i64 %lnjpt, i64* %R1_Var | |
%lnjpu = load i64*, i64** %Sp_Var | |
%lnjpv = getelementptr inbounds i64, i64* %lnjpu, i32 7 | |
%lnjpw = ptrtoint i64* %lnjpv to i64 | |
%lnjpx = inttoptr i64 %lnjpw to i64* | |
store i64* %lnjpx, i64** %Sp_Var | |
%lnjpy = load i64*, i64** %Sp_Var | |
%lnjpz = getelementptr inbounds i64, i64* %lnjpy, i32 0 | |
%lnjpA = bitcast i64* %lnjpz to i64* | |
%lnjpB = load i64, i64* %lnjpA, !tbaa !1 | |
%lnjpC = inttoptr i64 %lnjpB to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjpD = load i64*, i64** %Sp_Var | |
%lnjpE = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpC( i64* %Base_Arg, i64* %lnjpD, i64* %Hp_Arg, i64 %lnjpE, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riFA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFA_info$def to i8*) | |
define internal ghccc void @riFA_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFA_info$def to i64)),i64 32), i64 4294967299, i64 0, i64 30064771087}> | |
{ | |
cj9v: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjpF = load i64*, i64** %Sp_Var | |
%lnjpG = getelementptr inbounds i64, i64* %lnjpF, i32 -14 | |
%lnjpH = ptrtoint i64* %lnjpG to i64 | |
%lnjpI = icmp ult i64 %lnjpH, %SpLim_Arg | |
br i1 %lnjpI, label %cj9w, label %cj9x | |
cj9x: | |
%lnjpK = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4p_info$def to i64 | |
%lnjpJ = load i64*, i64** %Sp_Var | |
%lnjpL = getelementptr inbounds i64, i64* %lnjpJ, i32 -1 | |
store i64 %lnjpK, i64* %lnjpL, !tbaa !1 | |
store i64 0, i64* %R3_Var | |
%lnjpM = ptrtoint %riFz_closure_struct* @riFz_closure$def to i64 | |
store i64 %lnjpM, i64* %R2_Var | |
%lnjpN = load i64*, i64** %Sp_Var | |
%lnjpO = getelementptr inbounds i64, i64* %lnjpN, i32 -1 | |
%lnjpP = ptrtoint i64* %lnjpO to i64 | |
%lnjpQ = inttoptr i64 %lnjpP to i64* | |
store i64* %lnjpQ, i64** %Sp_Var | |
%lnjpR = bitcast i8* @base_GHCziList_zdwlenAcc_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjpS = load i64*, i64** %Sp_Var | |
%lnjpT = load i64, i64* %R1_Var | |
%lnjpU = load i64, i64* %R2_Var | |
%lnjpV = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjpR( i64* %Base_Arg, i64* %lnjpS, i64* %Hp_Arg, i64 %lnjpT, i64 %lnjpU, i64 %lnjpV, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj9w: | |
%lnjpW = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64 | |
store i64 %lnjpW, i64* %R1_Var | |
%lnjpX = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjpY = bitcast i64* %lnjpX to i64* | |
%lnjpZ = load i64, i64* %lnjpY, !tbaa !4 | |
%lnjq0 = inttoptr i64 %lnjpZ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjq1 = load i64*, i64** %Sp_Var | |
%lnjq2 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjq0( i64* %Base_Arg, i64* %lnjq1, i64* %Hp_Arg, i64 %lnjq2, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj4p_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4p_info$def to i8*) | |
define internal ghccc void @cj4p_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4p_info$def to i64)),i64 32), i64 0, i64 12884901920}> | |
{ | |
cj4p: | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lsiGT = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjq4 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4w_info$def to i64 | |
%lnjq3 = load i64*, i64** %Sp_Var | |
%lnjq5 = getelementptr inbounds i64, i64* %lnjq3, i32 -1 | |
store i64 %lnjq4, i64* %lnjq5, !tbaa !1 | |
store i64 4, i64* %R2_Var | |
%lnjq6 = load i64, i64* %R1_Var | |
store i64 %lnjq6, i64* %lsiGT | |
%lnjq7 = load i64, i64* %R1_Var | |
%lnjq8 = shl i64 %lnjq7, 2 | |
store i64 %lnjq8, i64* %R1_Var | |
%lnjqa = load i64, i64* %lsiGT | |
%lnjq9 = load i64*, i64** %Sp_Var | |
%lnjqb = getelementptr inbounds i64, i64* %lnjq9, i32 0 | |
store i64 %lnjqa, i64* %lnjqb, !tbaa !1 | |
%lnjqc = load i64*, i64** %Sp_Var | |
%lnjqd = getelementptr inbounds i64, i64* %lnjqc, i32 -1 | |
%lnjqe = ptrtoint i64* %lnjqd to i64 | |
%lnjqf = inttoptr i64 %lnjqe to i64* | |
store i64* %lnjqf, i64** %Sp_Var | |
%lnjqg = bitcast i8* @stg_newAlignedPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjqh = load i64*, i64** %Sp_Var | |
%lnjqi = load i64, i64* %R1_Var | |
%lnjqj = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjqg( i64* %Base_Arg, i64* %lnjqh, i64* %Hp_Arg, i64 %lnjqi, i64 %lnjqj, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj4w_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4w_info$def to i8*) | |
define internal ghccc void @cj4w_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj4w_info$def to i64)),i64 32), i64 65, i64 12884901920}> | |
{ | |
cj4w: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiH1 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lsiH0 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjqk = load i64*, i64** %Hp_Var | |
%lnjql = getelementptr inbounds i64, i64* %lnjqk, i32 2 | |
%lnjqm = ptrtoint i64* %lnjql to i64 | |
%lnjqn = inttoptr i64 %lnjqm to i64* | |
store i64* %lnjqn, i64** %Hp_Var | |
%lnjqo = load i64*, i64** %Hp_Var | |
%lnjqp = ptrtoint i64* %lnjqo to i64 | |
%lnjqq = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjqr = bitcast i64* %lnjqq to i64* | |
%lnjqs = load i64, i64* %lnjqr, !tbaa !4 | |
%lnjqt = icmp ugt i64 %lnjqp, %lnjqs | |
br i1 %lnjqt, label %cj9B, label %cj9A | |
cj9A: | |
%lnjqv = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siH2_info$def to i64 | |
%lnjqu = load i64*, i64** %Hp_Var | |
%lnjqw = getelementptr inbounds i64, i64* %lnjqu, i32 -1 | |
store i64 %lnjqv, i64* %lnjqw, !tbaa !2 | |
%lnjqy = load i64, i64* %R1_Var | |
%lnjqz = add i64 %lnjqy, 16 | |
store i64 %lnjqz, i64* %lsiH1 | |
%lnjqB = load i64, i64* %lsiH1 | |
%lnjqA = load i64*, i64** %Hp_Var | |
%lnjqC = getelementptr inbounds i64, i64* %lnjqA, i32 0 | |
store i64 %lnjqB, i64* %lnjqC, !tbaa !2 | |
%lnjqE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5b_info$def to i64 | |
%lnjqD = load i64*, i64** %Sp_Var | |
%lnjqF = getelementptr inbounds i64, i64* %lnjqD, i32 -2 | |
store i64 %lnjqE, i64* %lnjqF, !tbaa !1 | |
store i64 0, i64* %R3_Var | |
%lnjqG = ptrtoint %riFz_closure_struct* @riFz_closure$def to i64 | |
store i64 %lnjqG, i64* %R2_Var | |
%lnjqH = load i64, i64* %R1_Var | |
store i64 %lnjqH, i64* %lsiH0 | |
%lnjqJ = load i64*, i64** %Hp_Var | |
%lnjqK = ptrtoint i64* %lnjqJ to i64 | |
%lnjqL = add i64 %lnjqK, -5 | |
store i64 %lnjqL, i64* %R1_Var | |
%lnjqN = load i64, i64* %lsiH1 | |
%lnjqM = load i64*, i64** %Sp_Var | |
%lnjqO = getelementptr inbounds i64, i64* %lnjqM, i32 -1 | |
store i64 %lnjqN, i64* %lnjqO, !tbaa !1 | |
%lnjqQ = load i64, i64* %lsiH0 | |
%lnjqP = load i64*, i64** %Sp_Var | |
%lnjqR = getelementptr inbounds i64, i64* %lnjqP, i32 0 | |
store i64 %lnjqQ, i64* %lnjqR, !tbaa !1 | |
%lnjqS = load i64*, i64** %Sp_Var | |
%lnjqT = getelementptr inbounds i64, i64* %lnjqS, i32 -2 | |
%lnjqU = ptrtoint i64* %lnjqT to i64 | |
%lnjqV = inttoptr i64 %lnjqU to i64* | |
store i64* %lnjqV, i64** %Sp_Var | |
%lnjqW = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siH2_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjqX = load i64*, i64** %Sp_Var | |
%lnjqY = load i64*, i64** %Hp_Var | |
%lnjqZ = load i64, i64* %R1_Var | |
%lnjr0 = load i64, i64* %R2_Var | |
%lnjr1 = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjqW( i64* %Base_Arg, i64* %lnjqX, i64* %lnjqY, i64 %lnjqZ, i64 %lnjr0, i64 %lnjr1, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj9B: | |
%lnjr2 = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnjr2, !tbaa !4 | |
%lnjr3 = load i64, i64* %R1_Var | |
store i64 %lnjr3, i64* %R1_Var | |
%lnjr4 = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjr5 = load i64*, i64** %Sp_Var | |
%lnjr6 = load i64*, i64** %Hp_Var | |
%lnjr7 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjr4( i64* %Base_Arg, i64* %lnjr5, i64* %lnjr6, i64 %lnjr7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5b_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5b_info$def to i8*) | |
define internal ghccc void @cj5b_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5b_info$def to i64)),i64 32), i64 323, i64 4294967328}> | |
{ | |
cj5b: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjr8 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5d_info$def to i64 | |
%lnjr9 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjr8, i64* %lnjr9, !tbaa !1 | |
%lnjra = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnjrb = add i64 %lnjra, 1 | |
store i64 %lnjrb, i64* %R1_Var | |
%lnjrc = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjrd = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjrc( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjrd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5d_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5d_info$def to i8*) | |
define internal ghccc void @cj5d_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5d_info$def to i64)),i64 32), i64 323, i64 4294967328}> | |
{ | |
cj5d: | |
%lsiHi = alloca i64, i32 1 | |
%lsiHj = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjrf = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5i_info$def to i64 | |
%lnjre = load i64*, i64** %Sp_Var | |
%lnjrg = getelementptr inbounds i64, i64* %lnjre, i32 -2 | |
store i64 %lnjrf, i64* %lnjrg, !tbaa !1 | |
%lnjrh = load i64, i64* %R1_Var | |
store i64 %lnjrh, i64* %lsiHi | |
%lnjri = load i64*, i64** %Sp_Var | |
%lnjrj = getelementptr inbounds i64, i64* %lnjri, i32 3 | |
%lnjrk = bitcast i64* %lnjrj to i64* | |
%lnjrl = load i64, i64* %lnjrk, !tbaa !1 | |
%lnjrm = add i64 %lnjrl, 1 | |
store i64 %lnjrm, i64* %lsiHj | |
%lnjrn = load i64, i64* %lsiHj | |
store i64 %lnjrn, i64* %R1_Var | |
%lnjrp = load i64, i64* %lsiHj | |
%lnjro = load i64*, i64** %Sp_Var | |
%lnjrq = getelementptr inbounds i64, i64* %lnjro, i32 -1 | |
store i64 %lnjrp, i64* %lnjrq, !tbaa !1 | |
%lnjrs = load i64, i64* %lsiHi | |
%lnjrr = load i64*, i64** %Sp_Var | |
%lnjrt = getelementptr inbounds i64, i64* %lnjrr, i32 0 | |
store i64 %lnjrs, i64* %lnjrt, !tbaa !1 | |
%lnjru = load i64*, i64** %Sp_Var | |
%lnjrv = getelementptr inbounds i64, i64* %lnjru, i32 -2 | |
%lnjrw = ptrtoint i64* %lnjrv to i64 | |
%lnjrx = inttoptr i64 %lnjrw to i64* | |
store i64* %lnjrx, i64** %Sp_Var | |
%lnjry = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjrz = load i64*, i64** %Sp_Var | |
%lnjrA = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjry( i64* %Base_Arg, i64* %lnjrz, i64* %Hp_Arg, i64 %lnjrA, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5i_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5i_info$def to i8*) | |
define internal ghccc void @cj5i_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5i_info$def to i64)),i64 32), i64 1349, i64 4294967328}> | |
{ | |
cj5i: | |
%lsiHp = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjrC = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5k_info$def to i64 | |
%lnjrB = load i64*, i64** %Sp_Var | |
%lnjrD = getelementptr inbounds i64, i64* %lnjrB, i32 -1 | |
store i64 %lnjrC, i64* %lnjrD, !tbaa !1 | |
%lnjrE = load i64, i64* %R1_Var | |
store i64 %lnjrE, i64* %lsiHp | |
%lnjrF = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnjrG = add i64 %lnjrF, 1 | |
store i64 %lnjrG, i64* %R1_Var | |
%lnjrI = load i64, i64* %lsiHp | |
%lnjrH = load i64*, i64** %Sp_Var | |
%lnjrJ = getelementptr inbounds i64, i64* %lnjrH, i32 0 | |
store i64 %lnjrI, i64* %lnjrJ, !tbaa !1 | |
%lnjrK = load i64*, i64** %Sp_Var | |
%lnjrL = getelementptr inbounds i64, i64* %lnjrK, i32 -1 | |
%lnjrM = ptrtoint i64* %lnjrL to i64 | |
%lnjrN = inttoptr i64 %lnjrM to i64* | |
store i64* %lnjrN, i64** %Sp_Var | |
%lnjrO = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjrP = load i64*, i64** %Sp_Var | |
%lnjrQ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjrO( i64* %Base_Arg, i64* %lnjrP, i64* %Hp_Arg, i64 %lnjrQ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5k_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5k_info$def to i8*) | |
define internal ghccc void @cj5k_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5k_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj5k: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%lsiGT = alloca i64, i32 1 | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%lcj5m = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjrR = load i64*, i64** %Hp_Var | |
%lnjrS = getelementptr inbounds i64, i64* %lnjrR, i32 4 | |
%lnjrT = ptrtoint i64* %lnjrS to i64 | |
%lnjrU = inttoptr i64 %lnjrT to i64* | |
store i64* %lnjrU, i64** %Hp_Var | |
%lnjrV = load i64*, i64** %Hp_Var | |
%lnjrW = ptrtoint i64* %lnjrV to i64 | |
%lnjrX = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjrY = bitcast i64* %lnjrX to i64* | |
%lnjrZ = load i64, i64* %lnjrY, !tbaa !4 | |
%lnjs0 = icmp ugt i64 %lnjrW, %lnjrZ | |
br i1 %lnjs0, label %cj9H, label %cj9G | |
cj9G: | |
%lnjs2 = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnjs1 = load i64*, i64** %Hp_Var | |
%lnjs3 = getelementptr inbounds i64, i64* %lnjs1, i32 -3 | |
store i64 %lnjs2, i64* %lnjs3, !tbaa !2 | |
%lnjs5 = load i64*, i64** %Sp_Var | |
%lnjs6 = getelementptr inbounds i64, i64* %lnjs5, i32 3 | |
%lnjs7 = bitcast i64* %lnjs6 to i64* | |
%lnjs8 = load i64, i64* %lnjs7, !tbaa !1 | |
%lnjs4 = load i64*, i64** %Hp_Var | |
%lnjs9 = getelementptr inbounds i64, i64* %lnjs4, i32 -2 | |
store i64 %lnjs8, i64* %lnjs9, !tbaa !2 | |
%lnjsb = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnjsa = load i64*, i64** %Hp_Var | |
%lnjsc = getelementptr inbounds i64, i64* %lnjsa, i32 -1 | |
store i64 %lnjsb, i64* %lnjsc, !tbaa !2 | |
%lnjse = load i64, i64* %R1_Var | |
%lnjsd = load i64*, i64** %Hp_Var | |
%lnjsf = getelementptr inbounds i64, i64* %lnjsd, i32 0 | |
store i64 %lnjse, i64* %lnjsf, !tbaa !2 | |
%lnjsh = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5r_info$def to i64 | |
%lnjsg = load i64*, i64** %Sp_Var | |
%lnjsi = getelementptr inbounds i64, i64* %lnjsg, i32 0 | |
store i64 %lnjsh, i64* %lnjsi, !tbaa !1 | |
store i64 0, i64* %R6_Var | |
%lnjsj = load i64*, i64** %Sp_Var | |
%lnjsk = getelementptr inbounds i64, i64* %lnjsj, i32 6 | |
%lnjsl = bitcast i64* %lnjsk to i64* | |
%lnjsm = load i64, i64* %lnjsl, !tbaa !1 | |
store i64 %lnjsm, i64* %lsiGT | |
%lnjsn = load i64, i64* %lsiGT | |
store i64 %lnjsn, i64* %R5_Var | |
%lnjso = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64 | |
%lnjsp = add i64 %lnjso, 1 | |
store i64 %lnjsp, i64* %R4_Var | |
%lnjsr = load i64*, i64** %Hp_Var | |
%lnjss = ptrtoint i64* %lnjsr to i64 | |
%lnjst = add i64 %lnjss, -23 | |
store i64 %lnjst, i64* %lcj5m | |
%lnjsu = load i64, i64* %lcj5m | |
store i64 %lnjsu, i64* %R3_Var | |
%lnjsv = load i64*, i64** %Sp_Var | |
%lnjsw = getelementptr inbounds i64, i64* %lnjsv, i32 4 | |
%lnjsx = bitcast i64* %lnjsw to i64* | |
%lnjsy = load i64, i64* %lnjsx, !tbaa !1 | |
store i64 %lnjsy, i64* %R2_Var | |
%lnjsA = load i64, i64* %lsiGT | |
%lnjsz = load i64*, i64** %Sp_Var | |
%lnjsB = getelementptr inbounds i64, i64* %lnjsz, i32 -7 | |
store i64 %lnjsA, i64* %lnjsB, !tbaa !1 | |
%lnjsD = load i64*, i64** %Sp_Var | |
%lnjsE = getelementptr inbounds i64, i64* %lnjsD, i32 1 | |
%lnjsF = bitcast i64* %lnjsE to i64* | |
%lnjsG = load i64, i64* %lnjsF, !tbaa !1 | |
%lnjsH = add i64 %lnjsG, 16 | |
%lnjsC = load i64*, i64** %Sp_Var | |
%lnjsI = getelementptr inbounds i64, i64* %lnjsC, i32 -6 | |
store i64 %lnjsH, i64* %lnjsI, !tbaa !1 | |
%lnjsL = load i64*, i64** %Hp_Var | |
%lnjsM = ptrtoint i64* %lnjsL to i64 | |
%lnjsN = add i64 %lnjsM, -7 | |
%lnjsJ = load i64*, i64** %Sp_Var | |
%lnjsO = getelementptr inbounds i64, i64* %lnjsJ, i32 -5 | |
store i64 %lnjsN, i64* %lnjsO, !tbaa !1 | |
%lnjsQ = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64 | |
%lnjsR = add i64 %lnjsQ, 2 | |
%lnjsP = load i64*, i64** %Sp_Var | |
%lnjsS = getelementptr inbounds i64, i64* %lnjsP, i32 -4 | |
store i64 %lnjsR, i64* %lnjsS, !tbaa !1 | |
%lnjsU = load i64*, i64** %Sp_Var | |
%lnjsV = getelementptr inbounds i64, i64* %lnjsU, i32 2 | |
%lnjsW = bitcast i64* %lnjsV to i64* | |
%lnjsX = load i64, i64* %lnjsW, !tbaa !1 | |
%lnjsT = load i64*, i64** %Sp_Var | |
%lnjsY = getelementptr inbounds i64, i64* %lnjsT, i32 -3 | |
store i64 %lnjsX, i64* %lnjsY, !tbaa !1 | |
%lnjsZ = load i64*, i64** %Sp_Var | |
%lnjt0 = getelementptr inbounds i64, i64* %lnjsZ, i32 -2 | |
store i64 0, i64* %lnjt0, !tbaa !1 | |
%lnjt1 = load i64*, i64** %Sp_Var | |
%lnjt2 = getelementptr inbounds i64, i64* %lnjt1, i32 -1 | |
store i64 0, i64* %lnjt2, !tbaa !1 | |
%lnjt4 = load i64, i64* %lcj5m | |
%lnjt3 = load i64*, i64** %Sp_Var | |
%lnjt5 = getelementptr inbounds i64, i64* %lnjt3, i32 3 | |
store i64 %lnjt4, i64* %lnjt5, !tbaa !1 | |
%lnjt6 = load i64*, i64** %Sp_Var | |
%lnjt7 = getelementptr inbounds i64, i64* %lnjt6, i32 -7 | |
%lnjt8 = ptrtoint i64* %lnjt7 to i64 | |
%lnjt9 = inttoptr i64 %lnjt8 to i64* | |
store i64* %lnjt9, i64** %Sp_Var | |
%lnjta = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjtb = load i64*, i64** %Sp_Var | |
%lnjtc = load i64*, i64** %Hp_Var | |
%lnjtd = load i64, i64* %R1_Var | |
%lnjte = load i64, i64* %R2_Var | |
%lnjtf = load i64, i64* %R3_Var | |
%lnjtg = load i64, i64* %R4_Var | |
%lnjth = load i64, i64* %R5_Var | |
%lnjti = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjta( i64* %Base_Arg, i64* %lnjtb, i64* %lnjtc, i64 %lnjtd, i64 %lnjte, i64 %lnjtf, i64 %lnjtg, i64 %lnjth, i64 %lnjti, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj9H: | |
%lnjtj = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 32, i64* %lnjtj, !tbaa !4 | |
%lnjtk = load i64, i64* %R1_Var | |
store i64 %lnjtk, i64* %R1_Var | |
%lnjtl = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjtm = load i64*, i64** %Sp_Var | |
%lnjtn = load i64*, i64** %Hp_Var | |
%lnjto = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjtl( i64* %Base_Arg, i64* %lnjtm, i64* %lnjtn, i64 %lnjto, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5r_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5r_info$def to i8*) | |
define internal ghccc void @cj5r_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5r_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj5r: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjtp = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to i64 | |
%lnjtq = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjtp, i64* %lnjtq, !tbaa !1 | |
%lnjtr = load i64, i64* %R1_Var | |
store i64 %lnjtr, i64* %R1_Var | |
%lnjts = load i64, i64* %R1_Var | |
%lnjtt = and i64 %lnjts, 7 | |
%lnjtu = icmp ne i64 %lnjtt, 0 | |
br i1 %lnjtu, label %ujaJ, label %cj5u | |
cj5u: | |
%lnjtw = load i64, i64* %R1_Var | |
%lnjtx = inttoptr i64 %lnjtw to i64* | |
%lnjty = load i64, i64* %lnjtx, !tbaa !3 | |
%lnjtz = inttoptr i64 %lnjty to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjtA = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjtz( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjtA, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujaJ: | |
%lnjtB = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjtC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjtB( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjtC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5t_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to i8*) | |
define internal ghccc void @cj5t_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5t_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj5t: | |
%lsiHA = alloca i64, i32 1 | |
%lsiHC = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjtE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to i64 | |
%lnjtD = load i64*, i64** %Sp_Var | |
%lnjtF = getelementptr inbounds i64, i64* %lnjtD, i32 -2 | |
store i64 %lnjtE, i64* %lnjtF, !tbaa !1 | |
%lnjtI = load i64, i64* %R1_Var | |
%lnjtJ = add i64 %lnjtI, 7 | |
%lnjtK = inttoptr i64 %lnjtJ to i64* | |
%lnjtL = load i64, i64* %lnjtK, !tbaa !3 | |
store i64 %lnjtL, i64* %lsiHA | |
%lnjtO = load i64, i64* %R1_Var | |
%lnjtP = add i64 %lnjtO, 23 | |
%lnjtQ = inttoptr i64 %lnjtP to i64* | |
%lnjtR = load i64, i64* %lnjtQ, !tbaa !3 | |
store i64 %lnjtR, i64* %lsiHC | |
%lnjtU = load i64, i64* %R1_Var | |
%lnjtV = add i64 %lnjtU, 15 | |
%lnjtW = inttoptr i64 %lnjtV to i64* | |
%lnjtX = load i64, i64* %lnjtW, !tbaa !3 | |
store i64 %lnjtX, i64* %R1_Var | |
%lnjtZ = load i64, i64* %lsiHC | |
%lnjtY = load i64*, i64** %Sp_Var | |
%lnju0 = getelementptr inbounds i64, i64* %lnjtY, i32 -1 | |
store i64 %lnjtZ, i64* %lnju0, !tbaa !1 | |
%lnju2 = load i64, i64* %lsiHA | |
%lnju1 = load i64*, i64** %Sp_Var | |
%lnju3 = getelementptr inbounds i64, i64* %lnju1, i32 0 | |
store i64 %lnju2, i64* %lnju3, !tbaa !1 | |
%lnju4 = load i64*, i64** %Sp_Var | |
%lnju5 = getelementptr inbounds i64, i64* %lnju4, i32 -2 | |
%lnju6 = ptrtoint i64* %lnju5 to i64 | |
%lnju7 = inttoptr i64 %lnju6 to i64* | |
store i64* %lnju7, i64** %Sp_Var | |
%lnju8 = load i64, i64* %R1_Var | |
%lnju9 = and i64 %lnju8, 7 | |
%lnjua = icmp ne i64 %lnju9, 0 | |
br i1 %lnjua, label %ujaK, label %cj5z | |
cj5z: | |
%lnjuc = load i64, i64* %R1_Var | |
%lnjud = inttoptr i64 %lnjuc to i64* | |
%lnjue = load i64, i64* %lnjud, !tbaa !3 | |
%lnjuf = inttoptr i64 %lnjue to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjug = load i64*, i64** %Sp_Var | |
%lnjuh = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjuf( i64* %Base_Arg, i64* %lnjug, i64* %Hp_Arg, i64 %lnjuh, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujaK: | |
%lnjui = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjuj = load i64*, i64** %Sp_Var | |
%lnjuk = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjui( i64* %Base_Arg, i64* %lnjuj, i64* %Hp_Arg, i64 %lnjuk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5y_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to i8*) | |
define internal ghccc void @cj5y_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5y_info$def to i64)),i64 32), i64 10760, i64 4294967328}> | |
{ | |
cj5y: | |
%lsiHI = alloca i64, i32 1 | |
%lsiHF = alloca i64, i32 1 | |
%lsiHE = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjun = load i64, i64* %R1_Var | |
%lnjuo = add i64 %lnjun, 39 | |
%lnjup = inttoptr i64 %lnjuo to i64* | |
%lnjuq = load i64, i64* %lnjup, !tbaa !3 | |
store i64 %lnjuq, i64* %lsiHI | |
%lnjur = load i64, i64* %lsiHI | |
%lnjuu = load i64, i64* %R1_Var | |
%lnjuv = add i64 %lnjuu, 47 | |
%lnjuw = inttoptr i64 %lnjuv to i64* | |
%lnjux = load i64, i64* %lnjuw, !tbaa !3 | |
%lnjuy = icmp eq i64 %lnjur, %lnjux | |
%lnjuz = zext i1 %lnjuy to i64 | |
switch i64 %lnjuz, label %cj9M [i64 0, label %cj9M | |
i64 1, label %cja1] | |
cj9M: | |
%lnjuB = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to i64 | |
%lnjuA = load i64*, i64** %Sp_Var | |
%lnjuC = getelementptr inbounds i64, i64* %lnjuA, i32 -1 | |
store i64 %lnjuB, i64* %lnjuC, !tbaa !1 | |
%lnjuF = load i64, i64* %R1_Var | |
%lnjuG = add i64 %lnjuF, 7 | |
%lnjuH = inttoptr i64 %lnjuG to i64* | |
%lnjuI = load i64, i64* %lnjuH, !tbaa !3 | |
store i64 %lnjuI, i64* %lsiHF | |
%lnjuL = load i64, i64* %R1_Var | |
%lnjuM = add i64 %lnjuL, 23 | |
%lnjuN = inttoptr i64 %lnjuM to i64* | |
%lnjuO = load i64, i64* %lnjuN, !tbaa !3 | |
store i64 %lnjuO, i64* %lsiHE | |
%lnjuP = load i64*, i64** %Sp_Var | |
%lnjuQ = getelementptr inbounds i64, i64* %lnjuP, i32 2 | |
%lnjuR = bitcast i64* %lnjuQ to i64* | |
%lnjuS = load i64, i64* %lnjuR, !tbaa !1 | |
store i64 %lnjuS, i64* %R1_Var | |
%lnjuU = load i64, i64* %lsiHI | |
%lnjuT = load i64*, i64** %Sp_Var | |
%lnjuV = getelementptr inbounds i64, i64* %lnjuT, i32 0 | |
store i64 %lnjuU, i64* %lnjuV, !tbaa !1 | |
%lnjuX = load i64, i64* %lsiHF | |
%lnjuW = load i64*, i64** %Sp_Var | |
%lnjuY = getelementptr inbounds i64, i64* %lnjuW, i32 1 | |
store i64 %lnjuX, i64* %lnjuY, !tbaa !1 | |
%lnjv0 = load i64, i64* %lsiHE | |
%lnjuZ = load i64*, i64** %Sp_Var | |
%lnjv1 = getelementptr inbounds i64, i64* %lnjuZ, i32 2 | |
store i64 %lnjv0, i64* %lnjv1, !tbaa !1 | |
%lnjv2 = load i64*, i64** %Sp_Var | |
%lnjv3 = getelementptr inbounds i64, i64* %lnjv2, i32 -1 | |
%lnjv4 = ptrtoint i64* %lnjv3 to i64 | |
%lnjv5 = inttoptr i64 %lnjv4 to i64* | |
store i64* %lnjv5, i64** %Sp_Var | |
%lnjv6 = load i64, i64* %R1_Var | |
%lnjv7 = and i64 %lnjv6, 7 | |
%lnjv8 = icmp ne i64 %lnjv7, 0 | |
br i1 %lnjv8, label %ujaL, label %cj5J | |
cj5J: | |
%lnjva = load i64, i64* %R1_Var | |
%lnjvb = inttoptr i64 %lnjva to i64* | |
%lnjvc = load i64, i64* %lnjvb, !tbaa !3 | |
%lnjvd = inttoptr i64 %lnjvc to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjve = load i64*, i64** %Sp_Var | |
%lnjvf = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvd( i64* %Base_Arg, i64* %lnjve, i64* %Hp_Arg, i64 %lnjvf, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujaL: | |
%lnjvg = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjvh = load i64*, i64** %Sp_Var | |
%lnjvi = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvg( i64* %Base_Arg, i64* %lnjvh, i64* %Hp_Arg, i64 %lnjvi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cja1: | |
%lnjvk = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to i64 | |
%lnjvj = load i64*, i64** %Sp_Var | |
%lnjvl = getelementptr inbounds i64, i64* %lnjvj, i32 2 | |
store i64 %lnjvk, i64* %lnjvl, !tbaa !1 | |
%lnjvm = load i64*, i64** %Sp_Var | |
%lnjvn = getelementptr inbounds i64, i64* %lnjvm, i32 1 | |
%lnjvo = bitcast i64* %lnjvn to i64* | |
%lnjvp = load i64, i64* %lnjvo, !tbaa !1 | |
store i64 %lnjvp, i64* %R1_Var | |
%lnjvq = load i64*, i64** %Sp_Var | |
%lnjvr = getelementptr inbounds i64, i64* %lnjvq, i32 2 | |
%lnjvs = ptrtoint i64* %lnjvr to i64 | |
%lnjvt = inttoptr i64 %lnjvs to i64* | |
store i64* %lnjvt, i64** %Sp_Var | |
%lnjvu = load i64, i64* %R1_Var | |
%lnjvv = and i64 %lnjvu, 7 | |
%lnjvw = icmp ne i64 %lnjvv, 0 | |
br i1 %lnjvw, label %ujaM, label %cj7A | |
cj7A: | |
%lnjvy = load i64, i64* %R1_Var | |
%lnjvz = inttoptr i64 %lnjvy to i64* | |
%lnjvA = load i64, i64* %lnjvz, !tbaa !3 | |
%lnjvB = inttoptr i64 %lnjvA to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjvC = load i64*, i64** %Sp_Var | |
%lnjvD = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvB( i64* %Base_Arg, i64* %lnjvC, i64* %Hp_Arg, i64 %lnjvD, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujaM: | |
%lnjvE = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjvF = load i64*, i64** %Sp_Var | |
%lnjvG = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjvE( i64* %Base_Arg, i64* %lnjvF, i64* %Hp_Arg, i64 %lnjvG, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7z_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to i8*) | |
define internal ghccc void @cj7z_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7z_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj7z: | |
%lsiJ0 = alloca i64, i32 1 | |
%lsiJ1 = alloca i64, i32 1 | |
%lsiIW = alloca i64, i32 1 | |
%lsiIV = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjvJ = load i64, i64* %R1_Var | |
%lnjvK = add i64 %lnjvJ, 47 | |
%lnjvL = inttoptr i64 %lnjvK to i64* | |
%lnjvM = load i64, i64* %lnjvL, !tbaa !3 | |
store i64 %lnjvM, i64* %lsiJ0 | |
%lnjvP = load i64, i64* %R1_Var | |
%lnjvQ = add i64 %lnjvP, 31 | |
%lnjvR = inttoptr i64 %lnjvQ to i64* | |
%lnjvS = load i64, i64* %lnjvR, !tbaa !3 | |
%lnjvT = load i64, i64* %lsiJ0 | |
%lnjvU = sub i64 %lnjvS, %lnjvT | |
store i64 %lnjvU, i64* %lsiJ1 | |
%lnjvV = load i64, i64* %lsiJ1 | |
switch i64 %lnjvV, label %cjaa [i64 0, label %ujaH] | |
cjaa: | |
%lnjvY = load i64, i64* %R1_Var | |
%lnjvZ = add i64 %lnjvY, 7 | |
%lnjw0 = inttoptr i64 %lnjvZ to i64* | |
%lnjw1 = load i64, i64* %lnjw0, !tbaa !3 | |
store i64 %lnjw1, i64* %lsiIW | |
%lnjw4 = load i64, i64* %R1_Var | |
%lnjw5 = add i64 %lnjw4, 23 | |
%lnjw6 = inttoptr i64 %lnjw5 to i64* | |
%lnjw7 = load i64, i64* %lnjw6, !tbaa !3 | |
store i64 %lnjw7, i64* %lsiIV | |
%lnjw8 = load i64, i64* %lsiIV | |
%lnjw9 = load i64, i64* %lsiJ0 | |
%lnjwa = add i64 %lnjw8, %lnjw9 | |
%lnjwb = inttoptr i64 %lnjwa to i8* | |
store i8 0, i8* %lnjwb, !tbaa !5 | |
%lnjwc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cja8_info$def to i64 | |
%lnjwd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjwc, i64* %lnjwd, !tbaa !1 | |
%lnjwe = load i64, i64* %lsiIV | |
store i64 %lnjwe, i64* %R1_Var | |
%lnjwf = load i64, i64* %lsiIW | |
%lnjwg = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
store i64 %lnjwf, i64* %lnjwg, !tbaa !1 | |
%lnjwh = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjwi = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjwh( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjwi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujaH: | |
%lnjwj = load i64, i64* %lsiJ1 | |
%lnjwk = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjwj, i64* %lnjwk, !tbaa !1 | |
%lnjwl = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7J_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjwm = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjwl( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjwm, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7J_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7J_entry$def to i8*) | |
define internal ghccc void @cj7J_entry$def(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) align 8 nounwind | |
{ | |
cj7J: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lsiJ1 = alloca i64, i32 1 | |
%lnjwn = load i64*, i64** %Hp_Var | |
%lnjwo = getelementptr inbounds i64, i64* %lnjwn, i32 4 | |
%lnjwp = ptrtoint i64* %lnjwo to i64 | |
%lnjwq = inttoptr i64 %lnjwp to i64* | |
store i64* %lnjwq, i64** %Hp_Var | |
%lnjwr = load i64*, i64** %Hp_Var | |
%lnjws = ptrtoint i64* %lnjwr to i64 | |
%lnjwt = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjwu = bitcast i64* %lnjwt to i64* | |
%lnjwv = load i64, i64* %lnjwu, !tbaa !4 | |
%lnjww = icmp ugt i64 %lnjws, %lnjwv | |
br i1 %lnjww, label %cjaj, label %cjai | |
cjai: | |
%lnjwy = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to i64 | |
%lnjwx = load i64*, i64** %Hp_Var | |
%lnjwz = getelementptr inbounds i64, i64* %lnjwx, i32 -3 | |
store i64 %lnjwy, i64* %lnjwz, !tbaa !2 | |
%lnjwB = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnjwC = bitcast i64* %lnjwB to i64* | |
%lnjwD = load i64, i64* %lnjwC, !tbaa !1 | |
%lnjwA = load i64*, i64** %Hp_Var | |
%lnjwE = getelementptr inbounds i64, i64* %lnjwA, i32 -2 | |
store i64 %lnjwD, i64* %lnjwE, !tbaa !2 | |
%lnjwG = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
%lnjwH = bitcast i64* %lnjwG to i64* | |
%lnjwI = load i64, i64* %lnjwH, !tbaa !1 | |
%lnjwF = load i64*, i64** %Hp_Var | |
%lnjwJ = getelementptr inbounds i64, i64* %lnjwF, i32 -1 | |
store i64 %lnjwI, i64* %lnjwJ, !tbaa !2 | |
%lnjwL = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnjwM = bitcast i64* %lnjwL to i64* | |
%lnjwN = load i64, i64* %lnjwM, !tbaa !1 | |
%lnjwK = load i64*, i64** %Hp_Var | |
%lnjwO = getelementptr inbounds i64, i64* %lnjwK, i32 0 | |
store i64 %lnjwN, i64* %lnjwO, !tbaa !2 | |
%lnjwP = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjan_info$def to i64 | |
%lnjwQ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjwP, i64* %lnjwQ, !tbaa !1 | |
%lnjwR = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
%lnjwS = bitcast i64* %lnjwR to i64* | |
%lnjwT = load i64, i64* %lnjwS, !tbaa !1 | |
%lnjwU = shl i64 %lnjwT, 1 | |
store i64 %lnjwU, i64* %R2_Var | |
%lnjwW = load i64*, i64** %Hp_Var | |
%lnjwX = ptrtoint i64* %lnjwW to i64 | |
%lnjwY = add i64 %lnjwX, -22 | |
store i64 %lnjwY, i64* %R1_Var | |
%lnjwZ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siJ7_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjx0 = load i64*, i64** %Hp_Var | |
%lnjx1 = load i64, i64* %R1_Var | |
%lnjx2 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjwZ( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjx0, i64 %lnjx1, i64 %lnjx2, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjaj: | |
%lnjx3 = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 32, i64* %lnjx3, !tbaa !4 | |
%lnjx4 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
%lnjx5 = bitcast i64* %lnjx4 to i64* | |
%lnjx6 = load i64, i64* %lnjx5, !tbaa !1 | |
store i64 %lnjx6, i64* %lsiJ1 | |
%lnjx7 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7I_info$def to i64 | |
%lnjx8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjx7, i64* %lnjx8, !tbaa !1 | |
%lnjx9 = load i64, i64* %lsiJ1 | |
store i64 %lnjx9, i64* %R1_Var | |
%lnjxa = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjxb = load i64*, i64** %Hp_Var | |
%lnjxc = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxa( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjxb, i64 %lnjxc, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj7I_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7I_info$def to i8*) | |
define internal ghccc void @cj7I_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7I_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cj7I: | |
%lnjxd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %R1_Arg, i64* %lnjxd, !tbaa !1 | |
%lnjxe = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj7J_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxe( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjan_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjan_info$def to i8*) | |
define internal ghccc void @cjan_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}> | |
{ | |
cjan: | |
%lsiH0 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjxf = load i64*, i64** %Sp_Var | |
%lnjxg = getelementptr inbounds i64, i64* %lnjxf, i32 5 | |
%lnjxh = bitcast i64* %lnjxg to i64* | |
%lnjxi = load i64, i64* %lnjxh, !tbaa !1 | |
store i64 %lnjxi, i64* %lsiH0 | |
%lnjxj = load i64, i64* %R1_Var | |
store i64 %lnjxj, i64* %R1_Var | |
%lnjxk = load i64*, i64** %Sp_Var | |
%lnjxl = getelementptr inbounds i64, i64* %lnjxk, i32 7 | |
%lnjxm = ptrtoint i64* %lnjxl to i64 | |
%lnjxn = inttoptr i64 %lnjxm to i64* | |
store i64* %lnjxn, i64** %Sp_Var | |
%lnjxo = load i64*, i64** %Sp_Var | |
%lnjxp = getelementptr inbounds i64, i64* %lnjxo, i32 0 | |
%lnjxq = bitcast i64* %lnjxp to i64* | |
%lnjxr = load i64, i64* %lnjxq, !tbaa !1 | |
%lnjxs = inttoptr i64 %lnjxr to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjxt = load i64*, i64** %Sp_Var | |
%lnjxu = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxs( i64* %Base_Arg, i64* %lnjxt, i64* %Hp_Arg, i64 %lnjxu, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cja8_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cja8_info$def to i8*) | |
define internal ghccc void @cja8_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 902, i64 32}> | |
{ | |
cja8: | |
%lsiH0 = alloca i64, i32 1 | |
%lsiHp = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjxv = load i64*, i64** %Sp_Var | |
%lnjxw = getelementptr inbounds i64, i64* %lnjxv, i32 5 | |
%lnjxx = bitcast i64* %lnjxw to i64* | |
%lnjxy = load i64, i64* %lnjxx, !tbaa !1 | |
store i64 %lnjxy, i64* %lsiH0 | |
%lnjxz = load i64*, i64** %Sp_Var | |
%lnjxA = getelementptr inbounds i64, i64* %lnjxz, i32 1 | |
%lnjxB = bitcast i64* %lnjxA to i64* | |
%lnjxC = load i64, i64* %lnjxB, !tbaa !1 | |
store i64 %lnjxC, i64* %lsiHp | |
%lnjxD = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjxE = add i64 %lnjxD, 1 | |
store i64 %lnjxE, i64* %R1_Var | |
%lnjxF = load i64*, i64** %Sp_Var | |
%lnjxG = getelementptr inbounds i64, i64* %lnjxF, i32 7 | |
%lnjxH = ptrtoint i64* %lnjxG to i64 | |
%lnjxI = inttoptr i64 %lnjxH to i64* | |
store i64* %lnjxI, i64** %Sp_Var | |
%lnjxJ = load i64*, i64** %Sp_Var | |
%lnjxK = getelementptr inbounds i64, i64* %lnjxJ, i32 0 | |
%lnjxL = bitcast i64* %lnjxK to i64* | |
%lnjxM = load i64, i64* %lnjxL, !tbaa !1 | |
%lnjxN = inttoptr i64 %lnjxM to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjxO = load i64*, i64** %Sp_Var | |
%lnjxP = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxN( i64* %Base_Arg, i64* %lnjxO, i64* %Hp_Arg, i64 %lnjxP, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj5I_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to i8*) | |
define internal ghccc void @cj5I_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj5I_info$def to i64)),i64 32), i64 21833, i64 4294967328}> | |
{ | |
cj5I: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjxQ = load i64, i64* %R1_Var | |
%lnjxR = and i64 %lnjxQ, 7 | |
switch i64 %lnjxR, label %cj9Q [i64 2, label %cj9R] | |
cj9Q: | |
%lnjxS = load i64*, i64** %Sp_Var | |
%lnjxT = getelementptr inbounds i64, i64* %lnjxS, i32 10 | |
%lnjxU = ptrtoint i64* %lnjxT to i64 | |
%lnjxV = inttoptr i64 %lnjxU to i64* | |
store i64* %lnjxV, i64** %Sp_Var | |
%lnjxW = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjxX = load i64*, i64** %Sp_Var | |
%lnjxY = load i64*, i64** %Hp_Var | |
%lnjxZ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjxW( i64* %Base_Arg, i64* %lnjxX, i64* %lnjxY, i64 %lnjxZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj9R: | |
%lnjy0 = load i64*, i64** %Hp_Var | |
%lnjy1 = getelementptr inbounds i64, i64* %lnjy0, i32 4 | |
%lnjy2 = ptrtoint i64* %lnjy1 to i64 | |
%lnjy3 = inttoptr i64 %lnjy2 to i64* | |
store i64* %lnjy3, i64** %Hp_Var | |
%lnjy4 = load i64*, i64** %Hp_Var | |
%lnjy5 = ptrtoint i64* %lnjy4 to i64 | |
%lnjy6 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjy7 = bitcast i64* %lnjy6 to i64* | |
%lnjy8 = load i64, i64* %lnjy7, !tbaa !4 | |
%lnjy9 = icmp ugt i64 %lnjy5, %lnjy8 | |
br i1 %lnjy9, label %cj9U, label %cj9T | |
cj9T: | |
%lnjyb = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to i64 | |
%lnjya = load i64*, i64** %Hp_Var | |
%lnjyc = getelementptr inbounds i64, i64* %lnjya, i32 -3 | |
store i64 %lnjyb, i64* %lnjyc, !tbaa !2 | |
%lnjye = load i64*, i64** %Sp_Var | |
%lnjyf = getelementptr inbounds i64, i64* %lnjye, i32 6 | |
%lnjyg = bitcast i64* %lnjyf to i64* | |
%lnjyh = load i64, i64* %lnjyg, !tbaa !1 | |
%lnjyd = load i64*, i64** %Hp_Var | |
%lnjyi = getelementptr inbounds i64, i64* %lnjyd, i32 -2 | |
store i64 %lnjyh, i64* %lnjyi, !tbaa !2 | |
%lnjyk = load i64*, i64** %Sp_Var | |
%lnjyl = getelementptr inbounds i64, i64* %lnjyk, i32 9 | |
%lnjym = bitcast i64* %lnjyl to i64* | |
%lnjyn = load i64, i64* %lnjym, !tbaa !1 | |
%lnjyj = load i64*, i64** %Hp_Var | |
%lnjyo = getelementptr inbounds i64, i64* %lnjyj, i32 -1 | |
store i64 %lnjyn, i64* %lnjyo, !tbaa !2 | |
%lnjyq = load i64*, i64** %Sp_Var | |
%lnjyr = getelementptr inbounds i64, i64* %lnjyq, i32 7 | |
%lnjys = bitcast i64* %lnjyr to i64* | |
%lnjyt = load i64, i64* %lnjys, !tbaa !1 | |
%lnjyp = load i64*, i64** %Hp_Var | |
%lnjyu = getelementptr inbounds i64, i64* %lnjyp, i32 0 | |
store i64 %lnjyt, i64* %lnjyu, !tbaa !2 | |
%lnjyw = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9Y_info$def to i64 | |
%lnjyv = load i64*, i64** %Sp_Var | |
%lnjyx = getelementptr inbounds i64, i64* %lnjyv, i32 3 | |
store i64 %lnjyw, i64* %lnjyx, !tbaa !1 | |
%lnjyy = load i64*, i64** %Sp_Var | |
%lnjyz = getelementptr inbounds i64, i64* %lnjyy, i32 5 | |
%lnjyA = bitcast i64* %lnjyz to i64* | |
%lnjyB = load i64, i64* %lnjyA, !tbaa !1 | |
%lnjyC = shl i64 %lnjyB, 1 | |
store i64 %lnjyC, i64* %R2_Var | |
%lnjyE = load i64*, i64** %Hp_Var | |
%lnjyF = ptrtoint i64* %lnjyE to i64 | |
%lnjyG = add i64 %lnjyF, -22 | |
store i64 %lnjyG, i64* %R1_Var | |
%lnjyH = load i64*, i64** %Sp_Var | |
%lnjyI = getelementptr inbounds i64, i64* %lnjyH, i32 3 | |
%lnjyJ = ptrtoint i64* %lnjyI to i64 | |
%lnjyK = inttoptr i64 %lnjyJ to i64* | |
store i64* %lnjyK, i64** %Sp_Var | |
%lnjyL = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siHS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjyM = load i64*, i64** %Sp_Var | |
%lnjyN = load i64*, i64** %Hp_Var | |
%lnjyO = load i64, i64* %R1_Var | |
%lnjyP = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjyL( i64* %Base_Arg, i64* %lnjyM, i64* %lnjyN, i64 %lnjyO, i64 %lnjyP, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cj9U: | |
%lnjyQ = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 32, i64* %lnjyQ, !tbaa !4 | |
%lnjyR = load i64, i64* %R1_Var | |
store i64 %lnjyR, i64* %R1_Var | |
%lnjyS = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjyT = load i64*, i64** %Sp_Var | |
%lnjyU = load i64*, i64** %Hp_Var | |
%lnjyV = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjyS( i64* %Base_Arg, i64* %lnjyT, i64* %lnjyU, i64 %lnjyV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cj9Y_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cj9Y_info$def to i8*) | |
define internal ghccc void @cj9Y_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}> | |
{ | |
cj9Y: | |
%lsiH0 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjyW = load i64*, i64** %Sp_Var | |
%lnjyX = getelementptr inbounds i64, i64* %lnjyW, i32 5 | |
%lnjyY = bitcast i64* %lnjyX to i64* | |
%lnjyZ = load i64, i64* %lnjyY, !tbaa !1 | |
store i64 %lnjyZ, i64* %lsiH0 | |
%lnjz0 = load i64, i64* %R1_Var | |
store i64 %lnjz0, i64* %R1_Var | |
%lnjz1 = load i64*, i64** %Sp_Var | |
%lnjz2 = getelementptr inbounds i64, i64* %lnjz1, i32 7 | |
%lnjz3 = ptrtoint i64* %lnjz2 to i64 | |
%lnjz4 = inttoptr i64 %lnjz3 to i64* | |
store i64* %lnjz4, i64** %Sp_Var | |
%lnjz5 = load i64*, i64** %Sp_Var | |
%lnjz6 = getelementptr inbounds i64, i64* %lnjz5, i32 0 | |
%lnjz7 = bitcast i64* %lnjz6 to i64* | |
%lnjz8 = load i64, i64* %lnjz7, !tbaa !1 | |
%lnjz9 = inttoptr i64 %lnjz8 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjza = load i64*, i64** %Sp_Var | |
%lnjzb = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjz9( i64* %Base_Arg, i64* %lnjza, i64* %Hp_Arg, i64 %lnjzb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFB_closure_struct = type <{i64, i64}> | |
@riFB_closure$def = internal global %riFB_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFB_info$def to i64), i64 0}> | |
@riFB_closure = internal alias i8* bitcast (%riFB_closure_struct* @riFB_closure$def to i8*) | |
@riFB_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFB_info$def to i8*) | |
define internal ghccc void @riFB_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFB_info$def to i64)),i64 48), i64 4294967299, i64 0, i64 4294967311}> | |
{ | |
cjzh: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjzk = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64 | |
%lnjzl = add i64 %lnjzk, 1 | |
store i64 %lnjzl, i64* %R1_Var | |
%lnjzm = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjzn = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjzm( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjzn, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFC_closure_struct = type <{i64, i64}> | |
@riFC_closure$def = internal global %riFC_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFC_info$def to i64), i64 0}> | |
@riFC_closure = internal alias i8* bitcast (%riFC_closure_struct* @riFC_closure$def to i8*) | |
@riFC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFC_info$def to i8*) | |
define internal ghccc void @riFC_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFC_info$def to i64)),i64 48), i64 4294967299, i64 0, i64 4294967311}> | |
{ | |
cjzt: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjzw = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64 | |
%lnjzx = add i64 %lnjzw, 1 | |
store i64 %lnjzx, i64* %R1_Var | |
%lnjzy = bitcast i8* @stg_unmaskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjzz = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjzy( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjzz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFD_closure_struct = type <{i64, i64}> | |
@riFD_closure$def = internal global %riFD_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFD_info$def to i64), i64 0}> | |
@riFD_closure = internal alias i8* bitcast (%riFD_closure_struct* @riFD_closure$def to i8*) | |
@siKa_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKa_info$def to i8*) | |
define internal ghccc void @siKa_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
cjzK: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnjzS = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjzT = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjzS( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjzT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riFD_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFD_info$def to i8*) | |
define internal ghccc void @riFD_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFD_info$def to i64)),i64 56), i64 4294967299, i64 0, i64 12884901903}> | |
{ | |
cjzN: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjzU = load i64*, i64** %Hp_Var | |
%lnjzV = getelementptr inbounds i64, i64* %lnjzU, i32 2 | |
%lnjzW = ptrtoint i64* %lnjzV to i64 | |
%lnjzX = inttoptr i64 %lnjzW to i64* | |
store i64* %lnjzX, i64** %Hp_Var | |
%lnjzY = load i64*, i64** %Hp_Var | |
%lnjzZ = ptrtoint i64* %lnjzY to i64 | |
%lnjA0 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjA1 = bitcast i64* %lnjA0 to i64* | |
%lnjA2 = load i64, i64* %lnjA1, !tbaa !4 | |
%lnjA3 = icmp ugt i64 %lnjzZ, %lnjA2 | |
br i1 %lnjA3, label %cjzR, label %cjzQ | |
cjzQ: | |
%lnjA5 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKa_info$def to i64 | |
%lnjA4 = load i64*, i64** %Hp_Var | |
%lnjA6 = getelementptr inbounds i64, i64* %lnjA4, i32 -1 | |
store i64 %lnjA5, i64* %lnjA6, !tbaa !2 | |
%lnjA8 = load i64*, i64** %Hp_Var | |
%lnjA9 = ptrtoint i64* %lnjA8 to i64 | |
%lnjAa = add i64 %lnjA9, -6 | |
store i64 %lnjAa, i64* %R2_Var | |
%lnjAb = ptrtoint %riFC_closure_struct* @riFC_closure$def to i64 | |
%lnjAc = add i64 %lnjAb, 1 | |
store i64 %lnjAc, i64* %R1_Var | |
%lnjAd = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjAe = load i64*, i64** %Hp_Var | |
%lnjAf = load i64, i64* %R1_Var | |
%lnjAg = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjAd( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjAe, i64 %lnjAf, i64 %lnjAg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjzR: | |
%lnjAh = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnjAh, !tbaa !4 | |
%lnjAi = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64 | |
store i64 %lnjAi, i64* %R1_Var | |
%lnjAj = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjAk = bitcast i64* %lnjAj to i64* | |
%lnjAl = load i64, i64* %lnjAk, !tbaa !4 | |
%lnjAm = inttoptr i64 %lnjAl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjAn = load i64*, i64** %Hp_Var | |
%lnjAo = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjAm( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnjAn, i64 %lnjAo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFE_closure_struct = type <{i64, i64}> | |
@riFE_closure$def = internal global %riFE_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFE_info$def to i64), i64 0}> | |
@riFE_closure = internal alias i8* bitcast (%riFE_closure_struct* @riFE_closure$def to i8*) | |
@riFE_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFE_info$def to i8*) | |
define internal ghccc void @riFE_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFE_info$def to i64)),i64 48), i64 4294967299, i64 0, i64 4294967311}> | |
{ | |
cjAu: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjAx = ptrtoint %riFA_closure_struct* @riFA_closure$def to i64 | |
%lnjAy = add i64 %lnjAx, 1 | |
store i64 %lnjAy, i64* %R1_Var | |
%lnjAz = bitcast i8* @stg_maskUninterruptiblezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjAA = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjAz( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjAA, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFF_closure_struct = type <{i64, i64, i64, i64}> | |
%cjAI_str_struct = type <{[27 x i8]}> | |
@riFF_closure$def = internal global %riFF_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFF_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFF_closure = internal alias i8* bitcast (%riFF_closure_struct* @riFF_closure$def to i8*) | |
@cjAI_str$def = internal constant %cjAI_str_struct<{[27 x i8] [i8 82, i8 101, i8 112, i8 97, i8 46, i8 108, i8 111, i8 97, i8 100, i8 80, i8 91, i8 68, i8 101, i8 108, i8 97, i8 121, i8 101, i8 100, i8 93, i8 58, i8 32, i8 115, i8 116, i8 97, i8 114, i8 116, i8 0]}> | |
@cjAI_str = internal alias i8* bitcast (%cjAI_str_struct* @cjAI_str$def to i8*) | |
@riFF_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFF_info$def to i8*) | |
define internal ghccc void @riFF_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
cjAJ: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lcjAF = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjAM = load i64*, i64** %Sp_Var | |
%lnjAN = getelementptr inbounds i64, i64* %lnjAM, i32 -2 | |
%lnjAO = ptrtoint i64* %lnjAN to i64 | |
%lnjAP = icmp ult i64 %lnjAO, %SpLim_Arg | |
br i1 %lnjAP, label %cjAK, label %cjAL | |
cjAL: | |
%lnjAQ = ptrtoint i64* %Base_Arg to i64 | |
%lnjAR = inttoptr i64 %lnjAQ to i8* | |
%lnjAS = load i64, i64* %R1_Var | |
%lnjAT = inttoptr i64 %lnjAS to i8* | |
%lnjAU = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnjAV = call ccc i8* (i8*, i8*) %lnjAU( i8* %lnjAR, i8* %lnjAT ) nounwind | |
%lnjAW = ptrtoint i8* %lnjAV to i64 | |
store i64 %lnjAW, i64* %lcjAF | |
%lnjAX = load i64, i64* %lcjAF | |
%lnjAY = icmp eq i64 %lnjAX, 0 | |
br i1 %lnjAY, label %cjAH, label %cjAG | |
cjAG: | |
%lnjB0 = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnjAZ = load i64*, i64** %Sp_Var | |
%lnjB1 = getelementptr inbounds i64, i64* %lnjAZ, i32 -2 | |
store i64 %lnjB0, i64* %lnjB1, !tbaa !1 | |
%lnjB3 = load i64, i64* %lcjAF | |
%lnjB2 = load i64*, i64** %Sp_Var | |
%lnjB4 = getelementptr inbounds i64, i64* %lnjB2, i32 -1 | |
store i64 %lnjB3, i64* %lnjB4, !tbaa !1 | |
%lnjB5 = ptrtoint %cjAI_str_struct* @cjAI_str$def to i64 | |
store i64 %lnjB5, i64* %R2_Var | |
%lnjB6 = load i64*, i64** %Sp_Var | |
%lnjB7 = getelementptr inbounds i64, i64* %lnjB6, i32 -2 | |
%lnjB8 = ptrtoint i64* %lnjB7 to i64 | |
%lnjB9 = inttoptr i64 %lnjB8 to i64* | |
store i64* %lnjB9, i64** %Sp_Var | |
%lnjBa = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjBb = load i64*, i64** %Sp_Var | |
%lnjBc = load i64, i64* %R1_Var | |
%lnjBd = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjBa( i64* %Base_Arg, i64* %lnjBb, i64* %Hp_Arg, i64 %lnjBc, i64 %lnjBd, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjAH: | |
%lnjBf = load i64, i64* %R1_Var | |
%lnjBg = inttoptr i64 %lnjBf to i64* | |
%lnjBh = load i64, i64* %lnjBg, !tbaa !3 | |
%lnjBi = inttoptr i64 %lnjBh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjBj = load i64*, i64** %Sp_Var | |
%lnjBk = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjBi( i64* %Base_Arg, i64* %lnjBj, i64* %Hp_Arg, i64 %lnjBk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjAK: | |
%lnjBl = load i64, i64* %R1_Var | |
store i64 %lnjBl, i64* %R1_Var | |
%lnjBm = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnjBn = bitcast i64* %lnjBm to i64* | |
%lnjBo = load i64, i64* %lnjBn, !tbaa !4 | |
%lnjBp = inttoptr i64 %lnjBo to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjBq = load i64*, i64** %Sp_Var | |
%lnjBr = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjBp( i64* %Base_Arg, i64* %lnjBq, i64* %Hp_Arg, i64 %lnjBr, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFG_closure_struct = type <{i64, i64}> | |
@riFG_closure$def = internal global %riFG_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFG_info$def to i64), i64 0}> | |
@riFG_closure = internal alias i8* bitcast (%riFG_closure_struct* @riFG_closure$def to i8*) | |
@siKl_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKl_info$def to i8*) | |
define internal ghccc void @siKl_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901902, i64 4294967296, i64 11}> | |
{ | |
cjFH: | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjLJ = load i64*, i64** %Sp_Var | |
%lnjLK = getelementptr inbounds i64, i64* %lnjLJ, i32 -5 | |
%lnjLL = ptrtoint i64* %lnjLK to i64 | |
%lnjLM = icmp uge i64 %lnjLL, %SpLim_Arg | |
br i1 %lnjLM, label %ujFZ, label %cjFI | |
cjFI: | |
%lnjLN = load i64, i64* %R3_Var | |
store i64 %lnjLN, i64* %R3_Var | |
%lnjLO = load i64, i64* %R2_Var | |
store i64 %lnjLO, i64* %R2_Var | |
%lnjLP = load i64, i64* %R1_Var | |
store i64 %lnjLP, i64* %R1_Var | |
%lnjLQ = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjLR = bitcast i64* %lnjLQ to i64* | |
%lnjLS = load i64, i64* %lnjLR, !tbaa !4 | |
%lnjLT = inttoptr i64 %lnjLS to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjLU = load i64*, i64** %Sp_Var | |
%lnjLV = load i64, i64* %R1_Var | |
%lnjLW = load i64, i64* %R2_Var | |
%lnjLX = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjLT( i64* %Base_Arg, i64* %lnjLU, i64* %Hp_Arg, i64 %lnjLV, i64 %lnjLW, i64 %lnjLX, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujFZ: | |
%lnjLZ = load i64, i64* %R1_Var | |
%lnjLY = load i64*, i64** %Sp_Var | |
%lnjM0 = getelementptr inbounds i64, i64* %lnjLY, i32 -3 | |
store i64 %lnjLZ, i64* %lnjM0, !tbaa !1 | |
%lnjM2 = load i64, i64* %R2_Var | |
%lnjM1 = load i64*, i64** %Sp_Var | |
%lnjM3 = getelementptr inbounds i64, i64* %lnjM1, i32 -2 | |
store i64 %lnjM2, i64* %lnjM3, !tbaa !1 | |
%lnjM5 = load i64, i64* %R3_Var | |
%lnjM4 = load i64*, i64** %Sp_Var | |
%lnjM6 = getelementptr inbounds i64, i64* %lnjM4, i32 -1 | |
store i64 %lnjM5, i64* %lnjM6, !tbaa !1 | |
%lnjM7 = load i64*, i64** %Sp_Var | |
%lnjM8 = getelementptr inbounds i64, i64* %lnjM7, i32 -3 | |
%lnjM9 = ptrtoint i64* %lnjM8 to i64 | |
%lnjMa = inttoptr i64 %lnjM9 to i64* | |
store i64* %lnjMa, i64** %Sp_Var | |
%lnjMb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFx_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjMc = load i64*, i64** %Sp_Var | |
%lnjMd = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMb( i64* %Base_Arg, i64* %lnjMc, i64* %Hp_Arg, i64 %lnjMd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjFx_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFx_entry$def to i8*) | |
define internal ghccc void @cjFx_entry$def(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) align 8 nounwind | |
{ | |
cjFx: | |
%lsiKk = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjMe = load i64*, i64** %Sp_Var | |
%lnjMf = getelementptr inbounds i64, i64* %lnjMe, i32 0 | |
%lnjMg = bitcast i64* %lnjMf to i64* | |
%lnjMh = load i64, i64* %lnjMg, !tbaa !1 | |
%lnjMi = add i64 %lnjMh, 5 | |
%lnjMj = inttoptr i64 %lnjMi to i64* | |
%lnjMk = load i64, i64* %lnjMj, !tbaa !5 | |
store i64 %lnjMk, i64* %lsiKk | |
%lnjMm = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFA_info$def to i64 | |
%lnjMl = load i64*, i64** %Sp_Var | |
%lnjMn = getelementptr inbounds i64, i64* %lnjMl, i32 -1 | |
store i64 %lnjMm, i64* %lnjMn, !tbaa !1 | |
%lnjMo = load i64*, i64** %Sp_Var | |
%lnjMp = getelementptr inbounds i64, i64* %lnjMo, i32 1 | |
%lnjMq = bitcast i64* %lnjMp to i64* | |
%lnjMr = load i64, i64* %lnjMq, !tbaa !1 | |
store i64 %lnjMr, i64* %R1_Var | |
%lnjMt = load i64, i64* %lsiKk | |
%lnjMs = load i64*, i64** %Sp_Var | |
%lnjMu = getelementptr inbounds i64, i64* %lnjMs, i32 1 | |
store i64 %lnjMt, i64* %lnjMu, !tbaa !1 | |
%lnjMv = load i64*, i64** %Sp_Var | |
%lnjMw = getelementptr inbounds i64, i64* %lnjMv, i32 -1 | |
%lnjMx = ptrtoint i64* %lnjMw to i64 | |
%lnjMy = inttoptr i64 %lnjMx to i64* | |
store i64* %lnjMy, i64** %Sp_Var | |
%lnjMz = load i64, i64* %R1_Var | |
%lnjMA = and i64 %lnjMz, 7 | |
%lnjMB = icmp ne i64 %lnjMA, 0 | |
br i1 %lnjMB, label %ujG1, label %cjFB | |
cjFB: | |
%lnjMD = load i64, i64* %R1_Var | |
%lnjME = inttoptr i64 %lnjMD to i64* | |
%lnjMF = load i64, i64* %lnjME, !tbaa !3 | |
%lnjMG = inttoptr i64 %lnjMF to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjMH = load i64*, i64** %Sp_Var | |
%lnjMI = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMG( i64* %Base_Arg, i64* %lnjMH, i64* %Hp_Arg, i64 %lnjMI, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujG1: | |
%lnjMJ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFA_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjMK = load i64*, i64** %Sp_Var | |
%lnjML = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMJ( i64* %Base_Arg, i64* %lnjMK, i64* %Hp_Arg, i64 %lnjML, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjFA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFA_info$def to i8*) | |
define internal ghccc void @cjFA_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}> | |
{ | |
cjFA: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lsiKr = alloca i64, i32 1 | |
%lnjMM = load i64, i64* %R1_Var | |
%lnjMN = and i64 %lnjMM, 7 | |
switch i64 %lnjMN, label %cjFE [i64 1, label %cjFE | |
i64 2, label %cjFF] | |
cjFE: | |
%lnjMO = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjMP = add i64 %lnjMO, 1 | |
store i64 %lnjMP, i64* %R1_Var | |
%lnjMQ = load i64*, i64** %Sp_Var | |
%lnjMR = getelementptr inbounds i64, i64* %lnjMQ, i32 4 | |
%lnjMS = ptrtoint i64* %lnjMR to i64 | |
%lnjMT = inttoptr i64 %lnjMS to i64* | |
store i64* %lnjMT, i64** %Sp_Var | |
%lnjMU = load i64*, i64** %Sp_Var | |
%lnjMV = getelementptr inbounds i64, i64* %lnjMU, i32 0 | |
%lnjMW = bitcast i64* %lnjMV to i64* | |
%lnjMX = load i64, i64* %lnjMW, !tbaa !1 | |
%lnjMY = inttoptr i64 %lnjMX to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjMZ = load i64*, i64** %Sp_Var | |
%lnjN0 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjMY( i64* %Base_Arg, i64* %lnjMZ, i64* %Hp_Arg, i64 %lnjN0, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjFF: | |
%lnjN2 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFP_info$def to i64 | |
%lnjN1 = load i64*, i64** %Sp_Var | |
%lnjN3 = getelementptr inbounds i64, i64* %lnjN1, i32 -1 | |
store i64 %lnjN2, i64* %lnjN3, !tbaa !1 | |
%lnjN6 = load i64, i64* %R1_Var | |
%lnjN7 = add i64 %lnjN6, 14 | |
%lnjN8 = inttoptr i64 %lnjN7 to i64* | |
%lnjN9 = load i64, i64* %lnjN8, !tbaa !3 | |
store i64 %lnjN9, i64* %lsiKr | |
%lnjNc = load i64, i64* %R1_Var | |
%lnjNd = add i64 %lnjNc, 6 | |
%lnjNe = inttoptr i64 %lnjNd to i64* | |
%lnjNf = load i64, i64* %lnjNe, !tbaa !3 | |
store i64 %lnjNf, i64* %R1_Var | |
%lnjNh = load i64, i64* %lsiKr | |
%lnjNg = load i64*, i64** %Sp_Var | |
%lnjNi = getelementptr inbounds i64, i64* %lnjNg, i32 0 | |
store i64 %lnjNh, i64* %lnjNi, !tbaa !1 | |
%lnjNj = load i64*, i64** %Sp_Var | |
%lnjNk = getelementptr inbounds i64, i64* %lnjNj, i32 -1 | |
%lnjNl = ptrtoint i64* %lnjNk to i64 | |
%lnjNm = inttoptr i64 %lnjNl to i64* | |
store i64* %lnjNm, i64** %Sp_Var | |
%lnjNn = load i64, i64* %R1_Var | |
%lnjNo = and i64 %lnjNn, 7 | |
%lnjNp = icmp ne i64 %lnjNo, 0 | |
br i1 %lnjNp, label %ujG2, label %cjFR | |
cjFR: | |
%lnjNr = load i64, i64* %R1_Var | |
%lnjNs = inttoptr i64 %lnjNr to i64* | |
%lnjNt = load i64, i64* %lnjNs, !tbaa !3 | |
%lnjNu = inttoptr i64 %lnjNt to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjNv = load i64*, i64** %Sp_Var | |
%lnjNw = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjNu( i64* %Base_Arg, i64* %lnjNv, i64* %Hp_Arg, i64 %lnjNw, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujG2: | |
%lnjNx = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFP_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjNy = load i64*, i64** %Sp_Var | |
%lnjNz = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjNx( i64* %Base_Arg, i64* %lnjNy, i64* %Hp_Arg, i64 %lnjNz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjFP_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFP_info$def to i8*) | |
define internal ghccc void @cjFP_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 772, i64 32}> | |
{ | |
cjFP: | |
%lsiKn = alloca i64, i32 1 | |
%lsiKr = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjNA = load i64*, i64** %Sp_Var | |
%lnjNB = getelementptr inbounds i64, i64* %lnjNA, i32 4 | |
%lnjNC = bitcast i64* %lnjNB to i64* | |
%lnjND = load i64, i64* %lnjNC, !tbaa !1 | |
store i64 %lnjND, i64* %lsiKn | |
%lnjNE = load i64*, i64** %Sp_Var | |
%lnjNF = getelementptr inbounds i64, i64* %lnjNE, i32 1 | |
%lnjNG = bitcast i64* %lnjNF to i64* | |
%lnjNH = load i64, i64* %lnjNG, !tbaa !1 | |
store i64 %lnjNH, i64* %lsiKr | |
%lnjNI = load i64*, i64** %Sp_Var | |
%lnjNJ = getelementptr inbounds i64, i64* %lnjNI, i32 3 | |
%lnjNK = bitcast i64* %lnjNJ to i64* | |
%lnjNL = load i64, i64* %lnjNK, !tbaa !1 | |
%lnjNM = load i64, i64* %lsiKn | |
%lnjNN = shl i64 %lnjNM, 2 | |
%lnjNO = add i64 %lnjNL, %lnjNN | |
%lnjNP = add i64 %R1_Arg, 7 | |
%lnjNQ = inttoptr i64 %lnjNP to i64* | |
%lnjNR = load i64, i64* %lnjNQ, !tbaa !3 | |
%lnjNS = trunc i64 %lnjNR to i32 | |
%lnjNT = inttoptr i64 %lnjNO to i32* | |
store i32 %lnjNS, i32* %lnjNT, !tbaa !5 | |
%lnjNV = load i64, i64* %lsiKr | |
%lnjNU = load i64*, i64** %Sp_Var | |
%lnjNW = getelementptr inbounds i64, i64* %lnjNU, i32 3 | |
store i64 %lnjNV, i64* %lnjNW, !tbaa !1 | |
%lnjNY = load i64, i64* %lsiKn | |
%lnjNZ = add i64 %lnjNY, 1 | |
%lnjNX = load i64*, i64** %Sp_Var | |
%lnjO0 = getelementptr inbounds i64, i64* %lnjNX, i32 4 | |
store i64 %lnjNZ, i64* %lnjO0, !tbaa !1 | |
%lnjO1 = load i64*, i64** %Sp_Var | |
%lnjO2 = getelementptr inbounds i64, i64* %lnjO1, i32 2 | |
%lnjO3 = ptrtoint i64* %lnjO2 to i64 | |
%lnjO4 = inttoptr i64 %lnjO3 to i64* | |
store i64* %lnjO4, i64** %Sp_Var | |
%lnjO5 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFx_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjO6 = load i64*, i64** %Sp_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjO5( i64* %Base_Arg, i64* %lnjO6, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siLb_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to i8*) | |
define internal ghccc void @siLb_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}> | |
{ | |
cjGU: | |
%lsiLb = alloca i64, i32 1 | |
%lsiKM = alloca i64, i32 1 | |
%lsiKc = alloca i64, i32 1 | |
%lsiKk = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnjO7 = load i64*, i64** %Sp_Var | |
%lnjO8 = getelementptr inbounds i64, i64* %lnjO7, i32 -14 | |
%lnjO9 = ptrtoint i64* %lnjO8 to i64 | |
%lnjOa = icmp ult i64 %lnjO9, %SpLim_Arg | |
br i1 %lnjOa, label %cjH4, label %cjH5 | |
cjH5: | |
%lnjOc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGN_info$def to i64 | |
%lnjOb = load i64*, i64** %Sp_Var | |
%lnjOd = getelementptr inbounds i64, i64* %lnjOb, i32 -6 | |
store i64 %lnjOc, i64* %lnjOd, !tbaa !1 | |
%lnjOe = load i64, i64* %R1_Var | |
store i64 %lnjOe, i64* %lsiLb | |
%lnjOh = load i64, i64* %R1_Var | |
%lnjOi = add i64 %lnjOh, 6 | |
%lnjOj = inttoptr i64 %lnjOi to i64* | |
%lnjOk = load i64, i64* %lnjOj, !tbaa !3 | |
store i64 %lnjOk, i64* %lsiKM | |
%lnjOn = load i64, i64* %R1_Var | |
%lnjOo = add i64 %lnjOn, 14 | |
%lnjOp = inttoptr i64 %lnjOo to i64* | |
%lnjOq = load i64, i64* %lnjOp, !tbaa !3 | |
store i64 %lnjOq, i64* %lsiKc | |
%lnjOt = load i64, i64* %R1_Var | |
%lnjOu = add i64 %lnjOt, 22 | |
%lnjOv = inttoptr i64 %lnjOu to i64* | |
%lnjOw = load i64, i64* %lnjOv, !tbaa !3 | |
store i64 %lnjOw, i64* %lsiKk | |
%lnjOx = load i64, i64* %R2_Var | |
store i64 %lnjOx, i64* %R1_Var | |
%lnjOz = load i64, i64* %lsiKc | |
%lnjOy = load i64*, i64** %Sp_Var | |
%lnjOA = getelementptr inbounds i64, i64* %lnjOy, i32 -5 | |
store i64 %lnjOz, i64* %lnjOA, !tbaa !1 | |
%lnjOC = load i64, i64* %lsiKk | |
%lnjOB = load i64*, i64** %Sp_Var | |
%lnjOD = getelementptr inbounds i64, i64* %lnjOB, i32 -4 | |
store i64 %lnjOC, i64* %lnjOD, !tbaa !1 | |
%lnjOF = load i64, i64* %lsiKM | |
%lnjOE = load i64*, i64** %Sp_Var | |
%lnjOG = getelementptr inbounds i64, i64* %lnjOE, i32 -3 | |
store i64 %lnjOF, i64* %lnjOG, !tbaa !1 | |
%lnjOI = load i64, i64* %lsiLb | |
%lnjOH = load i64*, i64** %Sp_Var | |
%lnjOJ = getelementptr inbounds i64, i64* %lnjOH, i32 -2 | |
store i64 %lnjOI, i64* %lnjOJ, !tbaa !1 | |
%lnjOL = load i64, i64* %R2_Var | |
%lnjOK = load i64*, i64** %Sp_Var | |
%lnjOM = getelementptr inbounds i64, i64* %lnjOK, i32 -1 | |
store i64 %lnjOL, i64* %lnjOM, !tbaa !1 | |
%lnjON = load i64*, i64** %Sp_Var | |
%lnjOO = getelementptr inbounds i64, i64* %lnjON, i32 -6 | |
%lnjOP = ptrtoint i64* %lnjOO to i64 | |
%lnjOQ = inttoptr i64 %lnjOP to i64* | |
store i64* %lnjOQ, i64** %Sp_Var | |
%lnjOR = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjOS = load i64*, i64** %Sp_Var | |
%lnjOT = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjOR( i64* %Base_Arg, i64* %lnjOS, i64* %Hp_Arg, i64 %lnjOT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjH4: | |
%lnjOU = load i64, i64* %R2_Var | |
store i64 %lnjOU, i64* %R2_Var | |
%lnjOV = load i64, i64* %R1_Var | |
store i64 %lnjOV, i64* %R1_Var | |
%lnjOW = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjOX = bitcast i64* %lnjOW to i64* | |
%lnjOY = load i64, i64* %lnjOX, !tbaa !4 | |
%lnjOZ = inttoptr i64 %lnjOY to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjP0 = load i64*, i64** %Sp_Var | |
%lnjP1 = load i64, i64* %R1_Var | |
%lnjP2 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjOZ( i64* %Base_Arg, i64* %lnjP0, i64* %Hp_Arg, i64 %lnjP1, i64 %lnjP2, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGN_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGN_info$def to i8*) | |
define internal ghccc void @cjGN_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGN_info$def to i64)),i64 32), i64 1221, i64 4294967328}> | |
{ | |
cjGN: | |
%lsiLj = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjP4 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGP_info$def to i64 | |
%lnjP3 = load i64*, i64** %Sp_Var | |
%lnjP5 = getelementptr inbounds i64, i64* %lnjP3, i32 -1 | |
store i64 %lnjP4, i64* %lnjP5, !tbaa !1 | |
%lnjP6 = load i64, i64* %R1_Var | |
store i64 %lnjP6, i64* %lsiLj | |
%lnjP7 = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnjP8 = add i64 %lnjP7, 1 | |
store i64 %lnjP8, i64* %R1_Var | |
%lnjPa = load i64, i64* %lsiLj | |
%lnjP9 = load i64*, i64** %Sp_Var | |
%lnjPb = getelementptr inbounds i64, i64* %lnjP9, i32 0 | |
store i64 %lnjPa, i64* %lnjPb, !tbaa !1 | |
%lnjPc = load i64*, i64** %Sp_Var | |
%lnjPd = getelementptr inbounds i64, i64* %lnjPc, i32 -1 | |
%lnjPe = ptrtoint i64* %lnjPd to i64 | |
%lnjPf = inttoptr i64 %lnjPe to i64* | |
store i64* %lnjPf, i64** %Sp_Var | |
%lnjPg = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjPh = load i64*, i64** %Sp_Var | |
%lnjPi = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjPg( i64* %Base_Arg, i64* %lnjPh, i64* %Hp_Arg, i64 %lnjPi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGP_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGP_info$def to i8*) | |
define internal ghccc void @cjGP_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGP_info$def to i64)),i64 32), i64 2438, i64 4294967328}> | |
{ | |
cjGP: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%lsiKc = alloca i64, i32 1 | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjPj = load i64*, i64** %Hp_Var | |
%lnjPk = getelementptr inbounds i64, i64* %lnjPj, i32 2 | |
%lnjPl = ptrtoint i64* %lnjPk to i64 | |
%lnjPm = inttoptr i64 %lnjPl to i64* | |
store i64* %lnjPm, i64** %Hp_Var | |
%lnjPn = load i64*, i64** %Hp_Var | |
%lnjPo = ptrtoint i64* %lnjPn to i64 | |
%lnjPp = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjPq = bitcast i64* %lnjPp to i64* | |
%lnjPr = load i64, i64* %lnjPq, !tbaa !4 | |
%lnjPs = icmp ugt i64 %lnjPo, %lnjPr | |
br i1 %lnjPs, label %cjH9, label %cjH8 | |
cjH8: | |
%lnjPu = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnjPt = load i64*, i64** %Hp_Var | |
%lnjPv = getelementptr inbounds i64, i64* %lnjPt, i32 -1 | |
store i64 %lnjPu, i64* %lnjPv, !tbaa !2 | |
%lnjPx = load i64, i64* %R1_Var | |
%lnjPw = load i64*, i64** %Hp_Var | |
%lnjPy = getelementptr inbounds i64, i64* %lnjPw, i32 0 | |
store i64 %lnjPx, i64* %lnjPy, !tbaa !2 | |
%lnjPA = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGW_info$def to i64 | |
%lnjPz = load i64*, i64** %Sp_Var | |
%lnjPB = getelementptr inbounds i64, i64* %lnjPz, i32 0 | |
store i64 %lnjPA, i64* %lnjPB, !tbaa !1 | |
store i64 0, i64* %R6_Var | |
%lnjPC = load i64*, i64** %Sp_Var | |
%lnjPD = getelementptr inbounds i64, i64* %lnjPC, i32 2 | |
%lnjPE = bitcast i64* %lnjPD to i64* | |
%lnjPF = load i64, i64* %lnjPE, !tbaa !1 | |
store i64 %lnjPF, i64* %lsiKc | |
%lnjPG = load i64, i64* %lsiKc | |
store i64 %lnjPG, i64* %R5_Var | |
%lnjPH = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64 | |
%lnjPI = add i64 %lnjPH, 1 | |
store i64 %lnjPI, i64* %R4_Var | |
%lnjPJ = load i64*, i64** %Sp_Var | |
%lnjPK = getelementptr inbounds i64, i64* %lnjPJ, i32 4 | |
%lnjPL = bitcast i64* %lnjPK to i64* | |
%lnjPM = load i64, i64* %lnjPL, !tbaa !1 | |
store i64 %lnjPM, i64* %R3_Var | |
%lnjPN = load i64*, i64** %Sp_Var | |
%lnjPO = getelementptr inbounds i64, i64* %lnjPN, i32 3 | |
%lnjPP = bitcast i64* %lnjPO to i64* | |
%lnjPQ = load i64, i64* %lnjPP, !tbaa !1 | |
store i64 %lnjPQ, i64* %R2_Var | |
%lnjPS = load i64, i64* %lsiKc | |
%lnjPR = load i64*, i64** %Sp_Var | |
%lnjPT = getelementptr inbounds i64, i64* %lnjPR, i32 -7 | |
store i64 %lnjPS, i64* %lnjPT, !tbaa !1 | |
%lnjPV = load i64*, i64** %Sp_Var | |
%lnjPW = getelementptr inbounds i64, i64* %lnjPV, i32 1 | |
%lnjPX = bitcast i64* %lnjPW to i64* | |
%lnjPY = load i64, i64* %lnjPX, !tbaa !1 | |
%lnjPZ = add i64 %lnjPY, 16 | |
%lnjPU = load i64*, i64** %Sp_Var | |
%lnjQ0 = getelementptr inbounds i64, i64* %lnjPU, i32 -6 | |
store i64 %lnjPZ, i64* %lnjQ0, !tbaa !1 | |
%lnjQ3 = load i64*, i64** %Hp_Var | |
%lnjQ4 = ptrtoint i64* %lnjQ3 to i64 | |
%lnjQ5 = add i64 %lnjQ4, -7 | |
%lnjQ1 = load i64*, i64** %Sp_Var | |
%lnjQ6 = getelementptr inbounds i64, i64* %lnjQ1, i32 -5 | |
store i64 %lnjQ5, i64* %lnjQ6, !tbaa !1 | |
%lnjQ8 = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64 | |
%lnjQ9 = add i64 %lnjQ8, 2 | |
%lnjQ7 = load i64*, i64** %Sp_Var | |
%lnjQa = getelementptr inbounds i64, i64* %lnjQ7, i32 -4 | |
store i64 %lnjQ9, i64* %lnjQa, !tbaa !1 | |
%lnjQc = load i64*, i64** %Sp_Var | |
%lnjQd = getelementptr inbounds i64, i64* %lnjQc, i32 6 | |
%lnjQe = bitcast i64* %lnjQd to i64* | |
%lnjQf = load i64, i64* %lnjQe, !tbaa !1 | |
%lnjQb = load i64*, i64** %Sp_Var | |
%lnjQg = getelementptr inbounds i64, i64* %lnjQb, i32 -3 | |
store i64 %lnjQf, i64* %lnjQg, !tbaa !1 | |
%lnjQh = load i64*, i64** %Sp_Var | |
%lnjQi = getelementptr inbounds i64, i64* %lnjQh, i32 -2 | |
store i64 0, i64* %lnjQi, !tbaa !1 | |
%lnjQj = load i64*, i64** %Sp_Var | |
%lnjQk = getelementptr inbounds i64, i64* %lnjQj, i32 -1 | |
store i64 0, i64* %lnjQk, !tbaa !1 | |
%lnjQl = load i64*, i64** %Sp_Var | |
%lnjQm = getelementptr inbounds i64, i64* %lnjQl, i32 -7 | |
%lnjQn = ptrtoint i64* %lnjQm to i64 | |
%lnjQo = inttoptr i64 %lnjQn to i64* | |
store i64* %lnjQo, i64** %Sp_Var | |
%lnjQp = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjQq = load i64*, i64** %Sp_Var | |
%lnjQr = load i64*, i64** %Hp_Var | |
%lnjQs = load i64, i64* %R1_Var | |
%lnjQt = load i64, i64* %R2_Var | |
%lnjQu = load i64, i64* %R3_Var | |
%lnjQv = load i64, i64* %R4_Var | |
%lnjQw = load i64, i64* %R5_Var | |
%lnjQx = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQp( i64* %Base_Arg, i64* %lnjQq, i64* %lnjQr, i64 %lnjQs, i64 %lnjQt, i64 %lnjQu, i64 %lnjQv, i64 %lnjQw, i64 %lnjQx, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjH9: | |
%lnjQy = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnjQy, !tbaa !4 | |
%lnjQz = load i64, i64* %R1_Var | |
store i64 %lnjQz, i64* %R1_Var | |
%lnjQA = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjQB = load i64*, i64** %Sp_Var | |
%lnjQC = load i64*, i64** %Hp_Var | |
%lnjQD = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQA( i64* %Base_Arg, i64* %lnjQB, i64* %lnjQC, i64 %lnjQD, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGW_info$def to i8*) | |
define internal ghccc void @cjGW_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGW_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cjGW: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjQE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to i64 | |
%lnjQF = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjQE, i64* %lnjQF, !tbaa !1 | |
%lnjQG = load i64, i64* %R1_Var | |
store i64 %lnjQG, i64* %R1_Var | |
%lnjQH = load i64, i64* %R1_Var | |
%lnjQI = and i64 %lnjQH, 7 | |
%lnjQJ = icmp ne i64 %lnjQI, 0 | |
br i1 %lnjQJ, label %ujIo, label %cjGZ | |
cjGZ: | |
%lnjQL = load i64, i64* %R1_Var | |
%lnjQM = inttoptr i64 %lnjQL to i64* | |
%lnjQN = load i64, i64* %lnjQM, !tbaa !3 | |
%lnjQO = inttoptr i64 %lnjQN to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjQP = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQO( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjQP, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujIo: | |
%lnjQQ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjQR = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjQQ( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjQR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGY_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to i8*) | |
define internal ghccc void @cjGY_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGY_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cjGY: | |
%lsiLt = alloca i64, i32 1 | |
%lsiLv = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjQS = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to i64 | |
%lnjQT = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjQS, i64* %lnjQT, !tbaa !1 | |
%lnjQW = load i64, i64* %R1_Var | |
%lnjQX = add i64 %lnjQW, 7 | |
%lnjQY = inttoptr i64 %lnjQX to i64* | |
%lnjQZ = load i64, i64* %lnjQY, !tbaa !3 | |
store i64 %lnjQZ, i64* %lsiLt | |
%lnjR2 = load i64, i64* %R1_Var | |
%lnjR3 = add i64 %lnjR2, 23 | |
%lnjR4 = inttoptr i64 %lnjR3 to i64* | |
%lnjR5 = load i64, i64* %lnjR4, !tbaa !3 | |
store i64 %lnjR5, i64* %lsiLv | |
%lnjR8 = load i64, i64* %R1_Var | |
%lnjR9 = add i64 %lnjR8, 15 | |
%lnjRa = inttoptr i64 %lnjR9 to i64* | |
%lnjRb = load i64, i64* %lnjRa, !tbaa !3 | |
store i64 %lnjRb, i64* %R1_Var | |
%lnjRc = load i64, i64* %lsiLv | |
%lnjRd = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjRc, i64* %lnjRd, !tbaa !1 | |
%lnjRe = load i64, i64* %lsiLt | |
%lnjRf = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjRe, i64* %lnjRf, !tbaa !1 | |
%lnjRg = load i64, i64* %R1_Var | |
%lnjRh = and i64 %lnjRg, 7 | |
%lnjRi = icmp ne i64 %lnjRh, 0 | |
br i1 %lnjRi, label %ujIp, label %cjHc | |
cjHc: | |
%lnjRk = load i64, i64* %R1_Var | |
%lnjRl = inttoptr i64 %lnjRk to i64* | |
%lnjRm = load i64, i64* %lnjRl, !tbaa !3 | |
%lnjRn = inttoptr i64 %lnjRm to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjRo = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjRn( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjRo, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujIp: | |
%lnjRp = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjRq = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjRp( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjRq, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjH3_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to i8*) | |
define internal ghccc void @cjH3_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjH3_info$def to i64)),i64 32), i64 2182, i64 4294967328}> | |
{ | |
cjH3: | |
%lsiLB = alloca i64, i32 1 | |
%lsiLy = alloca i64, i32 1 | |
%lsiLx = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjRt = load i64, i64* %R1_Var | |
%lnjRu = add i64 %lnjRt, 39 | |
%lnjRv = inttoptr i64 %lnjRu to i64* | |
%lnjRw = load i64, i64* %lnjRv, !tbaa !3 | |
store i64 %lnjRw, i64* %lsiLB | |
%lnjRx = load i64, i64* %lsiLB | |
%lnjRA = load i64, i64* %R1_Var | |
%lnjRB = add i64 %lnjRA, 47 | |
%lnjRC = inttoptr i64 %lnjRB to i64* | |
%lnjRD = load i64, i64* %lnjRC, !tbaa !3 | |
%lnjRE = icmp eq i64 %lnjRx, %lnjRD | |
%lnjRF = zext i1 %lnjRE to i64 | |
switch i64 %lnjRF, label %cjHo [i64 0, label %cjHo | |
i64 1, label %cjHI] | |
cjHo: | |
%lnjRG = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to i64 | |
%lnjRH = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjRG, i64* %lnjRH, !tbaa !1 | |
%lnjRK = load i64, i64* %R1_Var | |
%lnjRL = add i64 %lnjRK, 7 | |
%lnjRM = inttoptr i64 %lnjRL to i64* | |
%lnjRN = load i64, i64* %lnjRM, !tbaa !3 | |
store i64 %lnjRN, i64* %lsiLy | |
%lnjRQ = load i64, i64* %R1_Var | |
%lnjRR = add i64 %lnjRQ, 23 | |
%lnjRS = inttoptr i64 %lnjRR to i64* | |
%lnjRT = load i64, i64* %lnjRS, !tbaa !3 | |
store i64 %lnjRT, i64* %lsiLx | |
%lnjRU = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnjRV = bitcast i64* %lnjRU to i64* | |
%lnjRW = load i64, i64* %lnjRV, !tbaa !1 | |
store i64 %lnjRW, i64* %R1_Var | |
%lnjRX = load i64, i64* %lsiLB | |
%lnjRY = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
store i64 %lnjRX, i64* %lnjRY, !tbaa !1 | |
%lnjRZ = load i64, i64* %lsiLy | |
%lnjS0 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjRZ, i64* %lnjS0, !tbaa !1 | |
%lnjS1 = load i64, i64* %lsiLx | |
%lnjS2 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjS1, i64* %lnjS2, !tbaa !1 | |
%lnjS3 = load i64, i64* %R1_Var | |
%lnjS4 = and i64 %lnjS3, 7 | |
%lnjS5 = icmp ne i64 %lnjS4, 0 | |
br i1 %lnjS5, label %ujIq, label %cjHp | |
cjHp: | |
%lnjS7 = load i64, i64* %R1_Var | |
%lnjS8 = inttoptr i64 %lnjS7 to i64* | |
%lnjS9 = load i64, i64* %lnjS8, !tbaa !3 | |
%lnjSa = inttoptr i64 %lnjS9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjSb = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSa( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujIq: | |
%lnjSc = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjSd = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSc( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjHI: | |
%lnjSe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to i64 | |
%lnjSf = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjSe, i64* %lnjSf, !tbaa !1 | |
%lnjSg = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnjSh = bitcast i64* %lnjSg to i64* | |
%lnjSi = load i64, i64* %lnjSh, !tbaa !1 | |
store i64 %lnjSi, i64* %R1_Var | |
%lnjSj = load i64, i64* %R1_Var | |
%lnjSk = and i64 %lnjSj, 7 | |
%lnjSl = icmp ne i64 %lnjSk, 0 | |
br i1 %lnjSl, label %ujIr, label %cjHJ | |
cjHJ: | |
%lnjSn = load i64, i64* %R1_Var | |
%lnjSo = inttoptr i64 %lnjSn to i64* | |
%lnjSp = load i64, i64* %lnjSo, !tbaa !3 | |
%lnjSq = inttoptr i64 %lnjSp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjSr = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSq( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSr, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujIr: | |
%lnjSs = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjSt = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjSs( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjSt, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjHH_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to i8*) | |
define internal ghccc void @cjHH_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHH_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cjHH: | |
%lsiLW = alloca i64, i32 1 | |
%lsiLS = alloca i64, i32 1 | |
%lsiLR = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lnjSw = load i64, i64* %R1_Var | |
%lnjSx = add i64 %lnjSw, 47 | |
%lnjSy = inttoptr i64 %lnjSx to i64* | |
%lnjSz = load i64, i64* %lnjSy, !tbaa !3 | |
store i64 %lnjSz, i64* %lsiLW | |
%lnjSC = load i64, i64* %R1_Var | |
%lnjSD = add i64 %lnjSC, 31 | |
%lnjSE = inttoptr i64 %lnjSD to i64* | |
%lnjSF = load i64, i64* %lnjSE, !tbaa !3 | |
%lnjSG = load i64, i64* %lsiLW | |
%lnjSH = sub i64 %lnjSF, %lnjSG | |
switch i64 %lnjSH, label %cjHY [i64 0, label %cjI6] | |
cjHY: | |
%lnjSK = load i64, i64* %R1_Var | |
%lnjSL = add i64 %lnjSK, 7 | |
%lnjSM = inttoptr i64 %lnjSL to i64* | |
%lnjSN = load i64, i64* %lnjSM, !tbaa !3 | |
store i64 %lnjSN, i64* %lsiLS | |
%lnjSQ = load i64, i64* %R1_Var | |
%lnjSR = add i64 %lnjSQ, 23 | |
%lnjSS = inttoptr i64 %lnjSR to i64* | |
%lnjST = load i64, i64* %lnjSS, !tbaa !3 | |
store i64 %lnjST, i64* %lsiLR | |
%lnjSU = load i64, i64* %lsiLR | |
%lnjSV = load i64, i64* %lsiLW | |
%lnjSW = add i64 %lnjSU, %lnjSV | |
%lnjSX = inttoptr i64 %lnjSW to i8* | |
store i8 0, i8* %lnjSX, !tbaa !5 | |
%lnjSY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHW_info$def to i64 | |
%lnjSZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjSY, i64* %lnjSZ, !tbaa !1 | |
%lnjT0 = load i64, i64* %lsiLR | |
store i64 %lnjT0, i64* %R1_Var | |
%lnjT1 = load i64, i64* %lsiLS | |
%lnjT2 = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
store i64 %lnjT1, i64* %lnjT2, !tbaa !1 | |
%lnjT3 = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjT4 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjT3( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjT4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjI6: | |
%lnjT5 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjId_info$def to i64 | |
%lnjT6 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjT5, i64* %lnjT6, !tbaa !1 | |
%lnjT7 = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
%lnjT8 = bitcast i64* %lnjT7 to i64* | |
%lnjT9 = load i64, i64* %lnjT8, !tbaa !1 | |
%lnjTa = shl i64 %lnjT9, 1 | |
store i64 %lnjTa, i64* %R2_Var | |
%lnjTb = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnjTc = bitcast i64* %lnjTb to i64* | |
%lnjTd = load i64, i64* %lnjTc, !tbaa !1 | |
store i64 %lnjTd, i64* %R1_Var | |
%lnjTe = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjTf = load i64, i64* %R1_Var | |
%lnjTg = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTe( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjTf, i64 %lnjTg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjId_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjId_info$def to i8*) | |
define internal ghccc void @cjId_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cjId: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjTh = load i64, i64* %R1_Var | |
store i64 %lnjTh, i64* %R1_Var | |
%lnjTi = load i64*, i64** %Sp_Var | |
%lnjTj = getelementptr inbounds i64, i64* %lnjTi, i32 7 | |
%lnjTk = ptrtoint i64* %lnjTj to i64 | |
%lnjTl = inttoptr i64 %lnjTk to i64* | |
store i64* %lnjTl, i64** %Sp_Var | |
%lnjTm = load i64*, i64** %Sp_Var | |
%lnjTn = getelementptr inbounds i64, i64* %lnjTm, i32 0 | |
%lnjTo = bitcast i64* %lnjTn to i64* | |
%lnjTp = load i64, i64* %lnjTo, !tbaa !1 | |
%lnjTq = inttoptr i64 %lnjTp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjTr = load i64*, i64** %Sp_Var | |
%lnjTs = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTq( i64* %Base_Arg, i64* %lnjTr, i64* %Hp_Arg, i64 %lnjTs, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjHW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHW_info$def to i8*) | |
define internal ghccc void @cjHW_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}> | |
{ | |
cjHW: | |
%lsiLj = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjTt = load i64*, i64** %Sp_Var | |
%lnjTu = getelementptr inbounds i64, i64* %lnjTt, i32 1 | |
%lnjTv = bitcast i64* %lnjTu to i64* | |
%lnjTw = load i64, i64* %lnjTv, !tbaa !1 | |
store i64 %lnjTw, i64* %lsiLj | |
%lnjTx = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjTy = add i64 %lnjTx, 1 | |
store i64 %lnjTy, i64* %R1_Var | |
%lnjTz = load i64*, i64** %Sp_Var | |
%lnjTA = getelementptr inbounds i64, i64* %lnjTz, i32 7 | |
%lnjTB = ptrtoint i64* %lnjTA to i64 | |
%lnjTC = inttoptr i64 %lnjTB to i64* | |
store i64* %lnjTC, i64** %Sp_Var | |
%lnjTD = load i64*, i64** %Sp_Var | |
%lnjTE = getelementptr inbounds i64, i64* %lnjTD, i32 0 | |
%lnjTF = bitcast i64* %lnjTE to i64* | |
%lnjTG = load i64, i64* %lnjTF, !tbaa !1 | |
%lnjTH = inttoptr i64 %lnjTG to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjTI = load i64*, i64** %Sp_Var | |
%lnjTJ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTH( i64* %Base_Arg, i64* %lnjTI, i64* %Hp_Arg, i64 %lnjTJ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjHm_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to i8*) | |
define internal ghccc void @cjHm_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHm_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjHm: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjTK = load i64, i64* %R1_Var | |
%lnjTL = and i64 %lnjTK, 7 | |
switch i64 %lnjTL, label %cjHv [i64 2, label %cjHD] | |
cjHv: | |
%lnjTM = load i64*, i64** %Sp_Var | |
%lnjTN = getelementptr inbounds i64, i64* %lnjTM, i32 7 | |
%lnjTO = ptrtoint i64* %lnjTN to i64 | |
%lnjTP = inttoptr i64 %lnjTO to i64* | |
store i64* %lnjTP, i64** %Sp_Var | |
%lnjTQ = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjTR = load i64*, i64** %Sp_Var | |
%lnjTS = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjTQ( i64* %Base_Arg, i64* %lnjTR, i64* %Hp_Arg, i64 %lnjTS, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjHD: | |
%lnjTU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHC_info$def to i64 | |
%lnjTT = load i64*, i64** %Sp_Var | |
%lnjTV = getelementptr inbounds i64, i64* %lnjTT, i32 0 | |
store i64 %lnjTU, i64* %lnjTV, !tbaa !1 | |
%lnjTW = load i64*, i64** %Sp_Var | |
%lnjTX = getelementptr inbounds i64, i64* %lnjTW, i32 6 | |
%lnjTY = bitcast i64* %lnjTX to i64* | |
%lnjTZ = load i64, i64* %lnjTY, !tbaa !1 | |
%lnjU0 = shl i64 %lnjTZ, 1 | |
store i64 %lnjU0, i64* %R2_Var | |
%lnjU1 = load i64*, i64** %Sp_Var | |
%lnjU2 = getelementptr inbounds i64, i64* %lnjU1, i32 5 | |
%lnjU3 = bitcast i64* %lnjU2 to i64* | |
%lnjU4 = load i64, i64* %lnjU3, !tbaa !1 | |
store i64 %lnjU4, i64* %R1_Var | |
%lnjU5 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjU6 = load i64*, i64** %Sp_Var | |
%lnjU7 = load i64, i64* %R1_Var | |
%lnjU8 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjU5( i64* %Base_Arg, i64* %lnjU6, i64* %Hp_Arg, i64 %lnjU7, i64 %lnjU8, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjHC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjHC_info$def to i8*) | |
define internal ghccc void @cjHC_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cjHC: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjU9 = load i64, i64* %R1_Var | |
store i64 %lnjU9, i64* %R1_Var | |
%lnjUa = load i64*, i64** %Sp_Var | |
%lnjUb = getelementptr inbounds i64, i64* %lnjUa, i32 7 | |
%lnjUc = ptrtoint i64* %lnjUb to i64 | |
%lnjUd = inttoptr i64 %lnjUc to i64* | |
store i64* %lnjUd, i64** %Sp_Var | |
%lnjUe = load i64*, i64** %Sp_Var | |
%lnjUf = getelementptr inbounds i64, i64* %lnjUe, i32 0 | |
%lnjUg = bitcast i64* %lnjUf to i64* | |
%lnjUh = load i64, i64* %lnjUg, !tbaa !1 | |
%lnjUi = inttoptr i64 %lnjUh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjUj = load i64*, i64** %Sp_Var | |
%lnjUk = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjUi( i64* %Base_Arg, i64* %lnjUj, i64* %Hp_Arg, i64 %lnjUk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siMq_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to i8*) | |
define internal ghccc void @siMq_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to i64)),i64 32), i64 8589934596, i64 8589934593, i64 4294967305}> | |
{ | |
cjIR: | |
%lsiMq = alloca i64, i32 1 | |
%lsiKM = alloca i64, i32 1 | |
%lsiKc = alloca i64, i32 1 | |
%lsiKk = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnjUl = load i64*, i64** %Sp_Var | |
%lnjUm = getelementptr inbounds i64, i64* %lnjUl, i32 -14 | |
%lnjUn = ptrtoint i64* %lnjUm to i64 | |
%lnjUo = icmp ult i64 %lnjUn, %SpLim_Arg | |
br i1 %lnjUo, label %cjJ1, label %cjJ2 | |
cjJ2: | |
%lnjUq = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIK_info$def to i64 | |
%lnjUp = load i64*, i64** %Sp_Var | |
%lnjUr = getelementptr inbounds i64, i64* %lnjUp, i32 -6 | |
store i64 %lnjUq, i64* %lnjUr, !tbaa !1 | |
%lnjUs = load i64, i64* %R1_Var | |
store i64 %lnjUs, i64* %lsiMq | |
%lnjUv = load i64, i64* %R1_Var | |
%lnjUw = add i64 %lnjUv, 6 | |
%lnjUx = inttoptr i64 %lnjUw to i64* | |
%lnjUy = load i64, i64* %lnjUx, !tbaa !3 | |
store i64 %lnjUy, i64* %lsiKM | |
%lnjUB = load i64, i64* %R1_Var | |
%lnjUC = add i64 %lnjUB, 14 | |
%lnjUD = inttoptr i64 %lnjUC to i64* | |
%lnjUE = load i64, i64* %lnjUD, !tbaa !3 | |
store i64 %lnjUE, i64* %lsiKc | |
%lnjUH = load i64, i64* %R1_Var | |
%lnjUI = add i64 %lnjUH, 22 | |
%lnjUJ = inttoptr i64 %lnjUI to i64* | |
%lnjUK = load i64, i64* %lnjUJ, !tbaa !3 | |
store i64 %lnjUK, i64* %lsiKk | |
%lnjUL = load i64, i64* %R2_Var | |
store i64 %lnjUL, i64* %R1_Var | |
%lnjUN = load i64, i64* %lsiKc | |
%lnjUM = load i64*, i64** %Sp_Var | |
%lnjUO = getelementptr inbounds i64, i64* %lnjUM, i32 -5 | |
store i64 %lnjUN, i64* %lnjUO, !tbaa !1 | |
%lnjUQ = load i64, i64* %lsiKk | |
%lnjUP = load i64*, i64** %Sp_Var | |
%lnjUR = getelementptr inbounds i64, i64* %lnjUP, i32 -4 | |
store i64 %lnjUQ, i64* %lnjUR, !tbaa !1 | |
%lnjUT = load i64, i64* %lsiKM | |
%lnjUS = load i64*, i64** %Sp_Var | |
%lnjUU = getelementptr inbounds i64, i64* %lnjUS, i32 -3 | |
store i64 %lnjUT, i64* %lnjUU, !tbaa !1 | |
%lnjUW = load i64, i64* %lsiMq | |
%lnjUV = load i64*, i64** %Sp_Var | |
%lnjUX = getelementptr inbounds i64, i64* %lnjUV, i32 -2 | |
store i64 %lnjUW, i64* %lnjUX, !tbaa !1 | |
%lnjUZ = load i64, i64* %R2_Var | |
%lnjUY = load i64*, i64** %Sp_Var | |
%lnjV0 = getelementptr inbounds i64, i64* %lnjUY, i32 -1 | |
store i64 %lnjUZ, i64* %lnjV0, !tbaa !1 | |
%lnjV1 = load i64*, i64** %Sp_Var | |
%lnjV2 = getelementptr inbounds i64, i64* %lnjV1, i32 -6 | |
%lnjV3 = ptrtoint i64* %lnjV2 to i64 | |
%lnjV4 = inttoptr i64 %lnjV3 to i64* | |
store i64* %lnjV4, i64** %Sp_Var | |
%lnjV5 = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjV6 = load i64*, i64** %Sp_Var | |
%lnjV7 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjV5( i64* %Base_Arg, i64* %lnjV6, i64* %Hp_Arg, i64 %lnjV7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjJ1: | |
%lnjV8 = load i64, i64* %R2_Var | |
store i64 %lnjV8, i64* %R2_Var | |
%lnjV9 = load i64, i64* %R1_Var | |
store i64 %lnjV9, i64* %R1_Var | |
%lnjVa = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnjVb = bitcast i64* %lnjVa to i64* | |
%lnjVc = load i64, i64* %lnjVb, !tbaa !4 | |
%lnjVd = inttoptr i64 %lnjVc to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjVe = load i64*, i64** %Sp_Var | |
%lnjVf = load i64, i64* %R1_Var | |
%lnjVg = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjVd( i64* %Base_Arg, i64* %lnjVe, i64* %Hp_Arg, i64 %lnjVf, i64 %lnjVg, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjIK_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIK_info$def to i8*) | |
define internal ghccc void @cjIK_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIK_info$def to i64)),i64 32), i64 1221, i64 4294967328}> | |
{ | |
cjIK: | |
%lsiMy = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjVi = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIM_info$def to i64 | |
%lnjVh = load i64*, i64** %Sp_Var | |
%lnjVj = getelementptr inbounds i64, i64* %lnjVh, i32 -1 | |
store i64 %lnjVi, i64* %lnjVj, !tbaa !1 | |
%lnjVk = load i64, i64* %R1_Var | |
store i64 %lnjVk, i64* %lsiMy | |
%lnjVl = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnjVm = add i64 %lnjVl, 1 | |
store i64 %lnjVm, i64* %R1_Var | |
%lnjVo = load i64, i64* %lsiMy | |
%lnjVn = load i64*, i64** %Sp_Var | |
%lnjVp = getelementptr inbounds i64, i64* %lnjVn, i32 0 | |
store i64 %lnjVo, i64* %lnjVp, !tbaa !1 | |
%lnjVq = load i64*, i64** %Sp_Var | |
%lnjVr = getelementptr inbounds i64, i64* %lnjVq, i32 -1 | |
%lnjVs = ptrtoint i64* %lnjVr to i64 | |
%lnjVt = inttoptr i64 %lnjVs to i64* | |
store i64* %lnjVt, i64** %Sp_Var | |
%lnjVu = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjVv = load i64*, i64** %Sp_Var | |
%lnjVw = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjVu( i64* %Base_Arg, i64* %lnjVv, i64* %Hp_Arg, i64 %lnjVw, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjIM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIM_info$def to i8*) | |
define internal ghccc void @cjIM_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIM_info$def to i64)),i64 32), i64 2438, i64 4294967328}> | |
{ | |
cjIM: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%lsiKc = alloca i64, i32 1 | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjVx = load i64*, i64** %Hp_Var | |
%lnjVy = getelementptr inbounds i64, i64* %lnjVx, i32 2 | |
%lnjVz = ptrtoint i64* %lnjVy to i64 | |
%lnjVA = inttoptr i64 %lnjVz to i64* | |
store i64* %lnjVA, i64** %Hp_Var | |
%lnjVB = load i64*, i64** %Hp_Var | |
%lnjVC = ptrtoint i64* %lnjVB to i64 | |
%lnjVD = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnjVE = bitcast i64* %lnjVD to i64* | |
%lnjVF = load i64, i64* %lnjVE, !tbaa !4 | |
%lnjVG = icmp ugt i64 %lnjVC, %lnjVF | |
br i1 %lnjVG, label %cjJ6, label %cjJ5 | |
cjJ5: | |
%lnjVI = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnjVH = load i64*, i64** %Hp_Var | |
%lnjVJ = getelementptr inbounds i64, i64* %lnjVH, i32 -1 | |
store i64 %lnjVI, i64* %lnjVJ, !tbaa !2 | |
%lnjVL = load i64, i64* %R1_Var | |
%lnjVK = load i64*, i64** %Hp_Var | |
%lnjVM = getelementptr inbounds i64, i64* %lnjVK, i32 0 | |
store i64 %lnjVL, i64* %lnjVM, !tbaa !2 | |
%lnjVO = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIT_info$def to i64 | |
%lnjVN = load i64*, i64** %Sp_Var | |
%lnjVP = getelementptr inbounds i64, i64* %lnjVN, i32 0 | |
store i64 %lnjVO, i64* %lnjVP, !tbaa !1 | |
store i64 0, i64* %R6_Var | |
%lnjVQ = load i64*, i64** %Sp_Var | |
%lnjVR = getelementptr inbounds i64, i64* %lnjVQ, i32 2 | |
%lnjVS = bitcast i64* %lnjVR to i64* | |
%lnjVT = load i64, i64* %lnjVS, !tbaa !1 | |
store i64 %lnjVT, i64* %lsiKc | |
%lnjVU = load i64, i64* %lsiKc | |
store i64 %lnjVU, i64* %R5_Var | |
%lnjVV = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64 | |
%lnjVW = add i64 %lnjVV, 1 | |
store i64 %lnjVW, i64* %R4_Var | |
%lnjVX = load i64*, i64** %Sp_Var | |
%lnjVY = getelementptr inbounds i64, i64* %lnjVX, i32 4 | |
%lnjVZ = bitcast i64* %lnjVY to i64* | |
%lnjW0 = load i64, i64* %lnjVZ, !tbaa !1 | |
store i64 %lnjW0, i64* %R3_Var | |
%lnjW1 = load i64*, i64** %Sp_Var | |
%lnjW2 = getelementptr inbounds i64, i64* %lnjW1, i32 3 | |
%lnjW3 = bitcast i64* %lnjW2 to i64* | |
%lnjW4 = load i64, i64* %lnjW3, !tbaa !1 | |
store i64 %lnjW4, i64* %R2_Var | |
%lnjW6 = load i64, i64* %lsiKc | |
%lnjW5 = load i64*, i64** %Sp_Var | |
%lnjW7 = getelementptr inbounds i64, i64* %lnjW5, i32 -7 | |
store i64 %lnjW6, i64* %lnjW7, !tbaa !1 | |
%lnjW9 = load i64*, i64** %Sp_Var | |
%lnjWa = getelementptr inbounds i64, i64* %lnjW9, i32 1 | |
%lnjWb = bitcast i64* %lnjWa to i64* | |
%lnjWc = load i64, i64* %lnjWb, !tbaa !1 | |
%lnjWd = add i64 %lnjWc, 16 | |
%lnjW8 = load i64*, i64** %Sp_Var | |
%lnjWe = getelementptr inbounds i64, i64* %lnjW8, i32 -6 | |
store i64 %lnjWd, i64* %lnjWe, !tbaa !1 | |
%lnjWh = load i64*, i64** %Hp_Var | |
%lnjWi = ptrtoint i64* %lnjWh to i64 | |
%lnjWj = add i64 %lnjWi, -7 | |
%lnjWf = load i64*, i64** %Sp_Var | |
%lnjWk = getelementptr inbounds i64, i64* %lnjWf, i32 -5 | |
store i64 %lnjWj, i64* %lnjWk, !tbaa !1 | |
%lnjWm = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64 | |
%lnjWn = add i64 %lnjWm, 2 | |
%lnjWl = load i64*, i64** %Sp_Var | |
%lnjWo = getelementptr inbounds i64, i64* %lnjWl, i32 -4 | |
store i64 %lnjWn, i64* %lnjWo, !tbaa !1 | |
%lnjWq = load i64*, i64** %Sp_Var | |
%lnjWr = getelementptr inbounds i64, i64* %lnjWq, i32 6 | |
%lnjWs = bitcast i64* %lnjWr to i64* | |
%lnjWt = load i64, i64* %lnjWs, !tbaa !1 | |
%lnjWp = load i64*, i64** %Sp_Var | |
%lnjWu = getelementptr inbounds i64, i64* %lnjWp, i32 -3 | |
store i64 %lnjWt, i64* %lnjWu, !tbaa !1 | |
%lnjWv = load i64*, i64** %Sp_Var | |
%lnjWw = getelementptr inbounds i64, i64* %lnjWv, i32 -2 | |
store i64 0, i64* %lnjWw, !tbaa !1 | |
%lnjWx = load i64*, i64** %Sp_Var | |
%lnjWy = getelementptr inbounds i64, i64* %lnjWx, i32 -1 | |
store i64 0, i64* %lnjWy, !tbaa !1 | |
%lnjWz = load i64*, i64** %Sp_Var | |
%lnjWA = getelementptr inbounds i64, i64* %lnjWz, i32 -7 | |
%lnjWB = ptrtoint i64* %lnjWA to i64 | |
%lnjWC = inttoptr i64 %lnjWB to i64* | |
store i64* %lnjWC, i64** %Sp_Var | |
%lnjWD = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjWE = load i64*, i64** %Sp_Var | |
%lnjWF = load i64*, i64** %Hp_Var | |
%lnjWG = load i64, i64* %R1_Var | |
%lnjWH = load i64, i64* %R2_Var | |
%lnjWI = load i64, i64* %R3_Var | |
%lnjWJ = load i64, i64* %R4_Var | |
%lnjWK = load i64, i64* %R5_Var | |
%lnjWL = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjWD( i64* %Base_Arg, i64* %lnjWE, i64* %lnjWF, i64 %lnjWG, i64 %lnjWH, i64 %lnjWI, i64 %lnjWJ, i64 %lnjWK, i64 %lnjWL, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjJ6: | |
%lnjWM = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnjWM, !tbaa !4 | |
%lnjWN = load i64, i64* %R1_Var | |
store i64 %lnjWN, i64* %R1_Var | |
%lnjWO = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjWP = load i64*, i64** %Sp_Var | |
%lnjWQ = load i64*, i64** %Hp_Var | |
%lnjWR = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjWO( i64* %Base_Arg, i64* %lnjWP, i64* %lnjWQ, i64 %lnjWR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjIT_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIT_info$def to i8*) | |
define internal ghccc void @cjIT_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIT_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cjIT: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjWS = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to i64 | |
%lnjWT = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjWS, i64* %lnjWT, !tbaa !1 | |
%lnjWU = load i64, i64* %R1_Var | |
store i64 %lnjWU, i64* %R1_Var | |
%lnjWV = load i64, i64* %R1_Var | |
%lnjWW = and i64 %lnjWV, 7 | |
%lnjWX = icmp ne i64 %lnjWW, 0 | |
br i1 %lnjWX, label %ujKl, label %cjIW | |
cjIW: | |
%lnjWZ = load i64, i64* %R1_Var | |
%lnjX0 = inttoptr i64 %lnjWZ to i64* | |
%lnjX1 = load i64, i64* %lnjX0, !tbaa !3 | |
%lnjX2 = inttoptr i64 %lnjX1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjX3 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjX2( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjX3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujKl: | |
%lnjX4 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjX5 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjX4( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjX5, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjIV_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to i8*) | |
define internal ghccc void @cjIV_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIV_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cjIV: | |
%lsiMI = alloca i64, i32 1 | |
%lsiMK = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjX6 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to i64 | |
%lnjX7 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjX6, i64* %lnjX7, !tbaa !1 | |
%lnjXa = load i64, i64* %R1_Var | |
%lnjXb = add i64 %lnjXa, 7 | |
%lnjXc = inttoptr i64 %lnjXb to i64* | |
%lnjXd = load i64, i64* %lnjXc, !tbaa !3 | |
store i64 %lnjXd, i64* %lsiMI | |
%lnjXg = load i64, i64* %R1_Var | |
%lnjXh = add i64 %lnjXg, 23 | |
%lnjXi = inttoptr i64 %lnjXh to i64* | |
%lnjXj = load i64, i64* %lnjXi, !tbaa !3 | |
store i64 %lnjXj, i64* %lsiMK | |
%lnjXm = load i64, i64* %R1_Var | |
%lnjXn = add i64 %lnjXm, 15 | |
%lnjXo = inttoptr i64 %lnjXn to i64* | |
%lnjXp = load i64, i64* %lnjXo, !tbaa !3 | |
store i64 %lnjXp, i64* %R1_Var | |
%lnjXq = load i64, i64* %lsiMK | |
%lnjXr = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjXq, i64* %lnjXr, !tbaa !1 | |
%lnjXs = load i64, i64* %lsiMI | |
%lnjXt = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjXs, i64* %lnjXt, !tbaa !1 | |
%lnjXu = load i64, i64* %R1_Var | |
%lnjXv = and i64 %lnjXu, 7 | |
%lnjXw = icmp ne i64 %lnjXv, 0 | |
br i1 %lnjXw, label %ujKm, label %cjJ9 | |
cjJ9: | |
%lnjXy = load i64, i64* %R1_Var | |
%lnjXz = inttoptr i64 %lnjXy to i64* | |
%lnjXA = load i64, i64* %lnjXz, !tbaa !3 | |
%lnjXB = inttoptr i64 %lnjXA to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjXC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjXB( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjXC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujKm: | |
%lnjXD = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjXE = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjXD( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjXE, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjJ0_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to i8*) | |
define internal ghccc void @cjJ0_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJ0_info$def to i64)),i64 32), i64 2182, i64 4294967328}> | |
{ | |
cjJ0: | |
%lsiMQ = alloca i64, i32 1 | |
%lsiMN = alloca i64, i32 1 | |
%lsiMM = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjXH = load i64, i64* %R1_Var | |
%lnjXI = add i64 %lnjXH, 39 | |
%lnjXJ = inttoptr i64 %lnjXI to i64* | |
%lnjXK = load i64, i64* %lnjXJ, !tbaa !3 | |
store i64 %lnjXK, i64* %lsiMQ | |
%lnjXL = load i64, i64* %lsiMQ | |
%lnjXO = load i64, i64* %R1_Var | |
%lnjXP = add i64 %lnjXO, 47 | |
%lnjXQ = inttoptr i64 %lnjXP to i64* | |
%lnjXR = load i64, i64* %lnjXQ, !tbaa !3 | |
%lnjXS = icmp eq i64 %lnjXL, %lnjXR | |
%lnjXT = zext i1 %lnjXS to i64 | |
switch i64 %lnjXT, label %cjJl [i64 0, label %cjJl | |
i64 1, label %cjJF] | |
cjJl: | |
%lnjXU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to i64 | |
%lnjXV = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjXU, i64* %lnjXV, !tbaa !1 | |
%lnjXY = load i64, i64* %R1_Var | |
%lnjXZ = add i64 %lnjXY, 7 | |
%lnjY0 = inttoptr i64 %lnjXZ to i64* | |
%lnjY1 = load i64, i64* %lnjY0, !tbaa !3 | |
store i64 %lnjY1, i64* %lsiMN | |
%lnjY4 = load i64, i64* %R1_Var | |
%lnjY5 = add i64 %lnjY4, 23 | |
%lnjY6 = inttoptr i64 %lnjY5 to i64* | |
%lnjY7 = load i64, i64* %lnjY6, !tbaa !3 | |
store i64 %lnjY7, i64* %lsiMM | |
%lnjY8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnjY9 = bitcast i64* %lnjY8 to i64* | |
%lnjYa = load i64, i64* %lnjY9, !tbaa !1 | |
store i64 %lnjYa, i64* %R1_Var | |
%lnjYb = load i64, i64* %lsiMQ | |
%lnjYc = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
store i64 %lnjYb, i64* %lnjYc, !tbaa !1 | |
%lnjYd = load i64, i64* %lsiMN | |
%lnjYe = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
store i64 %lnjYd, i64* %lnjYe, !tbaa !1 | |
%lnjYf = load i64, i64* %lsiMM | |
%lnjYg = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
store i64 %lnjYf, i64* %lnjYg, !tbaa !1 | |
%lnjYh = load i64, i64* %R1_Var | |
%lnjYi = and i64 %lnjYh, 7 | |
%lnjYj = icmp ne i64 %lnjYi, 0 | |
br i1 %lnjYj, label %ujKn, label %cjJm | |
cjJm: | |
%lnjYl = load i64, i64* %R1_Var | |
%lnjYm = inttoptr i64 %lnjYl to i64* | |
%lnjYn = load i64, i64* %lnjYm, !tbaa !3 | |
%lnjYo = inttoptr i64 %lnjYn to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjYp = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYo( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYp, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujKn: | |
%lnjYq = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjYr = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYq( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYr, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjJF: | |
%lnjYs = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to i64 | |
%lnjYt = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjYs, i64* %lnjYt, !tbaa !1 | |
%lnjYu = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnjYv = bitcast i64* %lnjYu to i64* | |
%lnjYw = load i64, i64* %lnjYv, !tbaa !1 | |
store i64 %lnjYw, i64* %R1_Var | |
%lnjYx = load i64, i64* %R1_Var | |
%lnjYy = and i64 %lnjYx, 7 | |
%lnjYz = icmp ne i64 %lnjYy, 0 | |
br i1 %lnjYz, label %ujKo, label %cjJG | |
cjJG: | |
%lnjYB = load i64, i64* %R1_Var | |
%lnjYC = inttoptr i64 %lnjYB to i64* | |
%lnjYD = load i64, i64* %lnjYC, !tbaa !3 | |
%lnjYE = inttoptr i64 %lnjYD to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjYF = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYE( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYF, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujKo: | |
%lnjYG = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjYH = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjYG( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjYH, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjJE_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to i8*) | |
define internal ghccc void @cjJE_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJE_info$def to i64)),i64 32), i64 2950, i64 4294967328}> | |
{ | |
cjJE: | |
%lsiNb = alloca i64, i32 1 | |
%lsiN7 = alloca i64, i32 1 | |
%lsiN6 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lnjYK = load i64, i64* %R1_Var | |
%lnjYL = add i64 %lnjYK, 47 | |
%lnjYM = inttoptr i64 %lnjYL to i64* | |
%lnjYN = load i64, i64* %lnjYM, !tbaa !3 | |
store i64 %lnjYN, i64* %lsiNb | |
%lnjYQ = load i64, i64* %R1_Var | |
%lnjYR = add i64 %lnjYQ, 31 | |
%lnjYS = inttoptr i64 %lnjYR to i64* | |
%lnjYT = load i64, i64* %lnjYS, !tbaa !3 | |
%lnjYU = load i64, i64* %lsiNb | |
%lnjYV = sub i64 %lnjYT, %lnjYU | |
switch i64 %lnjYV, label %cjJV [i64 0, label %cjK3] | |
cjJV: | |
%lnjYY = load i64, i64* %R1_Var | |
%lnjYZ = add i64 %lnjYY, 7 | |
%lnjZ0 = inttoptr i64 %lnjYZ to i64* | |
%lnjZ1 = load i64, i64* %lnjZ0, !tbaa !3 | |
store i64 %lnjZ1, i64* %lsiN7 | |
%lnjZ4 = load i64, i64* %R1_Var | |
%lnjZ5 = add i64 %lnjZ4, 23 | |
%lnjZ6 = inttoptr i64 %lnjZ5 to i64* | |
%lnjZ7 = load i64, i64* %lnjZ6, !tbaa !3 | |
store i64 %lnjZ7, i64* %lsiN6 | |
%lnjZ8 = load i64, i64* %lsiN6 | |
%lnjZ9 = load i64, i64* %lsiNb | |
%lnjZa = add i64 %lnjZ8, %lnjZ9 | |
%lnjZb = inttoptr i64 %lnjZa to i8* | |
store i8 0, i8* %lnjZb, !tbaa !5 | |
%lnjZc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJT_info$def to i64 | |
%lnjZd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjZc, i64* %lnjZd, !tbaa !1 | |
%lnjZe = load i64, i64* %lsiN6 | |
store i64 %lnjZe, i64* %R1_Var | |
%lnjZf = load i64, i64* %lsiN7 | |
%lnjZg = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
store i64 %lnjZf, i64* %lnjZg, !tbaa !1 | |
%lnjZh = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjZi = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZh( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjZi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjK3: | |
%lnjZj = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKa_info$def to i64 | |
%lnjZk = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnjZj, i64* %lnjZk, !tbaa !1 | |
%lnjZl = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
%lnjZm = bitcast i64* %lnjZl to i64* | |
%lnjZn = load i64, i64* %lnjZm, !tbaa !1 | |
%lnjZo = shl i64 %lnjZn, 1 | |
store i64 %lnjZo, i64* %R2_Var | |
%lnjZp = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnjZq = bitcast i64* %lnjZp to i64* | |
%lnjZr = load i64, i64* %lnjZq, !tbaa !1 | |
store i64 %lnjZr, i64* %R1_Var | |
%lnjZs = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjZt = load i64, i64* %R1_Var | |
%lnjZu = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZs( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnjZt, i64 %lnjZu, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjKa_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKa_info$def to i8*) | |
define internal ghccc void @cjKa_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cjKa: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjZv = load i64, i64* %R1_Var | |
store i64 %lnjZv, i64* %R1_Var | |
%lnjZw = load i64*, i64** %Sp_Var | |
%lnjZx = getelementptr inbounds i64, i64* %lnjZw, i32 7 | |
%lnjZy = ptrtoint i64* %lnjZx to i64 | |
%lnjZz = inttoptr i64 %lnjZy to i64* | |
store i64* %lnjZz, i64** %Sp_Var | |
%lnjZA = load i64*, i64** %Sp_Var | |
%lnjZB = getelementptr inbounds i64, i64* %lnjZA, i32 0 | |
%lnjZC = bitcast i64* %lnjZB to i64* | |
%lnjZD = load i64, i64* %lnjZC, !tbaa !1 | |
%lnjZE = inttoptr i64 %lnjZD to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjZF = load i64*, i64** %Sp_Var | |
%lnjZG = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZE( i64* %Base_Arg, i64* %lnjZF, i64* %Hp_Arg, i64 %lnjZG, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjJT_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJT_info$def to i8*) | |
define internal ghccc void @cjJT_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1926, i64 32}> | |
{ | |
cjJT: | |
%lsiMy = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnjZH = load i64*, i64** %Sp_Var | |
%lnjZI = getelementptr inbounds i64, i64* %lnjZH, i32 1 | |
%lnjZJ = bitcast i64* %lnjZI to i64* | |
%lnjZK = load i64, i64* %lnjZJ, !tbaa !1 | |
store i64 %lnjZK, i64* %lsiMy | |
%lnjZL = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnjZM = add i64 %lnjZL, 1 | |
store i64 %lnjZM, i64* %R1_Var | |
%lnjZN = load i64*, i64** %Sp_Var | |
%lnjZO = getelementptr inbounds i64, i64* %lnjZN, i32 7 | |
%lnjZP = ptrtoint i64* %lnjZO to i64 | |
%lnjZQ = inttoptr i64 %lnjZP to i64* | |
store i64* %lnjZQ, i64** %Sp_Var | |
%lnjZR = load i64*, i64** %Sp_Var | |
%lnjZS = getelementptr inbounds i64, i64* %lnjZR, i32 0 | |
%lnjZT = bitcast i64* %lnjZS to i64* | |
%lnjZU = load i64, i64* %lnjZT, !tbaa !1 | |
%lnjZV = inttoptr i64 %lnjZU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnjZW = load i64*, i64** %Sp_Var | |
%lnjZX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnjZV( i64* %Base_Arg, i64* %lnjZW, i64* %Hp_Arg, i64 %lnjZX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjJj_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to i8*) | |
define internal ghccc void @cjJj_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJj_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjJj: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnjZY = load i64, i64* %R1_Var | |
%lnjZZ = and i64 %lnjZY, 7 | |
switch i64 %lnjZZ, label %cjJs [i64 2, label %cjJA] | |
cjJs: | |
%lnk00 = load i64*, i64** %Sp_Var | |
%lnk01 = getelementptr inbounds i64, i64* %lnk00, i32 7 | |
%lnk02 = ptrtoint i64* %lnk01 to i64 | |
%lnk03 = inttoptr i64 %lnk02 to i64* | |
store i64* %lnk03, i64** %Sp_Var | |
%lnk04 = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk05 = load i64*, i64** %Sp_Var | |
%lnk06 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk04( i64* %Base_Arg, i64* %lnk05, i64* %Hp_Arg, i64 %lnk06, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjJA: | |
%lnk08 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJz_info$def to i64 | |
%lnk07 = load i64*, i64** %Sp_Var | |
%lnk09 = getelementptr inbounds i64, i64* %lnk07, i32 0 | |
store i64 %lnk08, i64* %lnk09, !tbaa !1 | |
%lnk0a = load i64*, i64** %Sp_Var | |
%lnk0b = getelementptr inbounds i64, i64* %lnk0a, i32 6 | |
%lnk0c = bitcast i64* %lnk0b to i64* | |
%lnk0d = load i64, i64* %lnk0c, !tbaa !1 | |
%lnk0e = shl i64 %lnk0d, 1 | |
store i64 %lnk0e, i64* %R2_Var | |
%lnk0f = load i64*, i64** %Sp_Var | |
%lnk0g = getelementptr inbounds i64, i64* %lnk0f, i32 5 | |
%lnk0h = bitcast i64* %lnk0g to i64* | |
%lnk0i = load i64, i64* %lnk0h, !tbaa !1 | |
store i64 %lnk0i, i64* %R1_Var | |
%lnk0j = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk0k = load i64*, i64** %Sp_Var | |
%lnk0l = load i64, i64* %R1_Var | |
%lnk0m = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0j( i64* %Base_Arg, i64* %lnk0k, i64* %Hp_Arg, i64 %lnk0l, i64 %lnk0m, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjJz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjJz_info$def to i8*) | |
define internal ghccc void @cjJz_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 3974, i64 32}> | |
{ | |
cjJz: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk0n = load i64, i64* %R1_Var | |
store i64 %lnk0n, i64* %R1_Var | |
%lnk0o = load i64*, i64** %Sp_Var | |
%lnk0p = getelementptr inbounds i64, i64* %lnk0o, i32 7 | |
%lnk0q = ptrtoint i64* %lnk0p to i64 | |
%lnk0r = inttoptr i64 %lnk0q to i64* | |
store i64* %lnk0r, i64** %Sp_Var | |
%lnk0s = load i64*, i64** %Sp_Var | |
%lnk0t = getelementptr inbounds i64, i64* %lnk0s, i32 0 | |
%lnk0u = bitcast i64* %lnk0t to i64* | |
%lnk0v = load i64, i64* %lnk0u, !tbaa !1 | |
%lnk0w = inttoptr i64 %lnk0v to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk0x = load i64*, i64** %Sp_Var | |
%lnk0y = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0w( i64* %Base_Arg, i64* %lnk0x, i64* %Hp_Arg, i64 %lnk0y, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riFG_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFG_info$def to i8*) | |
define internal ghccc void @riFG_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFG_info$def to i64)),i64 32), i64 4294967299, i64 0, i64 416611827727}> | |
{ | |
cjKp: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnk0z = load i64*, i64** %Sp_Var | |
%lnk0A = getelementptr inbounds i64, i64* %lnk0z, i32 -14 | |
%lnk0B = ptrtoint i64* %lnk0A to i64 | |
%lnk0C = icmp ult i64 %lnk0B, %SpLim_Arg | |
br i1 %lnk0C, label %cjKq, label %cjKr | |
cjKr: | |
%lnk0E = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFj_info$def to i64 | |
%lnk0D = load i64*, i64** %Sp_Var | |
%lnk0F = getelementptr inbounds i64, i64* %lnk0D, i32 -1 | |
store i64 %lnk0E, i64* %lnk0F, !tbaa !1 | |
store i64 0, i64* %R3_Var | |
%lnk0G = ptrtoint %riFF_closure_struct* @riFF_closure$def to i64 | |
store i64 %lnk0G, i64* %R2_Var | |
%lnk0H = load i64*, i64** %Sp_Var | |
%lnk0I = getelementptr inbounds i64, i64* %lnk0H, i32 -1 | |
%lnk0J = ptrtoint i64* %lnk0I to i64 | |
%lnk0K = inttoptr i64 %lnk0J to i64* | |
store i64* %lnk0K, i64** %Sp_Var | |
%lnk0L = bitcast i8* @base_GHCziList_zdwlenAcc_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk0M = load i64*, i64** %Sp_Var | |
%lnk0N = load i64, i64* %R1_Var | |
%lnk0O = load i64, i64* %R2_Var | |
%lnk0P = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0L( i64* %Base_Arg, i64* %lnk0M, i64* %Hp_Arg, i64 %lnk0N, i64 %lnk0O, i64 %lnk0P, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjKq: | |
%lnk0Q = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64 | |
store i64 %lnk0Q, i64* %R1_Var | |
%lnk0R = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnk0S = bitcast i64* %lnk0R to i64* | |
%lnk0T = load i64, i64* %lnk0S, !tbaa !4 | |
%lnk0U = inttoptr i64 %lnk0T to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk0V = load i64*, i64** %Sp_Var | |
%lnk0W = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk0U( i64* %Base_Arg, i64* %lnk0V, i64* %Hp_Arg, i64 %lnk0W, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjFj_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFj_info$def to i8*) | |
define internal ghccc void @cjFj_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFj_info$def to i64)),i64 32), i64 0, i64 141733920800}> | |
{ | |
cjFj: | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lsiKc = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk0Y = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFq_info$def to i64 | |
%lnk0X = load i64*, i64** %Sp_Var | |
%lnk0Z = getelementptr inbounds i64, i64* %lnk0X, i32 -1 | |
store i64 %lnk0Y, i64* %lnk0Z, !tbaa !1 | |
store i64 4, i64* %R2_Var | |
%lnk10 = load i64, i64* %R1_Var | |
store i64 %lnk10, i64* %lsiKc | |
%lnk11 = load i64, i64* %R1_Var | |
%lnk12 = shl i64 %lnk11, 2 | |
store i64 %lnk12, i64* %R1_Var | |
%lnk14 = load i64, i64* %lsiKc | |
%lnk13 = load i64*, i64** %Sp_Var | |
%lnk15 = getelementptr inbounds i64, i64* %lnk13, i32 0 | |
store i64 %lnk14, i64* %lnk15, !tbaa !1 | |
%lnk16 = load i64*, i64** %Sp_Var | |
%lnk17 = getelementptr inbounds i64, i64* %lnk16, i32 -1 | |
%lnk18 = ptrtoint i64* %lnk17 to i64 | |
%lnk19 = inttoptr i64 %lnk18 to i64* | |
store i64* %lnk19, i64** %Sp_Var | |
%lnk1a = bitcast i8* @stg_newAlignedPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk1b = load i64*, i64** %Sp_Var | |
%lnk1c = load i64, i64* %R1_Var | |
%lnk1d = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk1a( i64* %Base_Arg, i64* %lnk1b, i64* %Hp_Arg, i64 %lnk1c, i64 %lnk1d, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjFq_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFq_info$def to i8*) | |
define internal ghccc void @cjFq_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjFq_info$def to i64)),i64 32), i64 65, i64 141733920800}> | |
{ | |
cjFq: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiKk = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%lsiKj = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk1e = load i64*, i64** %Hp_Var | |
%lnk1f = getelementptr inbounds i64, i64* %lnk1e, i32 2 | |
%lnk1g = ptrtoint i64* %lnk1f to i64 | |
%lnk1h = inttoptr i64 %lnk1g to i64* | |
store i64* %lnk1h, i64** %Hp_Var | |
%lnk1i = load i64*, i64** %Hp_Var | |
%lnk1j = ptrtoint i64* %lnk1i to i64 | |
%lnk1k = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnk1l = bitcast i64* %lnk1k to i64* | |
%lnk1m = load i64, i64* %lnk1l, !tbaa !4 | |
%lnk1n = icmp ugt i64 %lnk1j, %lnk1m | |
br i1 %lnk1n, label %cjKv, label %cjKu | |
cjKu: | |
%lnk1p = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKl_info$def to i64 | |
%lnk1o = load i64*, i64** %Hp_Var | |
%lnk1q = getelementptr inbounds i64, i64* %lnk1o, i32 -1 | |
store i64 %lnk1p, i64* %lnk1q, !tbaa !2 | |
%lnk1s = load i64, i64* %R1_Var | |
%lnk1t = add i64 %lnk1s, 16 | |
store i64 %lnk1t, i64* %lsiKk | |
%lnk1v = load i64, i64* %lsiKk | |
%lnk1u = load i64*, i64** %Hp_Var | |
%lnk1w = getelementptr inbounds i64, i64* %lnk1u, i32 0 | |
store i64 %lnk1v, i64* %lnk1w, !tbaa !2 | |
%lnk1y = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG5_info$def to i64 | |
%lnk1x = load i64*, i64** %Sp_Var | |
%lnk1z = getelementptr inbounds i64, i64* %lnk1x, i32 -2 | |
store i64 %lnk1y, i64* %lnk1z, !tbaa !1 | |
store i64 0, i64* %R3_Var | |
%lnk1A = ptrtoint %riFF_closure_struct* @riFF_closure$def to i64 | |
store i64 %lnk1A, i64* %R2_Var | |
%lnk1B = load i64, i64* %R1_Var | |
store i64 %lnk1B, i64* %lsiKj | |
%lnk1D = load i64*, i64** %Hp_Var | |
%lnk1E = ptrtoint i64* %lnk1D to i64 | |
%lnk1F = add i64 %lnk1E, -5 | |
store i64 %lnk1F, i64* %R1_Var | |
%lnk1H = load i64, i64* %lsiKk | |
%lnk1G = load i64*, i64** %Sp_Var | |
%lnk1I = getelementptr inbounds i64, i64* %lnk1G, i32 -1 | |
store i64 %lnk1H, i64* %lnk1I, !tbaa !1 | |
%lnk1K = load i64, i64* %lsiKj | |
%lnk1J = load i64*, i64** %Sp_Var | |
%lnk1L = getelementptr inbounds i64, i64* %lnk1J, i32 0 | |
store i64 %lnk1K, i64* %lnk1L, !tbaa !1 | |
%lnk1M = load i64*, i64** %Sp_Var | |
%lnk1N = getelementptr inbounds i64, i64* %lnk1M, i32 -2 | |
%lnk1O = ptrtoint i64* %lnk1N to i64 | |
%lnk1P = inttoptr i64 %lnk1O to i64* | |
store i64* %lnk1P, i64** %Sp_Var | |
%lnk1Q = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siKl_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk1R = load i64*, i64** %Sp_Var | |
%lnk1S = load i64*, i64** %Hp_Var | |
%lnk1T = load i64, i64* %R1_Var | |
%lnk1U = load i64, i64* %R2_Var | |
%lnk1V = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk1Q( i64* %Base_Arg, i64* %lnk1R, i64* %lnk1S, i64 %lnk1T, i64 %lnk1U, i64 %lnk1V, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjKv: | |
%lnk1W = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnk1W, !tbaa !4 | |
%lnk1X = load i64, i64* %R1_Var | |
store i64 %lnk1X, i64* %R1_Var | |
%lnk1Y = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk1Z = load i64*, i64** %Sp_Var | |
%lnk20 = load i64*, i64** %Hp_Var | |
%lnk21 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk1Y( i64* %Base_Arg, i64* %lnk1Z, i64* %lnk20, i64 %lnk21, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjG5_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG5_info$def to i8*) | |
define internal ghccc void @cjG5_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG5_info$def to i64)),i64 32), i64 323, i64 4294967328}> | |
{ | |
cjG5: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnk22 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG7_info$def to i64 | |
%lnk23 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnk22, i64* %lnk23, !tbaa !1 | |
%lnk24 = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnk25 = add i64 %lnk24, 1 | |
store i64 %lnk25, i64* %R1_Var | |
%lnk26 = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk27 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk26( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk27, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjG7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG7_info$def to i8*) | |
define internal ghccc void @cjG7_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjG7_info$def to i64)),i64 32), i64 323, i64 4294967328}> | |
{ | |
cjG7: | |
%lsiKB = alloca i64, i32 1 | |
%lsiKC = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk29 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGc_info$def to i64 | |
%lnk28 = load i64*, i64** %Sp_Var | |
%lnk2a = getelementptr inbounds i64, i64* %lnk28, i32 -2 | |
store i64 %lnk29, i64* %lnk2a, !tbaa !1 | |
%lnk2b = load i64, i64* %R1_Var | |
store i64 %lnk2b, i64* %lsiKB | |
%lnk2c = load i64*, i64** %Sp_Var | |
%lnk2d = getelementptr inbounds i64, i64* %lnk2c, i32 3 | |
%lnk2e = bitcast i64* %lnk2d to i64* | |
%lnk2f = load i64, i64* %lnk2e, !tbaa !1 | |
%lnk2g = add i64 %lnk2f, 1 | |
store i64 %lnk2g, i64* %lsiKC | |
%lnk2h = load i64, i64* %lsiKC | |
store i64 %lnk2h, i64* %R1_Var | |
%lnk2j = load i64, i64* %lsiKC | |
%lnk2i = load i64*, i64** %Sp_Var | |
%lnk2k = getelementptr inbounds i64, i64* %lnk2i, i32 -1 | |
store i64 %lnk2j, i64* %lnk2k, !tbaa !1 | |
%lnk2m = load i64, i64* %lsiKB | |
%lnk2l = load i64*, i64** %Sp_Var | |
%lnk2n = getelementptr inbounds i64, i64* %lnk2l, i32 0 | |
store i64 %lnk2m, i64* %lnk2n, !tbaa !1 | |
%lnk2o = load i64*, i64** %Sp_Var | |
%lnk2p = getelementptr inbounds i64, i64* %lnk2o, i32 -2 | |
%lnk2q = ptrtoint i64* %lnk2p to i64 | |
%lnk2r = inttoptr i64 %lnk2q to i64* | |
store i64* %lnk2r, i64** %Sp_Var | |
%lnk2s = bitcast i8* @stg_newPinnedByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk2t = load i64*, i64** %Sp_Var | |
%lnk2u = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk2s( i64* %Base_Arg, i64* %lnk2t, i64* %Hp_Arg, i64 %lnk2u, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGc_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGc_info$def to i8*) | |
define internal ghccc void @cjGc_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGc_info$def to i64)),i64 32), i64 1349, i64 4294967328}> | |
{ | |
cjGc: | |
%lsiKI = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk2w = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGe_info$def to i64 | |
%lnk2v = load i64*, i64** %Sp_Var | |
%lnk2x = getelementptr inbounds i64, i64* %lnk2v, i32 -1 | |
store i64 %lnk2w, i64* %lnk2x, !tbaa !1 | |
%lnk2y = load i64, i64* %R1_Var | |
store i64 %lnk2y, i64* %lsiKI | |
%lnk2z = ptrtoint i8* @base_GHCziForeignPtr_NoFinalizzers_closure to i64 | |
%lnk2A = add i64 %lnk2z, 1 | |
store i64 %lnk2A, i64* %R1_Var | |
%lnk2C = load i64, i64* %lsiKI | |
%lnk2B = load i64*, i64** %Sp_Var | |
%lnk2D = getelementptr inbounds i64, i64* %lnk2B, i32 0 | |
store i64 %lnk2C, i64* %lnk2D, !tbaa !1 | |
%lnk2E = load i64*, i64** %Sp_Var | |
%lnk2F = getelementptr inbounds i64, i64* %lnk2E, i32 -1 | |
%lnk2G = ptrtoint i64* %lnk2F to i64 | |
%lnk2H = inttoptr i64 %lnk2G to i64* | |
store i64* %lnk2H, i64** %Sp_Var | |
%lnk2I = bitcast i8* @stg_newMutVarzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk2J = load i64*, i64** %Sp_Var | |
%lnk2K = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk2I( i64* %Base_Arg, i64* %lnk2J, i64* %Hp_Arg, i64 %lnk2K, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGe_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGe_info$def to i8*) | |
define internal ghccc void @cjGe_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGe_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjGe: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%lsiKc = alloca i64, i32 1 | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%lcjGg = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnk2L = load i64*, i64** %Hp_Var | |
%lnk2M = getelementptr inbounds i64, i64* %lnk2L, i32 4 | |
%lnk2N = ptrtoint i64* %lnk2M to i64 | |
%lnk2O = inttoptr i64 %lnk2N to i64* | |
store i64* %lnk2O, i64** %Hp_Var | |
%lnk2P = load i64*, i64** %Hp_Var | |
%lnk2Q = ptrtoint i64* %lnk2P to i64 | |
%lnk2R = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnk2S = bitcast i64* %lnk2R to i64* | |
%lnk2T = load i64, i64* %lnk2S, !tbaa !4 | |
%lnk2U = icmp ugt i64 %lnk2Q, %lnk2T | |
br i1 %lnk2U, label %cjKB, label %cjKA | |
cjKA: | |
%lnk2W = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnk2V = load i64*, i64** %Hp_Var | |
%lnk2X = getelementptr inbounds i64, i64* %lnk2V, i32 -3 | |
store i64 %lnk2W, i64* %lnk2X, !tbaa !2 | |
%lnk2Z = load i64*, i64** %Sp_Var | |
%lnk30 = getelementptr inbounds i64, i64* %lnk2Z, i32 3 | |
%lnk31 = bitcast i64* %lnk30 to i64* | |
%lnk32 = load i64, i64* %lnk31, !tbaa !1 | |
%lnk2Y = load i64*, i64** %Hp_Var | |
%lnk33 = getelementptr inbounds i64, i64* %lnk2Y, i32 -2 | |
store i64 %lnk32, i64* %lnk33, !tbaa !2 | |
%lnk35 = ptrtoint i8* @base_GHCziForeignPtr_PlainForeignPtr_con_info to i64 | |
%lnk34 = load i64*, i64** %Hp_Var | |
%lnk36 = getelementptr inbounds i64, i64* %lnk34, i32 -1 | |
store i64 %lnk35, i64* %lnk36, !tbaa !2 | |
%lnk38 = load i64, i64* %R1_Var | |
%lnk37 = load i64*, i64** %Hp_Var | |
%lnk39 = getelementptr inbounds i64, i64* %lnk37, i32 0 | |
store i64 %lnk38, i64* %lnk39, !tbaa !2 | |
%lnk3b = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGl_info$def to i64 | |
%lnk3a = load i64*, i64** %Sp_Var | |
%lnk3c = getelementptr inbounds i64, i64* %lnk3a, i32 0 | |
store i64 %lnk3b, i64* %lnk3c, !tbaa !1 | |
store i64 0, i64* %R6_Var | |
%lnk3d = load i64*, i64** %Sp_Var | |
%lnk3e = getelementptr inbounds i64, i64* %lnk3d, i32 6 | |
%lnk3f = bitcast i64* %lnk3e to i64* | |
%lnk3g = load i64, i64* %lnk3f, !tbaa !1 | |
store i64 %lnk3g, i64* %lsiKc | |
%lnk3h = load i64, i64* %lsiKc | |
store i64 %lnk3h, i64* %R5_Var | |
%lnk3i = ptrtoint i8* @base_GHCziIOziBuffer_ReadBuffer_closure to i64 | |
%lnk3j = add i64 %lnk3i, 1 | |
store i64 %lnk3j, i64* %R4_Var | |
%lnk3l = load i64*, i64** %Hp_Var | |
%lnk3m = ptrtoint i64* %lnk3l to i64 | |
%lnk3n = add i64 %lnk3m, -23 | |
store i64 %lnk3n, i64* %lcjGg | |
%lnk3o = load i64, i64* %lcjGg | |
store i64 %lnk3o, i64* %R3_Var | |
%lnk3p = load i64*, i64** %Sp_Var | |
%lnk3q = getelementptr inbounds i64, i64* %lnk3p, i32 4 | |
%lnk3r = bitcast i64* %lnk3q to i64* | |
%lnk3s = load i64, i64* %lnk3r, !tbaa !1 | |
store i64 %lnk3s, i64* %R2_Var | |
%lnk3u = load i64, i64* %lsiKc | |
%lnk3t = load i64*, i64** %Sp_Var | |
%lnk3v = getelementptr inbounds i64, i64* %lnk3t, i32 -7 | |
store i64 %lnk3u, i64* %lnk3v, !tbaa !1 | |
%lnk3x = load i64*, i64** %Sp_Var | |
%lnk3y = getelementptr inbounds i64, i64* %lnk3x, i32 1 | |
%lnk3z = bitcast i64* %lnk3y to i64* | |
%lnk3A = load i64, i64* %lnk3z, !tbaa !1 | |
%lnk3B = add i64 %lnk3A, 16 | |
%lnk3w = load i64*, i64** %Sp_Var | |
%lnk3C = getelementptr inbounds i64, i64* %lnk3w, i32 -6 | |
store i64 %lnk3B, i64* %lnk3C, !tbaa !1 | |
%lnk3F = load i64*, i64** %Hp_Var | |
%lnk3G = ptrtoint i64* %lnk3F to i64 | |
%lnk3H = add i64 %lnk3G, -7 | |
%lnk3D = load i64*, i64** %Sp_Var | |
%lnk3I = getelementptr inbounds i64, i64* %lnk3D, i32 -5 | |
store i64 %lnk3H, i64* %lnk3I, !tbaa !1 | |
%lnk3K = ptrtoint i8* @base_GHCziIOziBuffer_WriteBuffer_closure to i64 | |
%lnk3L = add i64 %lnk3K, 2 | |
%lnk3J = load i64*, i64** %Sp_Var | |
%lnk3M = getelementptr inbounds i64, i64* %lnk3J, i32 -4 | |
store i64 %lnk3L, i64* %lnk3M, !tbaa !1 | |
%lnk3O = load i64*, i64** %Sp_Var | |
%lnk3P = getelementptr inbounds i64, i64* %lnk3O, i32 2 | |
%lnk3Q = bitcast i64* %lnk3P to i64* | |
%lnk3R = load i64, i64* %lnk3Q, !tbaa !1 | |
%lnk3N = load i64*, i64** %Sp_Var | |
%lnk3S = getelementptr inbounds i64, i64* %lnk3N, i32 -3 | |
store i64 %lnk3R, i64* %lnk3S, !tbaa !1 | |
%lnk3T = load i64*, i64** %Sp_Var | |
%lnk3U = getelementptr inbounds i64, i64* %lnk3T, i32 -2 | |
store i64 0, i64* %lnk3U, !tbaa !1 | |
%lnk3V = load i64*, i64** %Sp_Var | |
%lnk3W = getelementptr inbounds i64, i64* %lnk3V, i32 -1 | |
store i64 0, i64* %lnk3W, !tbaa !1 | |
%lnk3Y = load i64, i64* %lcjGg | |
%lnk3X = load i64*, i64** %Sp_Var | |
%lnk3Z = getelementptr inbounds i64, i64* %lnk3X, i32 3 | |
store i64 %lnk3Y, i64* %lnk3Z, !tbaa !1 | |
%lnk40 = load i64*, i64** %Sp_Var | |
%lnk41 = getelementptr inbounds i64, i64* %lnk40, i32 -7 | |
%lnk42 = ptrtoint i64* %lnk41 to i64 | |
%lnk43 = inttoptr i64 %lnk42 to i64* | |
store i64* %lnk43, i64** %Sp_Var | |
%lnk44 = bitcast i8* @base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk45 = load i64*, i64** %Sp_Var | |
%lnk46 = load i64*, i64** %Hp_Var | |
%lnk47 = load i64, i64* %R1_Var | |
%lnk48 = load i64, i64* %R2_Var | |
%lnk49 = load i64, i64* %R3_Var | |
%lnk4a = load i64, i64* %R4_Var | |
%lnk4b = load i64, i64* %R5_Var | |
%lnk4c = load i64, i64* %R6_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk44( i64* %Base_Arg, i64* %lnk45, i64* %lnk46, i64 %lnk47, i64 %lnk48, i64 %lnk49, i64 %lnk4a, i64 %lnk4b, i64 %lnk4c, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjKB: | |
%lnk4d = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 32, i64* %lnk4d, !tbaa !4 | |
%lnk4e = load i64, i64* %R1_Var | |
store i64 %lnk4e, i64* %R1_Var | |
%lnk4f = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk4g = load i64*, i64** %Sp_Var | |
%lnk4h = load i64*, i64** %Hp_Var | |
%lnk4i = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk4f( i64* %Base_Arg, i64* %lnk4g, i64* %lnk4h, i64 %lnk4i, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGl_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGl_info$def to i8*) | |
define internal ghccc void @cjGl_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGl_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjGl: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnk4j = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to i64 | |
%lnk4k = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnk4j, i64* %lnk4k, !tbaa !1 | |
%lnk4l = load i64, i64* %R1_Var | |
store i64 %lnk4l, i64* %R1_Var | |
%lnk4m = load i64, i64* %R1_Var | |
%lnk4n = and i64 %lnk4m, 7 | |
%lnk4o = icmp ne i64 %lnk4n, 0 | |
br i1 %lnk4o, label %ujLD, label %cjGo | |
cjGo: | |
%lnk4q = load i64, i64* %R1_Var | |
%lnk4r = inttoptr i64 %lnk4q to i64* | |
%lnk4s = load i64, i64* %lnk4r, !tbaa !3 | |
%lnk4t = inttoptr i64 %lnk4s to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk4u = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk4t( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk4u, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujLD: | |
%lnk4v = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk4w = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk4v( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk4w, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to i8*) | |
define internal ghccc void @cjGn_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGn_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjGn: | |
%lsiKT = alloca i64, i32 1 | |
%lsiKV = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk4y = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to i64 | |
%lnk4x = load i64*, i64** %Sp_Var | |
%lnk4z = getelementptr inbounds i64, i64* %lnk4x, i32 -2 | |
store i64 %lnk4y, i64* %lnk4z, !tbaa !1 | |
%lnk4C = load i64, i64* %R1_Var | |
%lnk4D = add i64 %lnk4C, 7 | |
%lnk4E = inttoptr i64 %lnk4D to i64* | |
%lnk4F = load i64, i64* %lnk4E, !tbaa !3 | |
store i64 %lnk4F, i64* %lsiKT | |
%lnk4I = load i64, i64* %R1_Var | |
%lnk4J = add i64 %lnk4I, 23 | |
%lnk4K = inttoptr i64 %lnk4J to i64* | |
%lnk4L = load i64, i64* %lnk4K, !tbaa !3 | |
store i64 %lnk4L, i64* %lsiKV | |
%lnk4O = load i64, i64* %R1_Var | |
%lnk4P = add i64 %lnk4O, 15 | |
%lnk4Q = inttoptr i64 %lnk4P to i64* | |
%lnk4R = load i64, i64* %lnk4Q, !tbaa !3 | |
store i64 %lnk4R, i64* %R1_Var | |
%lnk4T = load i64, i64* %lsiKV | |
%lnk4S = load i64*, i64** %Sp_Var | |
%lnk4U = getelementptr inbounds i64, i64* %lnk4S, i32 -1 | |
store i64 %lnk4T, i64* %lnk4U, !tbaa !1 | |
%lnk4W = load i64, i64* %lsiKT | |
%lnk4V = load i64*, i64** %Sp_Var | |
%lnk4X = getelementptr inbounds i64, i64* %lnk4V, i32 0 | |
store i64 %lnk4W, i64* %lnk4X, !tbaa !1 | |
%lnk4Y = load i64*, i64** %Sp_Var | |
%lnk4Z = getelementptr inbounds i64, i64* %lnk4Y, i32 -2 | |
%lnk50 = ptrtoint i64* %lnk4Z to i64 | |
%lnk51 = inttoptr i64 %lnk50 to i64* | |
store i64* %lnk51, i64** %Sp_Var | |
%lnk52 = load i64, i64* %R1_Var | |
%lnk53 = and i64 %lnk52, 7 | |
%lnk54 = icmp ne i64 %lnk53, 0 | |
br i1 %lnk54, label %ujLE, label %cjGt | |
cjGt: | |
%lnk56 = load i64, i64* %R1_Var | |
%lnk57 = inttoptr i64 %lnk56 to i64* | |
%lnk58 = load i64, i64* %lnk57, !tbaa !3 | |
%lnk59 = inttoptr i64 %lnk58 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk5a = load i64*, i64** %Sp_Var | |
%lnk5b = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk59( i64* %Base_Arg, i64* %lnk5a, i64* %Hp_Arg, i64 %lnk5b, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujLE: | |
%lnk5c = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk5d = load i64*, i64** %Sp_Var | |
%lnk5e = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk5c( i64* %Base_Arg, i64* %lnk5d, i64* %Hp_Arg, i64 %lnk5e, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGs_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to i8*) | |
define internal ghccc void @cjGs_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGs_info$def to i64)),i64 32), i64 10760, i64 4294967328}> | |
{ | |
cjGs: | |
%lsiL1 = alloca i64, i32 1 | |
%lsiKY = alloca i64, i32 1 | |
%lsiKX = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk5h = load i64, i64* %R1_Var | |
%lnk5i = add i64 %lnk5h, 39 | |
%lnk5j = inttoptr i64 %lnk5i to i64* | |
%lnk5k = load i64, i64* %lnk5j, !tbaa !3 | |
store i64 %lnk5k, i64* %lsiL1 | |
%lnk5l = load i64, i64* %lsiL1 | |
%lnk5o = load i64, i64* %R1_Var | |
%lnk5p = add i64 %lnk5o, 47 | |
%lnk5q = inttoptr i64 %lnk5p to i64* | |
%lnk5r = load i64, i64* %lnk5q, !tbaa !3 | |
%lnk5s = icmp eq i64 %lnk5l, %lnk5r | |
%lnk5t = zext i1 %lnk5s to i64 | |
switch i64 %lnk5t, label %cjKG [i64 0, label %cjKG | |
i64 1, label %cjKV] | |
cjKG: | |
%lnk5v = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to i64 | |
%lnk5u = load i64*, i64** %Sp_Var | |
%lnk5w = getelementptr inbounds i64, i64* %lnk5u, i32 -1 | |
store i64 %lnk5v, i64* %lnk5w, !tbaa !1 | |
%lnk5z = load i64, i64* %R1_Var | |
%lnk5A = add i64 %lnk5z, 7 | |
%lnk5B = inttoptr i64 %lnk5A to i64* | |
%lnk5C = load i64, i64* %lnk5B, !tbaa !3 | |
store i64 %lnk5C, i64* %lsiKY | |
%lnk5F = load i64, i64* %R1_Var | |
%lnk5G = add i64 %lnk5F, 23 | |
%lnk5H = inttoptr i64 %lnk5G to i64* | |
%lnk5I = load i64, i64* %lnk5H, !tbaa !3 | |
store i64 %lnk5I, i64* %lsiKX | |
%lnk5J = load i64*, i64** %Sp_Var | |
%lnk5K = getelementptr inbounds i64, i64* %lnk5J, i32 2 | |
%lnk5L = bitcast i64* %lnk5K to i64* | |
%lnk5M = load i64, i64* %lnk5L, !tbaa !1 | |
store i64 %lnk5M, i64* %R1_Var | |
%lnk5O = load i64, i64* %lsiL1 | |
%lnk5N = load i64*, i64** %Sp_Var | |
%lnk5P = getelementptr inbounds i64, i64* %lnk5N, i32 0 | |
store i64 %lnk5O, i64* %lnk5P, !tbaa !1 | |
%lnk5R = load i64, i64* %lsiKY | |
%lnk5Q = load i64*, i64** %Sp_Var | |
%lnk5S = getelementptr inbounds i64, i64* %lnk5Q, i32 1 | |
store i64 %lnk5R, i64* %lnk5S, !tbaa !1 | |
%lnk5U = load i64, i64* %lsiKX | |
%lnk5T = load i64*, i64** %Sp_Var | |
%lnk5V = getelementptr inbounds i64, i64* %lnk5T, i32 2 | |
store i64 %lnk5U, i64* %lnk5V, !tbaa !1 | |
%lnk5W = load i64*, i64** %Sp_Var | |
%lnk5X = getelementptr inbounds i64, i64* %lnk5W, i32 -1 | |
%lnk5Y = ptrtoint i64* %lnk5X to i64 | |
%lnk5Z = inttoptr i64 %lnk5Y to i64* | |
store i64* %lnk5Z, i64** %Sp_Var | |
%lnk60 = load i64, i64* %R1_Var | |
%lnk61 = and i64 %lnk60, 7 | |
%lnk62 = icmp ne i64 %lnk61, 0 | |
br i1 %lnk62, label %ujLF, label %cjGD | |
cjGD: | |
%lnk64 = load i64, i64* %R1_Var | |
%lnk65 = inttoptr i64 %lnk64 to i64* | |
%lnk66 = load i64, i64* %lnk65, !tbaa !3 | |
%lnk67 = inttoptr i64 %lnk66 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk68 = load i64*, i64** %Sp_Var | |
%lnk69 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk67( i64* %Base_Arg, i64* %lnk68, i64* %Hp_Arg, i64 %lnk69, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujLF: | |
%lnk6a = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk6b = load i64*, i64** %Sp_Var | |
%lnk6c = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk6a( i64* %Base_Arg, i64* %lnk6b, i64* %Hp_Arg, i64 %lnk6c, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjKV: | |
%lnk6e = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to i64 | |
%lnk6d = load i64*, i64** %Sp_Var | |
%lnk6f = getelementptr inbounds i64, i64* %lnk6d, i32 2 | |
store i64 %lnk6e, i64* %lnk6f, !tbaa !1 | |
%lnk6g = load i64*, i64** %Sp_Var | |
%lnk6h = getelementptr inbounds i64, i64* %lnk6g, i32 1 | |
%lnk6i = bitcast i64* %lnk6h to i64* | |
%lnk6j = load i64, i64* %lnk6i, !tbaa !1 | |
store i64 %lnk6j, i64* %R1_Var | |
%lnk6k = load i64*, i64** %Sp_Var | |
%lnk6l = getelementptr inbounds i64, i64* %lnk6k, i32 2 | |
%lnk6m = ptrtoint i64* %lnk6l to i64 | |
%lnk6n = inttoptr i64 %lnk6m to i64* | |
store i64* %lnk6n, i64** %Sp_Var | |
%lnk6o = load i64, i64* %R1_Var | |
%lnk6p = and i64 %lnk6o, 7 | |
%lnk6q = icmp ne i64 %lnk6p, 0 | |
br i1 %lnk6q, label %ujLG, label %cjIu | |
cjIu: | |
%lnk6s = load i64, i64* %R1_Var | |
%lnk6t = inttoptr i64 %lnk6s to i64* | |
%lnk6u = load i64, i64* %lnk6t, !tbaa !3 | |
%lnk6v = inttoptr i64 %lnk6u to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk6w = load i64*, i64** %Sp_Var | |
%lnk6x = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk6v( i64* %Base_Arg, i64* %lnk6w, i64* %Hp_Arg, i64 %lnk6x, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujLG: | |
%lnk6y = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk6z = load i64*, i64** %Sp_Var | |
%lnk6A = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk6y( i64* %Base_Arg, i64* %lnk6z, i64* %Hp_Arg, i64 %lnk6A, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjIt_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to i8*) | |
define internal ghccc void @cjIt_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIt_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjIt: | |
%lsiMj = alloca i64, i32 1 | |
%lsiMk = alloca i64, i32 1 | |
%lsiMf = alloca i64, i32 1 | |
%lsiMe = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnk6D = load i64, i64* %R1_Var | |
%lnk6E = add i64 %lnk6D, 47 | |
%lnk6F = inttoptr i64 %lnk6E to i64* | |
%lnk6G = load i64, i64* %lnk6F, !tbaa !3 | |
store i64 %lnk6G, i64* %lsiMj | |
%lnk6J = load i64, i64* %R1_Var | |
%lnk6K = add i64 %lnk6J, 31 | |
%lnk6L = inttoptr i64 %lnk6K to i64* | |
%lnk6M = load i64, i64* %lnk6L, !tbaa !3 | |
%lnk6N = load i64, i64* %lsiMj | |
%lnk6O = sub i64 %lnk6M, %lnk6N | |
store i64 %lnk6O, i64* %lsiMk | |
%lnk6P = load i64, i64* %lsiMk | |
switch i64 %lnk6P, label %cjL4 [i64 0, label %ujLB] | |
cjL4: | |
%lnk6S = load i64, i64* %R1_Var | |
%lnk6T = add i64 %lnk6S, 7 | |
%lnk6U = inttoptr i64 %lnk6T to i64* | |
%lnk6V = load i64, i64* %lnk6U, !tbaa !3 | |
store i64 %lnk6V, i64* %lsiMf | |
%lnk6Y = load i64, i64* %R1_Var | |
%lnk6Z = add i64 %lnk6Y, 23 | |
%lnk70 = inttoptr i64 %lnk6Z to i64* | |
%lnk71 = load i64, i64* %lnk70, !tbaa !3 | |
store i64 %lnk71, i64* %lsiMe | |
%lnk72 = load i64, i64* %lsiMe | |
%lnk73 = load i64, i64* %lsiMj | |
%lnk74 = add i64 %lnk72, %lnk73 | |
%lnk75 = inttoptr i64 %lnk74 to i8* | |
store i8 0, i8* %lnk75, !tbaa !5 | |
%lnk76 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjL2_info$def to i64 | |
%lnk77 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnk76, i64* %lnk77, !tbaa !1 | |
%lnk78 = load i64, i64* %lsiMe | |
store i64 %lnk78, i64* %R1_Var | |
%lnk79 = load i64, i64* %lsiMf | |
%lnk7a = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
store i64 %lnk79, i64* %lnk7a, !tbaa !1 | |
%lnk7b = bitcast i8* @stg_traceEventzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk7c = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk7b( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk7c, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ujLB: | |
%lnk7d = load i64, i64* %lsiMk | |
%lnk7e = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnk7d, i64* %lnk7e, !tbaa !1 | |
%lnk7f = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjID_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk7g = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk7f( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnk7g, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjID_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjID_entry$def to i8*) | |
define internal ghccc void @cjID_entry$def(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) align 8 nounwind | |
{ | |
cjID: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lsiMk = alloca i64, i32 1 | |
%lnk7h = load i64*, i64** %Hp_Var | |
%lnk7i = getelementptr inbounds i64, i64* %lnk7h, i32 4 | |
%lnk7j = ptrtoint i64* %lnk7i to i64 | |
%lnk7k = inttoptr i64 %lnk7j to i64* | |
store i64* %lnk7k, i64** %Hp_Var | |
%lnk7l = load i64*, i64** %Hp_Var | |
%lnk7m = ptrtoint i64* %lnk7l to i64 | |
%lnk7n = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnk7o = bitcast i64* %lnk7n to i64* | |
%lnk7p = load i64, i64* %lnk7o, !tbaa !4 | |
%lnk7q = icmp ugt i64 %lnk7m, %lnk7p | |
br i1 %lnk7q, label %cjLd, label %cjLc | |
cjLc: | |
%lnk7s = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to i64 | |
%lnk7r = load i64*, i64** %Hp_Var | |
%lnk7t = getelementptr inbounds i64, i64* %lnk7r, i32 -3 | |
store i64 %lnk7s, i64* %lnk7t, !tbaa !2 | |
%lnk7v = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnk7w = bitcast i64* %lnk7v to i64* | |
%lnk7x = load i64, i64* %lnk7w, !tbaa !1 | |
%lnk7u = load i64*, i64** %Hp_Var | |
%lnk7y = getelementptr inbounds i64, i64* %lnk7u, i32 -2 | |
store i64 %lnk7x, i64* %lnk7y, !tbaa !2 | |
%lnk7A = getelementptr inbounds i64, i64* %Sp_Arg, i32 6 | |
%lnk7B = bitcast i64* %lnk7A to i64* | |
%lnk7C = load i64, i64* %lnk7B, !tbaa !1 | |
%lnk7z = load i64*, i64** %Hp_Var | |
%lnk7D = getelementptr inbounds i64, i64* %lnk7z, i32 -1 | |
store i64 %lnk7C, i64* %lnk7D, !tbaa !2 | |
%lnk7F = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnk7G = bitcast i64* %lnk7F to i64* | |
%lnk7H = load i64, i64* %lnk7G, !tbaa !1 | |
%lnk7E = load i64*, i64** %Hp_Var | |
%lnk7I = getelementptr inbounds i64, i64* %lnk7E, i32 0 | |
store i64 %lnk7H, i64* %lnk7I, !tbaa !2 | |
%lnk7J = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjLh_info$def to i64 | |
%lnk7K = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnk7J, i64* %lnk7K, !tbaa !1 | |
%lnk7L = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
%lnk7M = bitcast i64* %lnk7L to i64* | |
%lnk7N = load i64, i64* %lnk7M, !tbaa !1 | |
%lnk7O = shl i64 %lnk7N, 1 | |
store i64 %lnk7O, i64* %R2_Var | |
%lnk7Q = load i64*, i64** %Hp_Var | |
%lnk7R = ptrtoint i64* %lnk7Q to i64 | |
%lnk7S = add i64 %lnk7R, -22 | |
store i64 %lnk7S, i64* %R1_Var | |
%lnk7T = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siMq_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk7U = load i64*, i64** %Hp_Var | |
%lnk7V = load i64, i64* %R1_Var | |
%lnk7W = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk7T( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnk7U, i64 %lnk7V, i64 %lnk7W, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjLd: | |
%lnk7X = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 32, i64* %lnk7X, !tbaa !4 | |
%lnk7Y = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
%lnk7Z = bitcast i64* %lnk7Y to i64* | |
%lnk80 = load i64, i64* %lnk7Z, !tbaa !1 | |
store i64 %lnk80, i64* %lsiMk | |
%lnk81 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIC_info$def to i64 | |
%lnk82 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnk81, i64* %lnk82, !tbaa !1 | |
%lnk83 = load i64, i64* %lsiMk | |
store i64 %lnk83, i64* %R1_Var | |
%lnk84 = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk85 = load i64*, i64** %Hp_Var | |
%lnk86 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk84( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnk85, i64 %lnk86, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjIC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIC_info$def to i8*) | |
define internal ghccc void @cjIC_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjIC_info$def to i64)),i64 32), i64 2694, i64 4294967328}> | |
{ | |
cjIC: | |
%lnk87 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %R1_Arg, i64* %lnk87, !tbaa !1 | |
%lnk88 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjID_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk88( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjLh_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjLh_info$def to i8*) | |
define internal ghccc void @cjLh_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}> | |
{ | |
cjLh: | |
%lsiKj = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk89 = load i64*, i64** %Sp_Var | |
%lnk8a = getelementptr inbounds i64, i64* %lnk89, i32 5 | |
%lnk8b = bitcast i64* %lnk8a to i64* | |
%lnk8c = load i64, i64* %lnk8b, !tbaa !1 | |
store i64 %lnk8c, i64* %lsiKj | |
%lnk8d = load i64, i64* %R1_Var | |
store i64 %lnk8d, i64* %R1_Var | |
%lnk8e = load i64*, i64** %Sp_Var | |
%lnk8f = getelementptr inbounds i64, i64* %lnk8e, i32 7 | |
%lnk8g = ptrtoint i64* %lnk8f to i64 | |
%lnk8h = inttoptr i64 %lnk8g to i64* | |
store i64* %lnk8h, i64** %Sp_Var | |
%lnk8i = load i64*, i64** %Sp_Var | |
%lnk8j = getelementptr inbounds i64, i64* %lnk8i, i32 0 | |
%lnk8k = bitcast i64* %lnk8j to i64* | |
%lnk8l = load i64, i64* %lnk8k, !tbaa !1 | |
%lnk8m = inttoptr i64 %lnk8l to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk8n = load i64*, i64** %Sp_Var | |
%lnk8o = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk8m( i64* %Base_Arg, i64* %lnk8n, i64* %Hp_Arg, i64 %lnk8o, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjL2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjL2_info$def to i8*) | |
define internal ghccc void @cjL2_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 902, i64 32}> | |
{ | |
cjL2: | |
%lsiKj = alloca i64, i32 1 | |
%lsiKI = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk8p = load i64*, i64** %Sp_Var | |
%lnk8q = getelementptr inbounds i64, i64* %lnk8p, i32 5 | |
%lnk8r = bitcast i64* %lnk8q to i64* | |
%lnk8s = load i64, i64* %lnk8r, !tbaa !1 | |
store i64 %lnk8s, i64* %lsiKj | |
%lnk8t = load i64*, i64** %Sp_Var | |
%lnk8u = getelementptr inbounds i64, i64* %lnk8t, i32 1 | |
%lnk8v = bitcast i64* %lnk8u to i64* | |
%lnk8w = load i64, i64* %lnk8v, !tbaa !1 | |
store i64 %lnk8w, i64* %lsiKI | |
%lnk8x = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnk8y = add i64 %lnk8x, 1 | |
store i64 %lnk8y, i64* %R1_Var | |
%lnk8z = load i64*, i64** %Sp_Var | |
%lnk8A = getelementptr inbounds i64, i64* %lnk8z, i32 7 | |
%lnk8B = ptrtoint i64* %lnk8A to i64 | |
%lnk8C = inttoptr i64 %lnk8B to i64* | |
store i64* %lnk8C, i64** %Sp_Var | |
%lnk8D = load i64*, i64** %Sp_Var | |
%lnk8E = getelementptr inbounds i64, i64* %lnk8D, i32 0 | |
%lnk8F = bitcast i64* %lnk8E to i64* | |
%lnk8G = load i64, i64* %lnk8F, !tbaa !1 | |
%lnk8H = inttoptr i64 %lnk8G to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk8I = load i64*, i64** %Sp_Var | |
%lnk8J = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk8H( i64* %Base_Arg, i64* %lnk8I, i64* %Hp_Arg, i64 %lnk8J, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjGC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to i8*) | |
define internal ghccc void @cjGC_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjGC_info$def to i64)),i64 32), i64 21833, i64 4294967328}> | |
{ | |
cjGC: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnk8K = load i64, i64* %R1_Var | |
%lnk8L = and i64 %lnk8K, 7 | |
switch i64 %lnk8L, label %cjKK [i64 2, label %cjKL] | |
cjKK: | |
%lnk8M = load i64*, i64** %Sp_Var | |
%lnk8N = getelementptr inbounds i64, i64* %lnk8M, i32 10 | |
%lnk8O = ptrtoint i64* %lnk8N to i64 | |
%lnk8P = inttoptr i64 %lnk8O to i64* | |
store i64* %lnk8P, i64** %Sp_Var | |
%lnk8Q = bitcast i8* @base_GHCziIOziEncodingziFailure_zdwfail_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk8R = load i64*, i64** %Sp_Var | |
%lnk8S = load i64*, i64** %Hp_Var | |
%lnk8T = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk8Q( i64* %Base_Arg, i64* %lnk8R, i64* %lnk8S, i64 %lnk8T, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjKL: | |
%lnk8U = load i64*, i64** %Hp_Var | |
%lnk8V = getelementptr inbounds i64, i64* %lnk8U, i32 4 | |
%lnk8W = ptrtoint i64* %lnk8V to i64 | |
%lnk8X = inttoptr i64 %lnk8W to i64* | |
store i64* %lnk8X, i64** %Hp_Var | |
%lnk8Y = load i64*, i64** %Hp_Var | |
%lnk8Z = ptrtoint i64* %lnk8Y to i64 | |
%lnk90 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnk91 = bitcast i64* %lnk90 to i64* | |
%lnk92 = load i64, i64* %lnk91, !tbaa !4 | |
%lnk93 = icmp ugt i64 %lnk8Z, %lnk92 | |
br i1 %lnk93, label %cjKO, label %cjKN | |
cjKN: | |
%lnk95 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to i64 | |
%lnk94 = load i64*, i64** %Hp_Var | |
%lnk96 = getelementptr inbounds i64, i64* %lnk94, i32 -3 | |
store i64 %lnk95, i64* %lnk96, !tbaa !2 | |
%lnk98 = load i64*, i64** %Sp_Var | |
%lnk99 = getelementptr inbounds i64, i64* %lnk98, i32 6 | |
%lnk9a = bitcast i64* %lnk99 to i64* | |
%lnk9b = load i64, i64* %lnk9a, !tbaa !1 | |
%lnk97 = load i64*, i64** %Hp_Var | |
%lnk9c = getelementptr inbounds i64, i64* %lnk97, i32 -2 | |
store i64 %lnk9b, i64* %lnk9c, !tbaa !2 | |
%lnk9e = load i64*, i64** %Sp_Var | |
%lnk9f = getelementptr inbounds i64, i64* %lnk9e, i32 9 | |
%lnk9g = bitcast i64* %lnk9f to i64* | |
%lnk9h = load i64, i64* %lnk9g, !tbaa !1 | |
%lnk9d = load i64*, i64** %Hp_Var | |
%lnk9i = getelementptr inbounds i64, i64* %lnk9d, i32 -1 | |
store i64 %lnk9h, i64* %lnk9i, !tbaa !2 | |
%lnk9k = load i64*, i64** %Sp_Var | |
%lnk9l = getelementptr inbounds i64, i64* %lnk9k, i32 7 | |
%lnk9m = bitcast i64* %lnk9l to i64* | |
%lnk9n = load i64, i64* %lnk9m, !tbaa !1 | |
%lnk9j = load i64*, i64** %Hp_Var | |
%lnk9o = getelementptr inbounds i64, i64* %lnk9j, i32 0 | |
store i64 %lnk9n, i64* %lnk9o, !tbaa !2 | |
%lnk9q = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKS_info$def to i64 | |
%lnk9p = load i64*, i64** %Sp_Var | |
%lnk9r = getelementptr inbounds i64, i64* %lnk9p, i32 3 | |
store i64 %lnk9q, i64* %lnk9r, !tbaa !1 | |
%lnk9s = load i64*, i64** %Sp_Var | |
%lnk9t = getelementptr inbounds i64, i64* %lnk9s, i32 5 | |
%lnk9u = bitcast i64* %lnk9t to i64* | |
%lnk9v = load i64, i64* %lnk9u, !tbaa !1 | |
%lnk9w = shl i64 %lnk9v, 1 | |
store i64 %lnk9w, i64* %R2_Var | |
%lnk9y = load i64*, i64** %Hp_Var | |
%lnk9z = ptrtoint i64* %lnk9y to i64 | |
%lnk9A = add i64 %lnk9z, -22 | |
store i64 %lnk9A, i64* %R1_Var | |
%lnk9B = load i64*, i64** %Sp_Var | |
%lnk9C = getelementptr inbounds i64, i64* %lnk9B, i32 3 | |
%lnk9D = ptrtoint i64* %lnk9C to i64 | |
%lnk9E = inttoptr i64 %lnk9D to i64* | |
store i64* %lnk9E, i64** %Sp_Var | |
%lnk9F = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siLb_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk9G = load i64*, i64** %Sp_Var | |
%lnk9H = load i64*, i64** %Hp_Var | |
%lnk9I = load i64, i64* %R1_Var | |
%lnk9J = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk9F( i64* %Base_Arg, i64* %lnk9G, i64* %lnk9H, i64 %lnk9I, i64 %lnk9J, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cjKO: | |
%lnk9K = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 32, i64* %lnk9K, !tbaa !4 | |
%lnk9L = load i64, i64* %R1_Var | |
store i64 %lnk9L, i64* %R1_Var | |
%lnk9M = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnk9N = load i64*, i64** %Sp_Var | |
%lnk9O = load i64*, i64** %Hp_Var | |
%lnk9P = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnk9M( i64* %Base_Arg, i64* %lnk9N, i64* %lnk9O, i64 %lnk9P, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@cjKS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @cjKS_info$def to i8*) | |
define internal ghccc void @cjKS_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 2950, i64 32}> | |
{ | |
cjKS: | |
%lsiKj = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnk9Q = load i64*, i64** %Sp_Var | |
%lnk9R = getelementptr inbounds i64, i64* %lnk9Q, i32 5 | |
%lnk9S = bitcast i64* %lnk9R to i64* | |
%lnk9T = load i64, i64* %lnk9S, !tbaa !1 | |
store i64 %lnk9T, i64* %lsiKj | |
%lnk9U = load i64, i64* %R1_Var | |
store i64 %lnk9U, i64* %R1_Var | |
%lnk9V = load i64*, i64** %Sp_Var | |
%lnk9W = getelementptr inbounds i64, i64* %lnk9V, i32 7 | |
%lnk9X = ptrtoint i64* %lnk9W to i64 | |
%lnk9Y = inttoptr i64 %lnk9X to i64* | |
store i64* %lnk9Y, i64** %Sp_Var | |
%lnk9Z = load i64*, i64** %Sp_Var | |
%lnka0 = getelementptr inbounds i64, i64* %lnk9Z, i32 0 | |
%lnka1 = bitcast i64* %lnka0 to i64* | |
%lnka2 = load i64, i64* %lnka1, !tbaa !1 | |
%lnka3 = inttoptr i64 %lnka2 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnka4 = load i64*, i64** %Sp_Var | |
%lnka5 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnka3( i64* %Base_Arg, i64* %lnka4, i64* %Hp_Arg, i64 %lnka5, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFH_closure_struct = type <{i64, i64}> | |
@riFH_closure$def = internal global %riFH_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFH_info$def to i64), i64 0}> | |
@riFH_closure = internal alias i8* bitcast (%riFH_closure_struct* @riFH_closure$def to i8*) | |
@riFH_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFH_info$def to i8*) | |
define internal ghccc void @riFH_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFH_info$def to i64)),i64 80), i64 4294967299, i64 0, i64 4294967311}> | |
{ | |
ckab: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkae = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64 | |
%lnkaf = add i64 %lnkae, 1 | |
store i64 %lnkaf, i64* %R1_Var | |
%lnkag = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkah = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkag( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkah, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFI_closure_struct = type <{i64, i64}> | |
@riFI_closure$def = internal global %riFI_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFI_info$def to i64), i64 0}> | |
@riFI_closure = internal alias i8* bitcast (%riFI_closure_struct* @riFI_closure$def to i8*) | |
@riFI_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFI_info$def to i8*) | |
define internal ghccc void @riFI_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFI_info$def to i64)),i64 80), i64 4294967299, i64 0, i64 4294967311}> | |
{ | |
ckan: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkaq = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64 | |
%lnkar = add i64 %lnkaq, 1 | |
store i64 %lnkar, i64* %R1_Var | |
%lnkas = bitcast i8* @stg_unmaskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkat = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkas( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkat, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFJ_closure_struct = type <{i64, i64}> | |
@riFJ_closure$def = internal global %riFJ_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFJ_info$def to i64), i64 0}> | |
@riFJ_closure = internal alias i8* bitcast (%riFJ_closure_struct* @riFJ_closure$def to i8*) | |
@siNt_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNt_info$def to i8*) | |
define internal ghccc void @siNt_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckaE: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkaM = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkaN = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkaM( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkaN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riFJ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFJ_info$def to i8*) | |
define internal ghccc void @riFJ_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFJ_info$def to i64)),i64 88), i64 4294967299, i64 0, i64 12884901903}> | |
{ | |
ckaH: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkaO = load i64*, i64** %Hp_Var | |
%lnkaP = getelementptr inbounds i64, i64* %lnkaO, i32 2 | |
%lnkaQ = ptrtoint i64* %lnkaP to i64 | |
%lnkaR = inttoptr i64 %lnkaQ to i64* | |
store i64* %lnkaR, i64** %Hp_Var | |
%lnkaS = load i64*, i64** %Hp_Var | |
%lnkaT = ptrtoint i64* %lnkaS to i64 | |
%lnkaU = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkaV = bitcast i64* %lnkaU to i64* | |
%lnkaW = load i64, i64* %lnkaV, !tbaa !4 | |
%lnkaX = icmp ugt i64 %lnkaT, %lnkaW | |
br i1 %lnkaX, label %ckaL, label %ckaK | |
ckaK: | |
%lnkaZ = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNt_info$def to i64 | |
%lnkaY = load i64*, i64** %Hp_Var | |
%lnkb0 = getelementptr inbounds i64, i64* %lnkaY, i32 -1 | |
store i64 %lnkaZ, i64* %lnkb0, !tbaa !2 | |
%lnkb2 = load i64*, i64** %Hp_Var | |
%lnkb3 = ptrtoint i64* %lnkb2 to i64 | |
%lnkb4 = add i64 %lnkb3, -6 | |
store i64 %lnkb4, i64* %R2_Var | |
%lnkb5 = ptrtoint %riFI_closure_struct* @riFI_closure$def to i64 | |
%lnkb6 = add i64 %lnkb5, 1 | |
store i64 %lnkb6, i64* %R1_Var | |
%lnkb7 = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkb8 = load i64*, i64** %Hp_Var | |
%lnkb9 = load i64, i64* %R1_Var | |
%lnkba = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkb7( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkb8, i64 %lnkb9, i64 %lnkba, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckaL: | |
%lnkbb = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnkbb, !tbaa !4 | |
%lnkbc = ptrtoint %riFJ_closure_struct* @riFJ_closure$def to i64 | |
store i64 %lnkbc, i64* %R1_Var | |
%lnkbd = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnkbe = bitcast i64* %lnkbd to i64* | |
%lnkbf = load i64, i64* %lnkbe, !tbaa !4 | |
%lnkbg = inttoptr i64 %lnkbf to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkbh = load i64*, i64** %Hp_Var | |
%lnkbi = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkbg( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkbh, i64 %lnkbi, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFK_closure_struct = type <{i64, i64}> | |
@riFK_closure$def = internal global %riFK_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFK_info$def to i64), i64 0}> | |
@riFK_closure = internal alias i8* bitcast (%riFK_closure_struct* @riFK_closure$def to i8*) | |
@riFK_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFK_info$def to i8*) | |
define internal ghccc void @riFK_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFK_info$def to i64)),i64 80), i64 4294967299, i64 0, i64 4294967311}> | |
{ | |
ckbo: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkbr = ptrtoint %riFG_closure_struct* @riFG_closure$def to i64 | |
%lnkbs = add i64 %lnkbr, 1 | |
store i64 %lnkbs, i64* %R1_Var | |
%lnkbt = bitcast i8* @stg_maskUninterruptiblezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkbu = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkbt( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkbu, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFL_closure_struct = type <{i64, i64, i64, i64}> | |
%ckbC_str_struct = type <{[6 x i8]}> | |
@riFL_closure$def = internal global %riFL_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFL_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFL_closure = internal alias i8* bitcast (%riFL_closure_struct* @riFL_closure$def to i8*) | |
@ckbC_str$def = internal constant %ckbC_str_struct<{[6 x i8] [i8 101, i8 114, i8 114, i8 111, i8 114, i8 0]}> | |
@ckbC_str = internal alias i8* bitcast (%ckbC_str_struct* @ckbC_str$def to i8*) | |
@riFL_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFL_info$def to i8*) | |
define internal ghccc void @riFL_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ckbD: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lckbz = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkbG = load i64*, i64** %Sp_Var | |
%lnkbH = getelementptr inbounds i64, i64* %lnkbG, i32 -2 | |
%lnkbI = ptrtoint i64* %lnkbH to i64 | |
%lnkbJ = icmp ult i64 %lnkbI, %SpLim_Arg | |
br i1 %lnkbJ, label %ckbE, label %ckbF | |
ckbF: | |
%lnkbK = ptrtoint i64* %Base_Arg to i64 | |
%lnkbL = inttoptr i64 %lnkbK to i8* | |
%lnkbM = load i64, i64* %R1_Var | |
%lnkbN = inttoptr i64 %lnkbM to i8* | |
%lnkbO = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnkbP = call ccc i8* (i8*, i8*) %lnkbO( i8* %lnkbL, i8* %lnkbN ) nounwind | |
%lnkbQ = ptrtoint i8* %lnkbP to i64 | |
store i64 %lnkbQ, i64* %lckbz | |
%lnkbR = load i64, i64* %lckbz | |
%lnkbS = icmp eq i64 %lnkbR, 0 | |
br i1 %lnkbS, label %ckbB, label %ckbA | |
ckbA: | |
%lnkbU = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnkbT = load i64*, i64** %Sp_Var | |
%lnkbV = getelementptr inbounds i64, i64* %lnkbT, i32 -2 | |
store i64 %lnkbU, i64* %lnkbV, !tbaa !1 | |
%lnkbX = load i64, i64* %lckbz | |
%lnkbW = load i64*, i64** %Sp_Var | |
%lnkbY = getelementptr inbounds i64, i64* %lnkbW, i32 -1 | |
store i64 %lnkbX, i64* %lnkbY, !tbaa !1 | |
%lnkbZ = ptrtoint %ckbC_str_struct* @ckbC_str$def to i64 | |
store i64 %lnkbZ, i64* %R2_Var | |
%lnkc0 = load i64*, i64** %Sp_Var | |
%lnkc1 = getelementptr inbounds i64, i64* %lnkc0, i32 -2 | |
%lnkc2 = ptrtoint i64* %lnkc1 to i64 | |
%lnkc3 = inttoptr i64 %lnkc2 to i64* | |
store i64* %lnkc3, i64** %Sp_Var | |
%lnkc4 = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkc5 = load i64*, i64** %Sp_Var | |
%lnkc6 = load i64, i64* %R1_Var | |
%lnkc7 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkc4( i64* %Base_Arg, i64* %lnkc5, i64* %Hp_Arg, i64 %lnkc6, i64 %lnkc7, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckbB: | |
%lnkc9 = load i64, i64* %R1_Var | |
%lnkca = inttoptr i64 %lnkc9 to i64* | |
%lnkcb = load i64, i64* %lnkca, !tbaa !3 | |
%lnkcc = inttoptr i64 %lnkcb to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkcd = load i64*, i64** %Sp_Var | |
%lnkce = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkcc( i64* %Base_Arg, i64* %lnkcd, i64* %Hp_Arg, i64 %lnkce, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckbE: | |
%lnkcf = load i64, i64* %R1_Var | |
store i64 %lnkcf, i64* %R1_Var | |
%lnkcg = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkch = bitcast i64* %lnkcg to i64* | |
%lnkci = load i64, i64* %lnkch, !tbaa !4 | |
%lnkcj = inttoptr i64 %lnkci to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkck = load i64*, i64** %Sp_Var | |
%lnkcl = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkcj( i64* %Base_Arg, i64* %lnkck, i64* %Hp_Arg, i64 %lnkcl, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFM_closure_struct = type <{i64, i64, i64, i64}> | |
%ckct_str_struct = type <{[38 x i8]}> | |
@riFM_closure$def = internal global %riFM_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFM_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFM_closure = internal alias i8* bitcast (%riFM_closure_struct* @riFM_closure$def to i8*) | |
@ckct_str$def = internal constant %ckct_str_struct<{[38 x i8] [i8 118, i8 101, i8 99, i8 116, i8 111, i8 114, i8 45, i8 48, i8 46, i8 49, i8 49, i8 46, i8 48, i8 46, i8 48, i8 45, i8 76, i8 77, i8 119, i8 81, i8 104, i8 104, i8 110, i8 88, i8 106, i8 56, i8 85, i8 51, i8 84, i8 53, i8 66, i8 109, i8 49, i8 74, i8 70, i8 120, i8 71, i8 0]}> | |
@ckct_str = internal alias i8* bitcast (%ckct_str_struct* @ckct_str$def to i8*) | |
@riFM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFM_info$def to i8*) | |
define internal ghccc void @riFM_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ckcu: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lckcq = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkcx = load i64*, i64** %Sp_Var | |
%lnkcy = getelementptr inbounds i64, i64* %lnkcx, i32 -2 | |
%lnkcz = ptrtoint i64* %lnkcy to i64 | |
%lnkcA = icmp ult i64 %lnkcz, %SpLim_Arg | |
br i1 %lnkcA, label %ckcv, label %ckcw | |
ckcw: | |
%lnkcB = ptrtoint i64* %Base_Arg to i64 | |
%lnkcC = inttoptr i64 %lnkcB to i8* | |
%lnkcD = load i64, i64* %R1_Var | |
%lnkcE = inttoptr i64 %lnkcD to i8* | |
%lnkcF = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnkcG = call ccc i8* (i8*, i8*) %lnkcF( i8* %lnkcC, i8* %lnkcE ) nounwind | |
%lnkcH = ptrtoint i8* %lnkcG to i64 | |
store i64 %lnkcH, i64* %lckcq | |
%lnkcI = load i64, i64* %lckcq | |
%lnkcJ = icmp eq i64 %lnkcI, 0 | |
br i1 %lnkcJ, label %ckcs, label %ckcr | |
ckcr: | |
%lnkcL = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnkcK = load i64*, i64** %Sp_Var | |
%lnkcM = getelementptr inbounds i64, i64* %lnkcK, i32 -2 | |
store i64 %lnkcL, i64* %lnkcM, !tbaa !1 | |
%lnkcO = load i64, i64* %lckcq | |
%lnkcN = load i64*, i64** %Sp_Var | |
%lnkcP = getelementptr inbounds i64, i64* %lnkcN, i32 -1 | |
store i64 %lnkcO, i64* %lnkcP, !tbaa !1 | |
%lnkcQ = ptrtoint %ckct_str_struct* @ckct_str$def to i64 | |
store i64 %lnkcQ, i64* %R2_Var | |
%lnkcR = load i64*, i64** %Sp_Var | |
%lnkcS = getelementptr inbounds i64, i64* %lnkcR, i32 -2 | |
%lnkcT = ptrtoint i64* %lnkcS to i64 | |
%lnkcU = inttoptr i64 %lnkcT to i64* | |
store i64* %lnkcU, i64** %Sp_Var | |
%lnkcV = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkcW = load i64*, i64** %Sp_Var | |
%lnkcX = load i64, i64* %R1_Var | |
%lnkcY = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkcV( i64* %Base_Arg, i64* %lnkcW, i64* %Hp_Arg, i64 %lnkcX, i64 %lnkcY, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckcs: | |
%lnkd0 = load i64, i64* %R1_Var | |
%lnkd1 = inttoptr i64 %lnkd0 to i64* | |
%lnkd2 = load i64, i64* %lnkd1, !tbaa !3 | |
%lnkd3 = inttoptr i64 %lnkd2 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkd4 = load i64*, i64** %Sp_Var | |
%lnkd5 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkd3( i64* %Base_Arg, i64* %lnkd4, i64* %Hp_Arg, i64 %lnkd5, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckcv: | |
%lnkd6 = load i64, i64* %R1_Var | |
store i64 %lnkd6, i64* %R1_Var | |
%lnkd7 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkd8 = bitcast i64* %lnkd7 to i64* | |
%lnkd9 = load i64, i64* %lnkd8, !tbaa !4 | |
%lnkda = inttoptr i64 %lnkd9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkdb = load i64*, i64** %Sp_Var | |
%lnkdc = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkda( i64* %Base_Arg, i64* %lnkdb, i64* %Hp_Arg, i64 %lnkdc, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFN_closure_struct = type <{i64, i64, i64, i64}> | |
%ckdk_str_struct = type <{[30 x i8]}> | |
@riFN_closure$def = internal global %riFN_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFN_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFN_closure = internal alias i8* bitcast (%riFN_closure_struct* @riFN_closure$def to i8*) | |
@ckdk_str$def = internal constant %ckdk_str_struct<{[30 x i8] [i8 68, i8 97, i8 116, i8 97, i8 46, i8 86, i8 101, i8 99, i8 116, i8 111, i8 114, i8 46, i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 46, i8 77, i8 117, i8 116, i8 97, i8 98, i8 108, i8 101, i8 0]}> | |
@ckdk_str = internal alias i8* bitcast (%ckdk_str_struct* @ckdk_str$def to i8*) | |
@riFN_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFN_info$def to i8*) | |
define internal ghccc void @riFN_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ckdl: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lckdh = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkdo = load i64*, i64** %Sp_Var | |
%lnkdp = getelementptr inbounds i64, i64* %lnkdo, i32 -2 | |
%lnkdq = ptrtoint i64* %lnkdp to i64 | |
%lnkdr = icmp ult i64 %lnkdq, %SpLim_Arg | |
br i1 %lnkdr, label %ckdm, label %ckdn | |
ckdn: | |
%lnkds = ptrtoint i64* %Base_Arg to i64 | |
%lnkdt = inttoptr i64 %lnkds to i8* | |
%lnkdu = load i64, i64* %R1_Var | |
%lnkdv = inttoptr i64 %lnkdu to i8* | |
%lnkdw = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnkdx = call ccc i8* (i8*, i8*) %lnkdw( i8* %lnkdt, i8* %lnkdv ) nounwind | |
%lnkdy = ptrtoint i8* %lnkdx to i64 | |
store i64 %lnkdy, i64* %lckdh | |
%lnkdz = load i64, i64* %lckdh | |
%lnkdA = icmp eq i64 %lnkdz, 0 | |
br i1 %lnkdA, label %ckdj, label %ckdi | |
ckdi: | |
%lnkdC = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnkdB = load i64*, i64** %Sp_Var | |
%lnkdD = getelementptr inbounds i64, i64* %lnkdB, i32 -2 | |
store i64 %lnkdC, i64* %lnkdD, !tbaa !1 | |
%lnkdF = load i64, i64* %lckdh | |
%lnkdE = load i64*, i64** %Sp_Var | |
%lnkdG = getelementptr inbounds i64, i64* %lnkdE, i32 -1 | |
store i64 %lnkdF, i64* %lnkdG, !tbaa !1 | |
%lnkdH = ptrtoint %ckdk_str_struct* @ckdk_str$def to i64 | |
store i64 %lnkdH, i64* %R2_Var | |
%lnkdI = load i64*, i64** %Sp_Var | |
%lnkdJ = getelementptr inbounds i64, i64* %lnkdI, i32 -2 | |
%lnkdK = ptrtoint i64* %lnkdJ to i64 | |
%lnkdL = inttoptr i64 %lnkdK to i64* | |
store i64* %lnkdL, i64** %Sp_Var | |
%lnkdM = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkdN = load i64*, i64** %Sp_Var | |
%lnkdO = load i64, i64* %R1_Var | |
%lnkdP = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkdM( i64* %Base_Arg, i64* %lnkdN, i64* %Hp_Arg, i64 %lnkdO, i64 %lnkdP, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckdj: | |
%lnkdR = load i64, i64* %R1_Var | |
%lnkdS = inttoptr i64 %lnkdR to i64* | |
%lnkdT = load i64, i64* %lnkdS, !tbaa !3 | |
%lnkdU = inttoptr i64 %lnkdT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkdV = load i64*, i64** %Sp_Var | |
%lnkdW = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkdU( i64* %Base_Arg, i64* %lnkdV, i64* %Hp_Arg, i64 %lnkdW, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckdm: | |
%lnkdX = load i64, i64* %R1_Var | |
store i64 %lnkdX, i64* %R1_Var | |
%lnkdY = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkdZ = bitcast i64* %lnkdY to i64* | |
%lnke0 = load i64, i64* %lnkdZ, !tbaa !4 | |
%lnke1 = inttoptr i64 %lnke0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnke2 = load i64*, i64** %Sp_Var | |
%lnke3 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnke1( i64* %Base_Arg, i64* %lnke2, i64* %Hp_Arg, i64 %lnke3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFO_closure_struct = type <{i64, i64, i64, i64}> | |
%ckeb_str_struct = type <{[35 x i8]}> | |
@riFO_closure$def = internal global %riFO_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFO_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFO_closure = internal alias i8* bitcast (%riFO_closure_struct* @riFO_closure$def to i8*) | |
@ckeb_str$def = internal constant %ckeb_str_struct<{[35 x i8] [i8 46, i8 47, i8 68, i8 97, i8 116, i8 97, i8 47, i8 86, i8 101, i8 99, i8 116, i8 111, i8 114, i8 47, i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 47, i8 77, i8 117, i8 116, i8 97, i8 98, i8 108, i8 101, i8 46, i8 104, i8 115, i8 0]}> | |
@ckeb_str = internal alias i8* bitcast (%ckeb_str_struct* @ckeb_str$def to i8*) | |
@riFO_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFO_info$def to i8*) | |
define internal ghccc void @riFO_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ckec: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lcke8 = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkef = load i64*, i64** %Sp_Var | |
%lnkeg = getelementptr inbounds i64, i64* %lnkef, i32 -2 | |
%lnkeh = ptrtoint i64* %lnkeg to i64 | |
%lnkei = icmp ult i64 %lnkeh, %SpLim_Arg | |
br i1 %lnkei, label %cked, label %ckee | |
ckee: | |
%lnkej = ptrtoint i64* %Base_Arg to i64 | |
%lnkek = inttoptr i64 %lnkej to i8* | |
%lnkel = load i64, i64* %R1_Var | |
%lnkem = inttoptr i64 %lnkel to i8* | |
%lnken = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnkeo = call ccc i8* (i8*, i8*) %lnken( i8* %lnkek, i8* %lnkem ) nounwind | |
%lnkep = ptrtoint i8* %lnkeo to i64 | |
store i64 %lnkep, i64* %lcke8 | |
%lnkeq = load i64, i64* %lcke8 | |
%lnker = icmp eq i64 %lnkeq, 0 | |
br i1 %lnker, label %ckea, label %cke9 | |
cke9: | |
%lnket = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnkes = load i64*, i64** %Sp_Var | |
%lnkeu = getelementptr inbounds i64, i64* %lnkes, i32 -2 | |
store i64 %lnket, i64* %lnkeu, !tbaa !1 | |
%lnkew = load i64, i64* %lcke8 | |
%lnkev = load i64*, i64** %Sp_Var | |
%lnkex = getelementptr inbounds i64, i64* %lnkev, i32 -1 | |
store i64 %lnkew, i64* %lnkex, !tbaa !1 | |
%lnkey = ptrtoint %ckeb_str_struct* @ckeb_str$def to i64 | |
store i64 %lnkey, i64* %R2_Var | |
%lnkez = load i64*, i64** %Sp_Var | |
%lnkeA = getelementptr inbounds i64, i64* %lnkez, i32 -2 | |
%lnkeB = ptrtoint i64* %lnkeA to i64 | |
%lnkeC = inttoptr i64 %lnkeB to i64* | |
store i64* %lnkeC, i64** %Sp_Var | |
%lnkeD = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkeE = load i64*, i64** %Sp_Var | |
%lnkeF = load i64, i64* %R1_Var | |
%lnkeG = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkeD( i64* %Base_Arg, i64* %lnkeE, i64* %Hp_Arg, i64 %lnkeF, i64 %lnkeG, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckea: | |
%lnkeI = load i64, i64* %R1_Var | |
%lnkeJ = inttoptr i64 %lnkeI to i64* | |
%lnkeK = load i64, i64* %lnkeJ, !tbaa !3 | |
%lnkeL = inttoptr i64 %lnkeK to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkeM = load i64*, i64** %Sp_Var | |
%lnkeN = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkeL( i64* %Base_Arg, i64* %lnkeM, i64* %Hp_Arg, i64 %lnkeN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cked: | |
%lnkeO = load i64, i64* %R1_Var | |
store i64 %lnkeO, i64* %R1_Var | |
%lnkeP = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkeQ = bitcast i64* %lnkeP to i64* | |
%lnkeR = load i64, i64* %lnkeQ, !tbaa !4 | |
%lnkeS = inttoptr i64 %lnkeR to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkeT = load i64*, i64** %Sp_Var | |
%lnkeU = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkeS( i64* %Base_Arg, i64* %lnkeT, i64* %Hp_Arg, i64 %lnkeU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFP_closure_struct = type <{i64, i64}> | |
@riFP_closure$def = internal global %riFP_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 97}> | |
@riFP_closure = internal alias i8* bitcast (%riFP_closure_struct* @riFP_closure$def to i8*) | |
%riFQ_closure_struct = type <{i64, i64}> | |
@riFQ_closure$def = internal global %riFQ_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 16}> | |
@riFQ_closure = internal alias i8* bitcast (%riFQ_closure_struct* @riFQ_closure$def to i8*) | |
%riFR_closure_struct = type <{i64, i64}> | |
@riFR_closure$def = internal global %riFR_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 79}> | |
@riFR_closure = internal alias i8* bitcast (%riFR_closure_struct* @riFR_closure$def to i8*) | |
%riFS_closure_struct = type <{i64, i64, i64, i64, i64, i64, i64, i64, i64}> | |
@riFS_closure$def = internal global %riFS_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_SrcLoc_static_info to i64), i64 ptrtoint (%riFM_closure_struct* @riFM_closure$def to i64), i64 ptrtoint (%riFN_closure_struct* @riFN_closure$def to i64), i64 ptrtoint (%riFO_closure_struct* @riFO_closure$def to i64), i64 add (i64 ptrtoint (%riFP_closure_struct* @riFP_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFQ_closure_struct* @riFQ_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFP_closure_struct* @riFP_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFR_closure_struct* @riFR_closure$def to i64),i64 1), i64 0}> | |
@riFS_closure = internal alias i8* bitcast (%riFS_closure_struct* @riFS_closure$def to i8*) | |
%riFT_closure_struct = type <{i64, i64, i64, i64, i64}> | |
@riFT_closure$def = internal global %riFT_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_PushCallStack_static_info to i64), i64 ptrtoint (%riFL_closure_struct* @riFL_closure$def to i64), i64 add (i64 ptrtoint (%riFS_closure_struct* @riFS_closure$def to i64),i64 1), i64 add (i64 ptrtoint (i8* @base_GHCziStackziTypes_EmptyCallStack_closure to i64),i64 1), i64 0}> | |
@riFT_closure = internal alias i8* bitcast (%riFT_closure_struct* @riFT_closure$def to i8*) | |
%riFU_closure_struct = type <{i64, i64, i64, i64}> | |
@riFU_closure$def = internal global %riFU_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFU_info$def to i64), i64 0, i64 0, i64 0}> | |
@riFU_closure = internal alias i8* bitcast (%riFU_closure_struct* @riFU_closure$def to i8*) | |
@siNC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNC_info$def to i8*) | |
define internal ghccc void @siNC_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 4294967296, i64 18}> | |
{ | |
ckfl: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkfJ = load i64*, i64** %Sp_Var | |
%lnkfK = getelementptr inbounds i64, i64* %lnkfJ, i32 -3 | |
%lnkfL = ptrtoint i64* %lnkfK to i64 | |
%lnkfM = icmp ult i64 %lnkfL, %SpLim_Arg | |
br i1 %lnkfM, label %ckfq, label %ckfr | |
ckfr: | |
%lnkfO = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnkfN = load i64*, i64** %Sp_Var | |
%lnkfP = getelementptr inbounds i64, i64* %lnkfN, i32 -2 | |
store i64 %lnkfO, i64* %lnkfP, !tbaa !1 | |
%lnkfR = load i64, i64* %R1_Var | |
%lnkfQ = load i64*, i64** %Sp_Var | |
%lnkfS = getelementptr inbounds i64, i64* %lnkfQ, i32 -1 | |
store i64 %lnkfR, i64* %lnkfS, !tbaa !1 | |
%lnkfU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfn_info$def to i64 | |
%lnkfT = load i64*, i64** %Sp_Var | |
%lnkfV = getelementptr inbounds i64, i64* %lnkfT, i32 -3 | |
store i64 %lnkfU, i64* %lnkfV, !tbaa !1 | |
%lnkfW = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64 | |
%lnkfX = add i64 %lnkfW, 1 | |
store i64 %lnkfX, i64* %R3_Var | |
%lnkg0 = load i64, i64* %R1_Var | |
%lnkg1 = add i64 %lnkg0, 16 | |
%lnkg2 = inttoptr i64 %lnkg1 to i64* | |
%lnkg3 = load i64, i64* %lnkg2, !tbaa !3 | |
%lnkg4 = sub i64 0, %lnkg3 | |
store i64 %lnkg4, i64* %R2_Var | |
%lnkg5 = load i64*, i64** %Sp_Var | |
%lnkg6 = getelementptr inbounds i64, i64* %lnkg5, i32 -3 | |
%lnkg7 = ptrtoint i64* %lnkg6 to i64 | |
%lnkg8 = inttoptr i64 %lnkg7 to i64* | |
store i64* %lnkg8, i64** %Sp_Var | |
%lnkg9 = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkga = load i64*, i64** %Sp_Var | |
%lnkgb = load i64, i64* %R1_Var | |
%lnkgc = load i64, i64* %R2_Var | |
%lnkgd = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkg9( i64* %Base_Arg, i64* %lnkga, i64* %Hp_Arg, i64 %lnkgb, i64 %lnkgc, i64 %lnkgd, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckfq: | |
%lnkge = load i64, i64* %R1_Var | |
store i64 %lnkge, i64* %R1_Var | |
%lnkgf = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkgg = bitcast i64* %lnkgf to i64* | |
%lnkgh = load i64, i64* %lnkgg, !tbaa !4 | |
%lnkgi = inttoptr i64 %lnkgh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkgj = load i64*, i64** %Sp_Var | |
%lnkgk = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkgi( i64* %Base_Arg, i64* %lnkgj, i64* %Hp_Arg, i64 %lnkgk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckfn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfn_info$def to i8*) | |
define internal ghccc void @ckfn_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckfn: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkgl = load i64*, i64** %Hp_Var | |
%lnkgm = getelementptr inbounds i64, i64* %lnkgl, i32 3 | |
%lnkgn = ptrtoint i64* %lnkgm to i64 | |
%lnkgo = inttoptr i64 %lnkgn to i64* | |
store i64* %lnkgo, i64** %Hp_Var | |
%lnkgp = load i64*, i64** %Hp_Var | |
%lnkgq = ptrtoint i64* %lnkgp to i64 | |
%lnkgr = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkgs = bitcast i64* %lnkgr to i64* | |
%lnkgt = load i64, i64* %lnkgs, !tbaa !4 | |
%lnkgu = icmp ugt i64 %lnkgq, %lnkgt | |
br i1 %lnkgu, label %ckfu, label %ckft | |
ckft: | |
%lnkgw = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnkgv = load i64*, i64** %Hp_Var | |
%lnkgx = getelementptr inbounds i64, i64* %lnkgv, i32 -2 | |
store i64 %lnkgw, i64* %lnkgx, !tbaa !2 | |
%lnkgz = load i64, i64* %R1_Var | |
%lnkgy = load i64*, i64** %Hp_Var | |
%lnkgA = getelementptr inbounds i64, i64* %lnkgy, i32 -1 | |
store i64 %lnkgz, i64* %lnkgA, !tbaa !2 | |
%lnkgC = load i64, i64* %R2_Var | |
%lnkgB = load i64*, i64** %Hp_Var | |
%lnkgD = getelementptr inbounds i64, i64* %lnkgB, i32 0 | |
store i64 %lnkgC, i64* %lnkgD, !tbaa !2 | |
%lnkgF = load i64*, i64** %Hp_Var | |
%lnkgG = ptrtoint i64* %lnkgF to i64 | |
%lnkgH = add i64 %lnkgG, -14 | |
store i64 %lnkgH, i64* %R1_Var | |
%lnkgI = load i64*, i64** %Sp_Var | |
%lnkgJ = getelementptr inbounds i64, i64* %lnkgI, i32 1 | |
%lnkgK = ptrtoint i64* %lnkgJ to i64 | |
%lnkgL = inttoptr i64 %lnkgK to i64* | |
store i64* %lnkgL, i64** %Sp_Var | |
%lnkgM = load i64*, i64** %Sp_Var | |
%lnkgN = getelementptr inbounds i64, i64* %lnkgM, i32 0 | |
%lnkgO = bitcast i64* %lnkgN to i64* | |
%lnkgP = load i64, i64* %lnkgO, !tbaa !1 | |
%lnkgQ = inttoptr i64 %lnkgP to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkgR = load i64*, i64** %Sp_Var | |
%lnkgS = load i64*, i64** %Hp_Var | |
%lnkgT = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkgQ( i64* %Base_Arg, i64* %lnkgR, i64* %lnkgS, i64 %lnkgT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckfu: | |
%lnkgU = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkgU, !tbaa !4 | |
%lnkgV = load i64, i64* %R2_Var | |
store i64 %lnkgV, i64* %R2_Var | |
%lnkgW = load i64, i64* %R1_Var | |
store i64 %lnkgW, i64* %R1_Var | |
%lnkgX = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkgY = load i64*, i64** %Sp_Var | |
%lnkgZ = load i64*, i64** %Hp_Var | |
%lnkh0 = load i64, i64* %R1_Var | |
%lnkh1 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkgX( i64* %Base_Arg, i64* %lnkgY, i64* %lnkgZ, i64 %lnkh0, i64 %lnkh1, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riFU_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFU_info$def to i8*) | |
define internal ghccc void @riFU_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 22}> | |
{ | |
ckfx: | |
%lriFU = alloca i64, i32 1 | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%lckfc = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkh2 = load i64, i64* %R1_Var | |
store i64 %lnkh2, i64* %lriFU | |
%lnkh3 = load i64*, i64** %Sp_Var | |
%lnkh4 = getelementptr inbounds i64, i64* %lnkh3, i32 -3 | |
%lnkh5 = ptrtoint i64* %lnkh4 to i64 | |
%lnkh6 = icmp ult i64 %lnkh5, %SpLim_Arg | |
br i1 %lnkh6, label %ckfC, label %ckfD | |
ckfD: | |
%lnkh7 = load i64*, i64** %Hp_Var | |
%lnkh8 = getelementptr inbounds i64, i64* %lnkh7, i32 3 | |
%lnkh9 = ptrtoint i64* %lnkh8 to i64 | |
%lnkha = inttoptr i64 %lnkh9 to i64* | |
store i64* %lnkha, i64** %Hp_Var | |
%lnkhb = load i64*, i64** %Hp_Var | |
%lnkhc = ptrtoint i64* %lnkhb to i64 | |
%lnkhd = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkhe = bitcast i64* %lnkhd to i64* | |
%lnkhf = load i64, i64* %lnkhe, !tbaa !4 | |
%lnkhg = icmp ugt i64 %lnkhc, %lnkhf | |
br i1 %lnkhg, label %ckfF, label %ckfE | |
ckfE: | |
%lnkhh = ptrtoint i64* %Base_Arg to i64 | |
%lnkhi = inttoptr i64 %lnkhh to i8* | |
%lnkhj = load i64, i64* %lriFU | |
%lnkhk = inttoptr i64 %lnkhj to i8* | |
%lnkhl = bitcast i8* @newCAF to i8* (i8*, i8*)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
%lnkhm = call ccc i8* (i8*, i8*) %lnkhl( i8* %lnkhi, i8* %lnkhk ) nounwind | |
%lnkhn = ptrtoint i8* %lnkhm to i64 | |
store i64 %lnkhn, i64* %lckfc | |
%lnkho = load i64, i64* %lckfc | |
%lnkhp = icmp eq i64 %lnkho, 0 | |
br i1 %lnkhp, label %ckfe, label %ckfd | |
ckfd: | |
%lnkhr = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnkhq = load i64*, i64** %Sp_Var | |
%lnkhs = getelementptr inbounds i64, i64* %lnkhq, i32 -2 | |
store i64 %lnkhr, i64* %lnkhs, !tbaa !1 | |
%lnkhu = load i64, i64* %lckfc | |
%lnkht = load i64*, i64** %Sp_Var | |
%lnkhv = getelementptr inbounds i64, i64* %lnkht, i32 -1 | |
store i64 %lnkhu, i64* %lnkhv, !tbaa !1 | |
%lnkhx = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNC_info$def to i64 | |
%lnkhw = load i64*, i64** %Hp_Var | |
%lnkhy = getelementptr inbounds i64, i64* %lnkhw, i32 -2 | |
store i64 %lnkhx, i64* %lnkhy, !tbaa !2 | |
%lnkhz = load i64*, i64** %Hp_Var | |
%lnkhA = getelementptr inbounds i64, i64* %lnkhz, i32 0 | |
store i64 -8, i64* %lnkhA, !tbaa !2 | |
%lnkhC = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfz_info$def to i64 | |
%lnkhB = load i64*, i64** %Sp_Var | |
%lnkhD = getelementptr inbounds i64, i64* %lnkhB, i32 -3 | |
store i64 %lnkhC, i64* %lnkhD, !tbaa !1 | |
%lnkhE = load i64*, i64** %Hp_Var | |
%lnkhF = getelementptr inbounds i64, i64* %lnkhE, i32 -2 | |
%lnkhG = ptrtoint i64* %lnkhF to i64 | |
store i64 %lnkhG, i64* %R3_Var | |
store i64 922337203685477580, i64* %R2_Var | |
%lnkhH = load i64*, i64** %Sp_Var | |
%lnkhI = getelementptr inbounds i64, i64* %lnkhH, i32 -3 | |
%lnkhJ = ptrtoint i64* %lnkhI to i64 | |
%lnkhK = inttoptr i64 %lnkhJ to i64* | |
store i64* %lnkhK, i64** %Sp_Var | |
%lnkhL = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkhM = load i64*, i64** %Sp_Var | |
%lnkhN = load i64*, i64** %Hp_Var | |
%lnkhO = load i64, i64* %R1_Var | |
%lnkhP = load i64, i64* %R2_Var | |
%lnkhQ = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkhL( i64* %Base_Arg, i64* %lnkhM, i64* %lnkhN, i64 %lnkhO, i64 %lnkhP, i64 %lnkhQ, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckfe: | |
%lnkhR = load i64, i64* %lriFU | |
%lnkhS = inttoptr i64 %lnkhR to i64* | |
%lnkhT = load i64, i64* %lnkhS, !tbaa !5 | |
%lnkhU = inttoptr i64 %lnkhT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkhV = load i64*, i64** %Sp_Var | |
%lnkhW = load i64*, i64** %Hp_Var | |
%lnkhX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkhU( i64* %Base_Arg, i64* %lnkhV, i64* %lnkhW, i64 %lnkhX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckfF: | |
%lnkhY = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkhY, !tbaa !4 | |
br label %ckfC | |
ckfC: | |
%lnkhZ = load i64, i64* %lriFU | |
store i64 %lnkhZ, i64* %R1_Var | |
%lnki0 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnki1 = bitcast i64* %lnki0 to i64* | |
%lnki2 = load i64, i64* %lnki1, !tbaa !4 | |
%lnki3 = inttoptr i64 %lnki2 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnki4 = load i64*, i64** %Sp_Var | |
%lnki5 = load i64*, i64** %Hp_Var | |
%lnki6 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnki3( i64* %Base_Arg, i64* %lnki4, i64* %lnki5, i64 %lnki6, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckfz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckfz_info$def to i8*) | |
define internal ghccc void @ckfz_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckfz: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnki7 = load i64*, i64** %Hp_Var | |
%lnki8 = getelementptr inbounds i64, i64* %lnki7, i32 3 | |
%lnki9 = ptrtoint i64* %lnki8 to i64 | |
%lnkia = inttoptr i64 %lnki9 to i64* | |
store i64* %lnkia, i64** %Hp_Var | |
%lnkib = load i64*, i64** %Hp_Var | |
%lnkic = ptrtoint i64* %lnkib to i64 | |
%lnkid = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkie = bitcast i64* %lnkid to i64* | |
%lnkif = load i64, i64* %lnkie, !tbaa !4 | |
%lnkig = icmp ugt i64 %lnkic, %lnkif | |
br i1 %lnkig, label %ckfI, label %ckfH | |
ckfH: | |
%lnkii = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnkih = load i64*, i64** %Hp_Var | |
%lnkij = getelementptr inbounds i64, i64* %lnkih, i32 -2 | |
store i64 %lnkii, i64* %lnkij, !tbaa !2 | |
%lnkil = load i64, i64* %R1_Var | |
%lnkik = load i64*, i64** %Hp_Var | |
%lnkim = getelementptr inbounds i64, i64* %lnkik, i32 -1 | |
store i64 %lnkil, i64* %lnkim, !tbaa !2 | |
%lnkio = load i64, i64* %R2_Var | |
%lnkin = load i64*, i64** %Hp_Var | |
%lnkip = getelementptr inbounds i64, i64* %lnkin, i32 0 | |
store i64 %lnkio, i64* %lnkip, !tbaa !2 | |
%lnkir = load i64*, i64** %Hp_Var | |
%lnkis = ptrtoint i64* %lnkir to i64 | |
%lnkit = add i64 %lnkis, -14 | |
store i64 %lnkit, i64* %R1_Var | |
%lnkiu = load i64*, i64** %Sp_Var | |
%lnkiv = getelementptr inbounds i64, i64* %lnkiu, i32 1 | |
%lnkiw = ptrtoint i64* %lnkiv to i64 | |
%lnkix = inttoptr i64 %lnkiw to i64* | |
store i64* %lnkix, i64** %Sp_Var | |
%lnkiy = load i64*, i64** %Sp_Var | |
%lnkiz = getelementptr inbounds i64, i64* %lnkiy, i32 0 | |
%lnkiA = bitcast i64* %lnkiz to i64* | |
%lnkiB = load i64, i64* %lnkiA, !tbaa !1 | |
%lnkiC = inttoptr i64 %lnkiB to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkiD = load i64*, i64** %Sp_Var | |
%lnkiE = load i64*, i64** %Hp_Var | |
%lnkiF = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkiC( i64* %Base_Arg, i64* %lnkiD, i64* %lnkiE, i64 %lnkiF, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckfI: | |
%lnkiG = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkiG, !tbaa !4 | |
%lnkiH = load i64, i64* %R2_Var | |
store i64 %lnkiH, i64* %R2_Var | |
%lnkiI = load i64, i64* %R1_Var | |
store i64 %lnkiI, i64* %R1_Var | |
%lnkiJ = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkiK = load i64*, i64** %Sp_Var | |
%lnkiL = load i64*, i64** %Hp_Var | |
%lnkiM = load i64, i64* %R1_Var | |
%lnkiN = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkiJ( i64* %Base_Arg, i64* %lnkiK, i64* %lnkiL, i64 %lnkiM, i64 %lnkiN, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFV_closure_struct = type <{i64, i64, i64, i64}> | |
@riFV_closure$def = internal global %riFV_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_ZC_static_info to i64), i64 ptrtoint (i8* @base_GHCziShow_shows9_closure to i64), i64 ptrtoint (%riFU_closure_struct* @riFU_closure$def to i64), i64 0}> | |
@riFV_closure = internal alias i8* bitcast (%riFV_closure_struct* @riFV_closure$def to i8*) | |
%riFW_closure_struct = type <{i64, i64}> | |
%ckjZ_str_struct = type <{[44 x i8]}> | |
@riFW_closure$def = internal global %riFW_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to i64), i64 0}> | |
@riFW_closure = internal alias i8* bitcast (%riFW_closure_struct* @riFW_closure$def to i8*) | |
@ckjZ_str$def = internal constant %ckjZ_str_struct<{[44 x i8] [i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 46, i8 98, i8 97, i8 115, i8 105, i8 99, i8 85, i8 110, i8 115, i8 97, i8 102, i8 101, i8 78, i8 101, i8 119, i8 58, i8 32, i8 108, i8 101, i8 110, i8 103, i8 116, i8 104, i8 32, i8 116, i8 111, i8 32, i8 108, i8 97, i8 114, i8 103, i8 101, i8 58, i8 32, i8 0]}> | |
@ckjZ_str = internal alias i8* bitcast (%ckjZ_str_struct* @ckjZ_str$def to i8*) | |
@siNR_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNR_info$def to i8*) | |
define internal ghccc void @siNR_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 4294967296, i64 18}> | |
{ | |
ckjx: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkka = load i64*, i64** %Sp_Var | |
%lnkkb = getelementptr inbounds i64, i64* %lnkka, i32 -3 | |
%lnkkc = ptrtoint i64* %lnkkb to i64 | |
%lnkkd = icmp ult i64 %lnkkc, %SpLim_Arg | |
br i1 %lnkkd, label %ckjC, label %ckjD | |
ckjD: | |
%lnkkf = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnkke = load i64*, i64** %Sp_Var | |
%lnkkg = getelementptr inbounds i64, i64* %lnkke, i32 -2 | |
store i64 %lnkkf, i64* %lnkkg, !tbaa !1 | |
%lnkki = load i64, i64* %R1_Var | |
%lnkkh = load i64*, i64** %Sp_Var | |
%lnkkj = getelementptr inbounds i64, i64* %lnkkh, i32 -1 | |
store i64 %lnkki, i64* %lnkkj, !tbaa !1 | |
%lnkkl = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjz_info$def to i64 | |
%lnkkk = load i64*, i64** %Sp_Var | |
%lnkkm = getelementptr inbounds i64, i64* %lnkkk, i32 -3 | |
store i64 %lnkkl, i64* %lnkkm, !tbaa !1 | |
%lnkkn = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64 | |
%lnkko = add i64 %lnkkn, 1 | |
store i64 %lnkko, i64* %R3_Var | |
%lnkkr = load i64, i64* %R1_Var | |
%lnkks = add i64 %lnkkr, 16 | |
%lnkkt = inttoptr i64 %lnkks to i64* | |
%lnkku = load i64, i64* %lnkkt, !tbaa !3 | |
%lnkkv = sub i64 0, %lnkku | |
store i64 %lnkkv, i64* %R2_Var | |
%lnkkw = load i64*, i64** %Sp_Var | |
%lnkkx = getelementptr inbounds i64, i64* %lnkkw, i32 -3 | |
%lnkky = ptrtoint i64* %lnkkx to i64 | |
%lnkkz = inttoptr i64 %lnkky to i64* | |
store i64* %lnkkz, i64** %Sp_Var | |
%lnkkA = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkkB = load i64*, i64** %Sp_Var | |
%lnkkC = load i64, i64* %R1_Var | |
%lnkkD = load i64, i64* %R2_Var | |
%lnkkE = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkkA( i64* %Base_Arg, i64* %lnkkB, i64* %Hp_Arg, i64 %lnkkC, i64 %lnkkD, i64 %lnkkE, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckjC: | |
%lnkkF = load i64, i64* %R1_Var | |
store i64 %lnkkF, i64* %R1_Var | |
%lnkkG = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkkH = bitcast i64* %lnkkG to i64* | |
%lnkkI = load i64, i64* %lnkkH, !tbaa !4 | |
%lnkkJ = inttoptr i64 %lnkkI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkkK = load i64*, i64** %Sp_Var | |
%lnkkL = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkkJ( i64* %Base_Arg, i64* %lnkkK, i64* %Hp_Arg, i64 %lnkkL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckjz_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjz_info$def to i8*) | |
define internal ghccc void @ckjz_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckjz: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkkM = load i64*, i64** %Hp_Var | |
%lnkkN = getelementptr inbounds i64, i64* %lnkkM, i32 3 | |
%lnkkO = ptrtoint i64* %lnkkN to i64 | |
%lnkkP = inttoptr i64 %lnkkO to i64* | |
store i64* %lnkkP, i64** %Hp_Var | |
%lnkkQ = load i64*, i64** %Hp_Var | |
%lnkkR = ptrtoint i64* %lnkkQ to i64 | |
%lnkkS = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkkT = bitcast i64* %lnkkS to i64* | |
%lnkkU = load i64, i64* %lnkkT, !tbaa !4 | |
%lnkkV = icmp ugt i64 %lnkkR, %lnkkU | |
br i1 %lnkkV, label %ckjG, label %ckjF | |
ckjF: | |
%lnkkX = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnkkW = load i64*, i64** %Hp_Var | |
%lnkkY = getelementptr inbounds i64, i64* %lnkkW, i32 -2 | |
store i64 %lnkkX, i64* %lnkkY, !tbaa !2 | |
%lnkl0 = load i64, i64* %R1_Var | |
%lnkkZ = load i64*, i64** %Hp_Var | |
%lnkl1 = getelementptr inbounds i64, i64* %lnkkZ, i32 -1 | |
store i64 %lnkl0, i64* %lnkl1, !tbaa !2 | |
%lnkl3 = load i64, i64* %R2_Var | |
%lnkl2 = load i64*, i64** %Hp_Var | |
%lnkl4 = getelementptr inbounds i64, i64* %lnkl2, i32 0 | |
store i64 %lnkl3, i64* %lnkl4, !tbaa !2 | |
%lnkl6 = load i64*, i64** %Hp_Var | |
%lnkl7 = ptrtoint i64* %lnkl6 to i64 | |
%lnkl8 = add i64 %lnkl7, -14 | |
store i64 %lnkl8, i64* %R1_Var | |
%lnkl9 = load i64*, i64** %Sp_Var | |
%lnkla = getelementptr inbounds i64, i64* %lnkl9, i32 1 | |
%lnklb = ptrtoint i64* %lnkla to i64 | |
%lnklc = inttoptr i64 %lnklb to i64* | |
store i64* %lnklc, i64** %Sp_Var | |
%lnkld = load i64*, i64** %Sp_Var | |
%lnkle = getelementptr inbounds i64, i64* %lnkld, i32 0 | |
%lnklf = bitcast i64* %lnkle to i64* | |
%lnklg = load i64, i64* %lnklf, !tbaa !1 | |
%lnklh = inttoptr i64 %lnklg to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkli = load i64*, i64** %Sp_Var | |
%lnklj = load i64*, i64** %Hp_Var | |
%lnklk = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnklh( i64* %Base_Arg, i64* %lnkli, i64* %lnklj, i64 %lnklk, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckjG: | |
%lnkll = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkll, !tbaa !4 | |
%lnklm = load i64, i64* %R2_Var | |
store i64 %lnklm, i64* %R2_Var | |
%lnkln = load i64, i64* %R1_Var | |
store i64 %lnkln, i64* %R1_Var | |
%lnklo = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnklp = load i64*, i64** %Sp_Var | |
%lnklq = load i64*, i64** %Hp_Var | |
%lnklr = load i64, i64* %R1_Var | |
%lnkls = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnklo( i64* %Base_Arg, i64* %lnklp, i64* %lnklq, i64 %lnklr, i64 %lnkls, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siNS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNS_info$def to i8*) | |
define internal ghccc void @siNS_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNS_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}> | |
{ | |
ckjH: | |
%lsiNS = alloca i64, i32 1 | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiNG = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnklt = load i64, i64* %R1_Var | |
store i64 %lnklt, i64* %lsiNS | |
%lnklu = load i64*, i64** %Sp_Var | |
%lnklv = getelementptr inbounds i64, i64* %lnklu, i32 -3 | |
%lnklw = ptrtoint i64* %lnklv to i64 | |
%lnklx = icmp ult i64 %lnklw, %SpLim_Arg | |
br i1 %lnklx, label %ckjI, label %ckjJ | |
ckjJ: | |
%lnkly = load i64*, i64** %Hp_Var | |
%lnklz = getelementptr inbounds i64, i64* %lnkly, i32 6 | |
%lnklA = ptrtoint i64* %lnklz to i64 | |
%lnklB = inttoptr i64 %lnklA to i64* | |
store i64* %lnklB, i64** %Hp_Var | |
%lnklC = load i64*, i64** %Hp_Var | |
%lnklD = ptrtoint i64* %lnklC to i64 | |
%lnklE = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnklF = bitcast i64* %lnklE to i64* | |
%lnklG = load i64, i64* %lnklF, !tbaa !4 | |
%lnklH = icmp ugt i64 %lnklD, %lnklG | |
br i1 %lnklH, label %ckjL, label %ckjK | |
ckjK: | |
%lnklJ = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnklI = load i64*, i64** %Sp_Var | |
%lnklK = getelementptr inbounds i64, i64* %lnklI, i32 -2 | |
store i64 %lnklJ, i64* %lnklK, !tbaa !1 | |
%lnklM = load i64, i64* %lsiNS | |
%lnklL = load i64*, i64** %Sp_Var | |
%lnklN = getelementptr inbounds i64, i64* %lnklL, i32 -1 | |
store i64 %lnklM, i64* %lnklN, !tbaa !1 | |
%lnklO = load i64, i64* %lsiNS | |
%lnklP = add i64 %lnklO, 16 | |
%lnklQ = inttoptr i64 %lnklP to i64* | |
%lnklR = load i64, i64* %lnklQ, !tbaa !5 | |
store i64 %lnklR, i64* %lsiNG | |
%lnklS = load i64, i64* %lsiNG | |
%lnklT = icmp slt i64 %lnklS, 0 | |
%lnklU = zext i1 %lnklT to i64 | |
switch i64 %lnklU, label %ckjQ [i64 0, label %ckjQ | |
i64 1, label %ckjY] | |
ckjQ: | |
%lnklV = load i64*, i64** %Hp_Var | |
%lnklW = getelementptr inbounds i64, i64* %lnklV, i32 -6 | |
%lnklX = ptrtoint i64* %lnklW to i64 | |
%lnklY = inttoptr i64 %lnklX to i64* | |
store i64* %lnklY, i64** %Hp_Var | |
%lnkm0 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjM_info$def to i64 | |
%lnklZ = load i64*, i64** %Sp_Var | |
%lnkm1 = getelementptr inbounds i64, i64* %lnklZ, i32 -3 | |
store i64 %lnkm0, i64* %lnkm1, !tbaa !1 | |
%lnkm2 = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64 | |
%lnkm3 = add i64 %lnkm2, 1 | |
store i64 %lnkm3, i64* %R3_Var | |
%lnkm4 = load i64, i64* %lsiNG | |
store i64 %lnkm4, i64* %R2_Var | |
%lnkm5 = load i64*, i64** %Sp_Var | |
%lnkm6 = getelementptr inbounds i64, i64* %lnkm5, i32 -3 | |
%lnkm7 = ptrtoint i64* %lnkm6 to i64 | |
%lnkm8 = inttoptr i64 %lnkm7 to i64* | |
store i64* %lnkm8, i64** %Sp_Var | |
%lnkm9 = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkma = load i64*, i64** %Sp_Var | |
%lnkmb = load i64*, i64** %Hp_Var | |
%lnkmc = load i64, i64* %R1_Var | |
%lnkmd = load i64, i64* %R2_Var | |
%lnkme = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkm9( i64* %Base_Arg, i64* %lnkma, i64* %lnkmb, i64 %lnkmc, i64 %lnkmd, i64 %lnkme, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckjY: | |
%lnkmf = load i64, i64* %lsiNG | |
switch i64 %lnkmf, label %ckjW [i64 -9223372036854775808, label %ckjX] | |
ckjW: | |
%lnkmh = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNR_info$def to i64 | |
%lnkmg = load i64*, i64** %Hp_Var | |
%lnkmi = getelementptr inbounds i64, i64* %lnkmg, i32 -5 | |
store i64 %lnkmh, i64* %lnkmi, !tbaa !2 | |
%lnkmk = load i64, i64* %lsiNG | |
%lnkmj = load i64*, i64** %Hp_Var | |
%lnkml = getelementptr inbounds i64, i64* %lnkmj, i32 -3 | |
store i64 %lnkmk, i64* %lnkml, !tbaa !2 | |
%lnkmn = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnkmm = load i64*, i64** %Hp_Var | |
%lnkmo = getelementptr inbounds i64, i64* %lnkmm, i32 -2 | |
store i64 %lnkmn, i64* %lnkmo, !tbaa !2 | |
%lnkmq = ptrtoint i8* @base_GHCziShow_shows9_closure to i64 | |
%lnkmp = load i64*, i64** %Hp_Var | |
%lnkmr = getelementptr inbounds i64, i64* %lnkmp, i32 -1 | |
store i64 %lnkmq, i64* %lnkmr, !tbaa !2 | |
%lnkmt = load i64*, i64** %Hp_Var | |
%lnkmu = getelementptr inbounds i64, i64* %lnkmt, i32 -5 | |
%lnkmv = ptrtoint i64* %lnkmu to i64 | |
%lnkms = load i64*, i64** %Hp_Var | |
%lnkmw = getelementptr inbounds i64, i64* %lnkms, i32 0 | |
store i64 %lnkmv, i64* %lnkmw, !tbaa !2 | |
%lnkmy = load i64*, i64** %Hp_Var | |
%lnkmz = ptrtoint i64* %lnkmy to i64 | |
%lnkmA = add i64 %lnkmz, -14 | |
store i64 %lnkmA, i64* %R1_Var | |
%lnkmB = load i64*, i64** %Sp_Var | |
%lnkmC = getelementptr inbounds i64, i64* %lnkmB, i32 -2 | |
%lnkmD = ptrtoint i64* %lnkmC to i64 | |
%lnkmE = inttoptr i64 %lnkmD to i64* | |
store i64* %lnkmE, i64** %Sp_Var | |
%lnkmF = load i64*, i64** %Sp_Var | |
%lnkmG = getelementptr inbounds i64, i64* %lnkmF, i32 0 | |
%lnkmH = bitcast i64* %lnkmG to i64* | |
%lnkmI = load i64, i64* %lnkmH, !tbaa !1 | |
%lnkmJ = inttoptr i64 %lnkmI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkmK = load i64*, i64** %Sp_Var | |
%lnkmL = load i64*, i64** %Hp_Var | |
%lnkmM = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkmJ( i64* %Base_Arg, i64* %lnkmK, i64* %lnkmL, i64 %lnkmM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckjX: | |
%lnkmN = load i64*, i64** %Hp_Var | |
%lnkmO = getelementptr inbounds i64, i64* %lnkmN, i32 -6 | |
%lnkmP = ptrtoint i64* %lnkmO to i64 | |
%lnkmQ = inttoptr i64 %lnkmP to i64* | |
store i64* %lnkmQ, i64** %Hp_Var | |
%lnkmR = ptrtoint %riFV_closure_struct* @riFV_closure$def to i64 | |
%lnkmS = add i64 %lnkmR, 2 | |
store i64 %lnkmS, i64* %R1_Var | |
%lnkmT = load i64*, i64** %Sp_Var | |
%lnkmU = getelementptr inbounds i64, i64* %lnkmT, i32 -2 | |
%lnkmV = ptrtoint i64* %lnkmU to i64 | |
%lnkmW = inttoptr i64 %lnkmV to i64* | |
store i64* %lnkmW, i64** %Sp_Var | |
%lnkmX = load i64*, i64** %Sp_Var | |
%lnkmY = getelementptr inbounds i64, i64* %lnkmX, i32 0 | |
%lnkmZ = bitcast i64* %lnkmY to i64* | |
%lnkn0 = load i64, i64* %lnkmZ, !tbaa !1 | |
%lnkn1 = inttoptr i64 %lnkn0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkn2 = load i64*, i64** %Sp_Var | |
%lnkn3 = load i64*, i64** %Hp_Var | |
%lnkn4 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkn1( i64* %Base_Arg, i64* %lnkn2, i64* %lnkn3, i64 %lnkn4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckjL: | |
%lnkn5 = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 48, i64* %lnkn5, !tbaa !4 | |
br label %ckjI | |
ckjI: | |
%lnkn6 = load i64, i64* %lsiNS | |
store i64 %lnkn6, i64* %R1_Var | |
%lnkn7 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkn8 = bitcast i64* %lnkn7 to i64* | |
%lnkn9 = load i64, i64* %lnkn8, !tbaa !4 | |
%lnkna = inttoptr i64 %lnkn9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnknb = load i64*, i64** %Sp_Var | |
%lnknc = load i64*, i64** %Hp_Var | |
%lnknd = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkna( i64* %Base_Arg, i64* %lnknb, i64* %lnknc, i64 %lnknd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckjM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckjM_info$def to i8*) | |
define internal ghccc void @ckjM_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckjM: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkne = load i64*, i64** %Hp_Var | |
%lnknf = getelementptr inbounds i64, i64* %lnkne, i32 3 | |
%lnkng = ptrtoint i64* %lnknf to i64 | |
%lnknh = inttoptr i64 %lnkng to i64* | |
store i64* %lnknh, i64** %Hp_Var | |
%lnkni = load i64*, i64** %Hp_Var | |
%lnknj = ptrtoint i64* %lnkni to i64 | |
%lnknk = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnknl = bitcast i64* %lnknk to i64* | |
%lnknm = load i64, i64* %lnknl, !tbaa !4 | |
%lnknn = icmp ugt i64 %lnknj, %lnknm | |
br i1 %lnknn, label %ckjT, label %ckjS | |
ckjS: | |
%lnknp = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnkno = load i64*, i64** %Hp_Var | |
%lnknq = getelementptr inbounds i64, i64* %lnkno, i32 -2 | |
store i64 %lnknp, i64* %lnknq, !tbaa !2 | |
%lnkns = load i64, i64* %R1_Var | |
%lnknr = load i64*, i64** %Hp_Var | |
%lnknt = getelementptr inbounds i64, i64* %lnknr, i32 -1 | |
store i64 %lnkns, i64* %lnknt, !tbaa !2 | |
%lnknv = load i64, i64* %R2_Var | |
%lnknu = load i64*, i64** %Hp_Var | |
%lnknw = getelementptr inbounds i64, i64* %lnknu, i32 0 | |
store i64 %lnknv, i64* %lnknw, !tbaa !2 | |
%lnkny = load i64*, i64** %Hp_Var | |
%lnknz = ptrtoint i64* %lnkny to i64 | |
%lnknA = add i64 %lnknz, -14 | |
store i64 %lnknA, i64* %R1_Var | |
%lnknB = load i64*, i64** %Sp_Var | |
%lnknC = getelementptr inbounds i64, i64* %lnknB, i32 1 | |
%lnknD = ptrtoint i64* %lnknC to i64 | |
%lnknE = inttoptr i64 %lnknD to i64* | |
store i64* %lnknE, i64** %Sp_Var | |
%lnknF = load i64*, i64** %Sp_Var | |
%lnknG = getelementptr inbounds i64, i64* %lnknF, i32 0 | |
%lnknH = bitcast i64* %lnknG to i64* | |
%lnknI = load i64, i64* %lnknH, !tbaa !1 | |
%lnknJ = inttoptr i64 %lnknI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnknK = load i64*, i64** %Sp_Var | |
%lnknL = load i64*, i64** %Hp_Var | |
%lnknM = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnknJ( i64* %Base_Arg, i64* %lnknK, i64* %lnknL, i64 %lnknM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckjT: | |
%lnknN = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnknN, !tbaa !4 | |
%lnknO = load i64, i64* %R2_Var | |
store i64 %lnknO, i64* %R2_Var | |
%lnknP = load i64, i64* %R1_Var | |
store i64 %lnknP, i64* %R1_Var | |
%lnknQ = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnknR = load i64*, i64** %Sp_Var | |
%lnknS = load i64*, i64** %Hp_Var | |
%lnknT = load i64, i64* %R1_Var | |
%lnknU = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnknQ( i64* %Base_Arg, i64* %lnknR, i64* %lnknS, i64 %lnknT, i64 %lnknU, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siNT_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNT_info$def to i8*) | |
define internal ghccc void @siNT_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNT_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}> | |
{ | |
ckk0: | |
%lsiNT = alloca i64, i32 1 | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiNG = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnknV = load i64, i64* %R1_Var | |
store i64 %lnknV, i64* %lsiNT | |
%lnknW = load i64*, i64** %Sp_Var | |
%lnknX = getelementptr inbounds i64, i64* %lnknW, i32 -2 | |
%lnknY = ptrtoint i64* %lnknX to i64 | |
%lnknZ = icmp ult i64 %lnknY, %SpLim_Arg | |
br i1 %lnknZ, label %ckk1, label %ckk2 | |
ckk2: | |
%lnko0 = load i64*, i64** %Hp_Var | |
%lnko1 = getelementptr inbounds i64, i64* %lnko0, i32 3 | |
%lnko2 = ptrtoint i64* %lnko1 to i64 | |
%lnko3 = inttoptr i64 %lnko2 to i64* | |
store i64* %lnko3, i64** %Hp_Var | |
%lnko4 = load i64*, i64** %Hp_Var | |
%lnko5 = ptrtoint i64* %lnko4 to i64 | |
%lnko6 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnko7 = bitcast i64* %lnko6 to i64* | |
%lnko8 = load i64, i64* %lnko7, !tbaa !4 | |
%lnko9 = icmp ugt i64 %lnko5, %lnko8 | |
br i1 %lnko9, label %ckk4, label %ckk3 | |
ckk3: | |
%lnkob = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnkoa = load i64*, i64** %Sp_Var | |
%lnkoc = getelementptr inbounds i64, i64* %lnkoa, i32 -2 | |
store i64 %lnkob, i64* %lnkoc, !tbaa !1 | |
%lnkoe = load i64, i64* %lsiNT | |
%lnkod = load i64*, i64** %Sp_Var | |
%lnkof = getelementptr inbounds i64, i64* %lnkod, i32 -1 | |
store i64 %lnkoe, i64* %lnkof, !tbaa !1 | |
%lnkog = load i64, i64* %lsiNT | |
%lnkoh = add i64 %lnkog, 16 | |
%lnkoi = inttoptr i64 %lnkoh to i64* | |
%lnkoj = load i64, i64* %lnkoi, !tbaa !5 | |
store i64 %lnkoj, i64* %lsiNG | |
%lnkol = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNS_info$def to i64 | |
%lnkok = load i64*, i64** %Hp_Var | |
%lnkom = getelementptr inbounds i64, i64* %lnkok, i32 -2 | |
store i64 %lnkol, i64* %lnkom, !tbaa !2 | |
%lnkoo = load i64, i64* %lsiNG | |
%lnkon = load i64*, i64** %Hp_Var | |
%lnkop = getelementptr inbounds i64, i64* %lnkon, i32 0 | |
store i64 %lnkoo, i64* %lnkop, !tbaa !2 | |
%lnkoq = load i64*, i64** %Hp_Var | |
%lnkor = getelementptr inbounds i64, i64* %lnkoq, i32 -2 | |
%lnkos = ptrtoint i64* %lnkor to i64 | |
store i64 %lnkos, i64* %R3_Var | |
%lnkot = ptrtoint %ckjZ_str_struct* @ckjZ_str$def to i64 | |
store i64 %lnkot, i64* %R2_Var | |
%lnkou = load i64*, i64** %Sp_Var | |
%lnkov = getelementptr inbounds i64, i64* %lnkou, i32 -2 | |
%lnkow = ptrtoint i64* %lnkov to i64 | |
%lnkox = inttoptr i64 %lnkow to i64* | |
store i64* %lnkox, i64** %Sp_Var | |
%lnkoy = bitcast i8* @ghczmprim_GHCziCString_unpackAppendCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkoz = load i64*, i64** %Sp_Var | |
%lnkoA = load i64*, i64** %Hp_Var | |
%lnkoB = load i64, i64* %R1_Var | |
%lnkoC = load i64, i64* %R2_Var | |
%lnkoD = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkoy( i64* %Base_Arg, i64* %lnkoz, i64* %lnkoA, i64 %lnkoB, i64 %lnkoC, i64 %lnkoD, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckk4: | |
%lnkoE = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkoE, !tbaa !4 | |
br label %ckk1 | |
ckk1: | |
%lnkoF = load i64, i64* %lsiNT | |
store i64 %lnkoF, i64* %R1_Var | |
%lnkoG = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkoH = bitcast i64* %lnkoG to i64* | |
%lnkoI = load i64, i64* %lnkoH, !tbaa !4 | |
%lnkoJ = inttoptr i64 %lnkoI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkoK = load i64*, i64** %Sp_Var | |
%lnkoL = load i64*, i64** %Hp_Var | |
%lnkoM = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkoJ( i64* %Base_Arg, i64* %lnkoK, i64* %lnkoL, i64 %lnkoM, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riFW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to i8*) | |
define internal ghccc void @riFW_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to i64)),i64 104), i64 4294967300, i64 0, i64 64424509455}> | |
{ | |
ckk5: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkoN = load i64*, i64** %Hp_Var | |
%lnkoO = getelementptr inbounds i64, i64* %lnkoN, i32 3 | |
%lnkoP = ptrtoint i64* %lnkoO to i64 | |
%lnkoQ = inttoptr i64 %lnkoP to i64* | |
store i64* %lnkoQ, i64** %Hp_Var | |
%lnkoR = load i64*, i64** %Hp_Var | |
%lnkoS = ptrtoint i64* %lnkoR to i64 | |
%lnkoT = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkoU = bitcast i64* %lnkoT to i64* | |
%lnkoV = load i64, i64* %lnkoU, !tbaa !4 | |
%lnkoW = icmp ugt i64 %lnkoS, %lnkoV | |
br i1 %lnkoW, label %ckk9, label %ckk8 | |
ckk8: | |
%lnkoY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siNT_info$def to i64 | |
%lnkoX = load i64*, i64** %Hp_Var | |
%lnkoZ = getelementptr inbounds i64, i64* %lnkoX, i32 -2 | |
store i64 %lnkoY, i64* %lnkoZ, !tbaa !2 | |
%lnkp1 = load i64, i64* %R2_Var | |
%lnkp0 = load i64*, i64** %Hp_Var | |
%lnkp2 = getelementptr inbounds i64, i64* %lnkp0, i32 0 | |
store i64 %lnkp1, i64* %lnkp2, !tbaa !2 | |
%lnkp3 = load i64*, i64** %Hp_Var | |
%lnkp4 = getelementptr inbounds i64, i64* %lnkp3, i32 -2 | |
%lnkp5 = ptrtoint i64* %lnkp4 to i64 | |
store i64 %lnkp5, i64* %R3_Var | |
%lnkp6 = ptrtoint %riFT_closure_struct* @riFT_closure$def to i64 | |
%lnkp7 = add i64 %lnkp6, 2 | |
store i64 %lnkp7, i64* %R2_Var | |
%lnkp8 = bitcast i8* @base_GHCziErr_error_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkp9 = load i64*, i64** %Hp_Var | |
%lnkpa = load i64, i64* %R1_Var | |
%lnkpb = load i64, i64* %R2_Var | |
%lnkpc = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkp8( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkp9, i64 %lnkpa, i64 %lnkpb, i64 %lnkpc, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckk9: | |
%lnkpd = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkpd, !tbaa !4 | |
%lnkpe = load i64, i64* %R2_Var | |
store i64 %lnkpe, i64* %R2_Var | |
%lnkpf = ptrtoint %riFW_closure_struct* @riFW_closure$def to i64 | |
store i64 %lnkpf, i64* %R1_Var | |
%lnkpg = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnkph = bitcast i64* %lnkpg to i64* | |
%lnkpi = load i64, i64* %lnkph, !tbaa !4 | |
%lnkpj = inttoptr i64 %lnkpi to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkpk = load i64*, i64** %Hp_Var | |
%lnkpl = load i64, i64* %R1_Var | |
%lnkpm = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkpj( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkpk, i64 %lnkpl, i64 %lnkpm, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%riFX_closure_struct = type <{i64, i64}> | |
@riFX_closure$def = internal global %riFX_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 96}> | |
@riFX_closure = internal alias i8* bitcast (%riFX_closure_struct* @riFX_closure$def to i8*) | |
%riFY_closure_struct = type <{i64, i64}> | |
@riFY_closure$def = internal global %riFY_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 15}> | |
@riFY_closure = internal alias i8* bitcast (%riFY_closure_struct* @riFY_closure$def to i8*) | |
%riFZ_closure_struct = type <{i64, i64}> | |
@riFZ_closure$def = internal global %riFZ_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Izh_static_info to i64), i64 78}> | |
@riFZ_closure = internal alias i8* bitcast (%riFZ_closure_struct* @riFZ_closure$def to i8*) | |
%riG0_closure_struct = type <{i64, i64, i64, i64, i64, i64, i64, i64, i64}> | |
@riG0_closure$def = internal global %riG0_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_SrcLoc_static_info to i64), i64 ptrtoint (%riFM_closure_struct* @riFM_closure$def to i64), i64 ptrtoint (%riFN_closure_struct* @riFN_closure$def to i64), i64 ptrtoint (%riFO_closure_struct* @riFO_closure$def to i64), i64 add (i64 ptrtoint (%riFX_closure_struct* @riFX_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFY_closure_struct* @riFY_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFX_closure_struct* @riFX_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%riFZ_closure_struct* @riFZ_closure$def to i64),i64 1), i64 0}> | |
@riG0_closure = internal alias i8* bitcast (%riG0_closure_struct* @riG0_closure$def to i8*) | |
%riG1_closure_struct = type <{i64, i64, i64, i64, i64}> | |
@riG1_closure$def = internal global %riG1_closure_struct<{i64 ptrtoint (i8* @base_GHCziStackziTypes_PushCallStack_static_info to i64), i64 ptrtoint (%riFL_closure_struct* @riFL_closure$def to i64), i64 add (i64 ptrtoint (%riG0_closure_struct* @riG0_closure$def to i64),i64 1), i64 add (i64 ptrtoint (i8* @base_GHCziStackziTypes_EmptyCallStack_closure to i64),i64 1), i64 0}> | |
@riG1_closure = internal alias i8* bitcast (%riG1_closure_struct* @riG1_closure$def to i8*) | |
%riG2_closure_struct = type <{i64, i64}> | |
%ckqC_str_struct = type <{[44 x i8]}> | |
@riG2_closure$def = internal global %riG2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to i64), i64 0}> | |
@riG2_closure = internal alias i8* bitcast (%riG2_closure_struct* @riG2_closure$def to i8*) | |
@ckqC_str$def = internal constant %ckqC_str_struct<{[44 x i8] [i8 80, i8 114, i8 105, i8 109, i8 105, i8 116, i8 105, i8 118, i8 101, i8 46, i8 98, i8 97, i8 115, i8 105, i8 99, i8 85, i8 110, i8 115, i8 97, i8 102, i8 101, i8 78, i8 101, i8 119, i8 58, i8 32, i8 110, i8 101, i8 103, i8 97, i8 116, i8 105, i8 118, i8 101, i8 32, i8 108, i8 101, i8 110, i8 103, i8 116, i8 104, i8 58, i8 32, i8 0]}> | |
@ckqC_str = internal alias i8* bitcast (%ckqC_str_struct* @ckqC_str$def to i8*) | |
@siO5_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO5_info$def to i8*) | |
define internal ghccc void @siO5_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 4294967296, i64 18}> | |
{ | |
ckqa: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkqN = load i64*, i64** %Sp_Var | |
%lnkqO = getelementptr inbounds i64, i64* %lnkqN, i32 -3 | |
%lnkqP = ptrtoint i64* %lnkqO to i64 | |
%lnkqQ = icmp ult i64 %lnkqP, %SpLim_Arg | |
br i1 %lnkqQ, label %ckqf, label %ckqg | |
ckqg: | |
%lnkqS = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnkqR = load i64*, i64** %Sp_Var | |
%lnkqT = getelementptr inbounds i64, i64* %lnkqR, i32 -2 | |
store i64 %lnkqS, i64* %lnkqT, !tbaa !1 | |
%lnkqV = load i64, i64* %R1_Var | |
%lnkqU = load i64*, i64** %Sp_Var | |
%lnkqW = getelementptr inbounds i64, i64* %lnkqU, i32 -1 | |
store i64 %lnkqV, i64* %lnkqW, !tbaa !1 | |
%lnkqY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqc_info$def to i64 | |
%lnkqX = load i64*, i64** %Sp_Var | |
%lnkqZ = getelementptr inbounds i64, i64* %lnkqX, i32 -3 | |
store i64 %lnkqY, i64* %lnkqZ, !tbaa !1 | |
%lnkr0 = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64 | |
%lnkr1 = add i64 %lnkr0, 1 | |
store i64 %lnkr1, i64* %R3_Var | |
%lnkr4 = load i64, i64* %R1_Var | |
%lnkr5 = add i64 %lnkr4, 16 | |
%lnkr6 = inttoptr i64 %lnkr5 to i64* | |
%lnkr7 = load i64, i64* %lnkr6, !tbaa !3 | |
%lnkr8 = sub i64 0, %lnkr7 | |
store i64 %lnkr8, i64* %R2_Var | |
%lnkr9 = load i64*, i64** %Sp_Var | |
%lnkra = getelementptr inbounds i64, i64* %lnkr9, i32 -3 | |
%lnkrb = ptrtoint i64* %lnkra to i64 | |
%lnkrc = inttoptr i64 %lnkrb to i64* | |
store i64* %lnkrc, i64** %Sp_Var | |
%lnkrd = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkre = load i64*, i64** %Sp_Var | |
%lnkrf = load i64, i64* %R1_Var | |
%lnkrg = load i64, i64* %R2_Var | |
%lnkrh = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkrd( i64* %Base_Arg, i64* %lnkre, i64* %Hp_Arg, i64 %lnkrf, i64 %lnkrg, i64 %lnkrh, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqf: | |
%lnkri = load i64, i64* %R1_Var | |
store i64 %lnkri, i64* %R1_Var | |
%lnkrj = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkrk = bitcast i64* %lnkrj to i64* | |
%lnkrl = load i64, i64* %lnkrk, !tbaa !4 | |
%lnkrm = inttoptr i64 %lnkrl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkrn = load i64*, i64** %Sp_Var | |
%lnkro = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkrm( i64* %Base_Arg, i64* %lnkrn, i64* %Hp_Arg, i64 %lnkro, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckqc_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqc_info$def to i8*) | |
define internal ghccc void @ckqc_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckqc: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkrp = load i64*, i64** %Hp_Var | |
%lnkrq = getelementptr inbounds i64, i64* %lnkrp, i32 3 | |
%lnkrr = ptrtoint i64* %lnkrq to i64 | |
%lnkrs = inttoptr i64 %lnkrr to i64* | |
store i64* %lnkrs, i64** %Hp_Var | |
%lnkrt = load i64*, i64** %Hp_Var | |
%lnkru = ptrtoint i64* %lnkrt to i64 | |
%lnkrv = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkrw = bitcast i64* %lnkrv to i64* | |
%lnkrx = load i64, i64* %lnkrw, !tbaa !4 | |
%lnkry = icmp ugt i64 %lnkru, %lnkrx | |
br i1 %lnkry, label %ckqj, label %ckqi | |
ckqi: | |
%lnkrA = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnkrz = load i64*, i64** %Hp_Var | |
%lnkrB = getelementptr inbounds i64, i64* %lnkrz, i32 -2 | |
store i64 %lnkrA, i64* %lnkrB, !tbaa !2 | |
%lnkrD = load i64, i64* %R1_Var | |
%lnkrC = load i64*, i64** %Hp_Var | |
%lnkrE = getelementptr inbounds i64, i64* %lnkrC, i32 -1 | |
store i64 %lnkrD, i64* %lnkrE, !tbaa !2 | |
%lnkrG = load i64, i64* %R2_Var | |
%lnkrF = load i64*, i64** %Hp_Var | |
%lnkrH = getelementptr inbounds i64, i64* %lnkrF, i32 0 | |
store i64 %lnkrG, i64* %lnkrH, !tbaa !2 | |
%lnkrJ = load i64*, i64** %Hp_Var | |
%lnkrK = ptrtoint i64* %lnkrJ to i64 | |
%lnkrL = add i64 %lnkrK, -14 | |
store i64 %lnkrL, i64* %R1_Var | |
%lnkrM = load i64*, i64** %Sp_Var | |
%lnkrN = getelementptr inbounds i64, i64* %lnkrM, i32 1 | |
%lnkrO = ptrtoint i64* %lnkrN to i64 | |
%lnkrP = inttoptr i64 %lnkrO to i64* | |
store i64* %lnkrP, i64** %Sp_Var | |
%lnkrQ = load i64*, i64** %Sp_Var | |
%lnkrR = getelementptr inbounds i64, i64* %lnkrQ, i32 0 | |
%lnkrS = bitcast i64* %lnkrR to i64* | |
%lnkrT = load i64, i64* %lnkrS, !tbaa !1 | |
%lnkrU = inttoptr i64 %lnkrT to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkrV = load i64*, i64** %Sp_Var | |
%lnkrW = load i64*, i64** %Hp_Var | |
%lnkrX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkrU( i64* %Base_Arg, i64* %lnkrV, i64* %lnkrW, i64 %lnkrX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqj: | |
%lnkrY = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkrY, !tbaa !4 | |
%lnkrZ = load i64, i64* %R2_Var | |
store i64 %lnkrZ, i64* %R2_Var | |
%lnks0 = load i64, i64* %R1_Var | |
store i64 %lnks0, i64* %R1_Var | |
%lnks1 = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnks2 = load i64*, i64** %Sp_Var | |
%lnks3 = load i64*, i64** %Hp_Var | |
%lnks4 = load i64, i64* %R1_Var | |
%lnks5 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnks1( i64* %Base_Arg, i64* %lnks2, i64* %lnks3, i64 %lnks4, i64 %lnks5, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siO6_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO6_info$def to i8*) | |
define internal ghccc void @siO6_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO6_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}> | |
{ | |
ckqk: | |
%lsiO6 = alloca i64, i32 1 | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiNU = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnks6 = load i64, i64* %R1_Var | |
store i64 %lnks6, i64* %lsiO6 | |
%lnks7 = load i64*, i64** %Sp_Var | |
%lnks8 = getelementptr inbounds i64, i64* %lnks7, i32 -3 | |
%lnks9 = ptrtoint i64* %lnks8 to i64 | |
%lnksa = icmp ult i64 %lnks9, %SpLim_Arg | |
br i1 %lnksa, label %ckql, label %ckqm | |
ckqm: | |
%lnksb = load i64*, i64** %Hp_Var | |
%lnksc = getelementptr inbounds i64, i64* %lnksb, i32 6 | |
%lnksd = ptrtoint i64* %lnksc to i64 | |
%lnkse = inttoptr i64 %lnksd to i64* | |
store i64* %lnkse, i64** %Hp_Var | |
%lnksf = load i64*, i64** %Hp_Var | |
%lnksg = ptrtoint i64* %lnksf to i64 | |
%lnksh = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnksi = bitcast i64* %lnksh to i64* | |
%lnksj = load i64, i64* %lnksi, !tbaa !4 | |
%lnksk = icmp ugt i64 %lnksg, %lnksj | |
br i1 %lnksk, label %ckqo, label %ckqn | |
ckqn: | |
%lnksm = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnksl = load i64*, i64** %Sp_Var | |
%lnksn = getelementptr inbounds i64, i64* %lnksl, i32 -2 | |
store i64 %lnksm, i64* %lnksn, !tbaa !1 | |
%lnksp = load i64, i64* %lsiO6 | |
%lnkso = load i64*, i64** %Sp_Var | |
%lnksq = getelementptr inbounds i64, i64* %lnkso, i32 -1 | |
store i64 %lnksp, i64* %lnksq, !tbaa !1 | |
%lnksr = load i64, i64* %lsiO6 | |
%lnkss = add i64 %lnksr, 16 | |
%lnkst = inttoptr i64 %lnkss to i64* | |
%lnksu = load i64, i64* %lnkst, !tbaa !5 | |
store i64 %lnksu, i64* %lsiNU | |
%lnksv = load i64, i64* %lsiNU | |
%lnksw = icmp slt i64 %lnksv, 0 | |
%lnksx = zext i1 %lnksw to i64 | |
switch i64 %lnksx, label %ckqt [i64 0, label %ckqt | |
i64 1, label %ckqB] | |
ckqt: | |
%lnksy = load i64*, i64** %Hp_Var | |
%lnksz = getelementptr inbounds i64, i64* %lnksy, i32 -6 | |
%lnksA = ptrtoint i64* %lnksz to i64 | |
%lnksB = inttoptr i64 %lnksA to i64* | |
store i64* %lnksB, i64** %Hp_Var | |
%lnksD = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqp_info$def to i64 | |
%lnksC = load i64*, i64** %Sp_Var | |
%lnksE = getelementptr inbounds i64, i64* %lnksC, i32 -3 | |
store i64 %lnksD, i64* %lnksE, !tbaa !1 | |
%lnksF = ptrtoint i8* @ghczmprim_GHCziTypes_ZMZN_closure to i64 | |
%lnksG = add i64 %lnksF, 1 | |
store i64 %lnksG, i64* %R3_Var | |
%lnksH = load i64, i64* %lsiNU | |
store i64 %lnksH, i64* %R2_Var | |
%lnksI = load i64*, i64** %Sp_Var | |
%lnksJ = getelementptr inbounds i64, i64* %lnksI, i32 -3 | |
%lnksK = ptrtoint i64* %lnksJ to i64 | |
%lnksL = inttoptr i64 %lnksK to i64* | |
store i64* %lnksL, i64** %Sp_Var | |
%lnksM = bitcast i8* @base_GHCziShow_zdwitoszq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnksN = load i64*, i64** %Sp_Var | |
%lnksO = load i64*, i64** %Hp_Var | |
%lnksP = load i64, i64* %R1_Var | |
%lnksQ = load i64, i64* %R2_Var | |
%lnksR = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnksM( i64* %Base_Arg, i64* %lnksN, i64* %lnksO, i64 %lnksP, i64 %lnksQ, i64 %lnksR, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqB: | |
%lnksS = load i64, i64* %lsiNU | |
switch i64 %lnksS, label %ckqz [i64 -9223372036854775808, label %ckqA] | |
ckqz: | |
%lnksU = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO5_info$def to i64 | |
%lnksT = load i64*, i64** %Hp_Var | |
%lnksV = getelementptr inbounds i64, i64* %lnksT, i32 -5 | |
store i64 %lnksU, i64* %lnksV, !tbaa !2 | |
%lnksX = load i64, i64* %lsiNU | |
%lnksW = load i64*, i64** %Hp_Var | |
%lnksY = getelementptr inbounds i64, i64* %lnksW, i32 -3 | |
store i64 %lnksX, i64* %lnksY, !tbaa !2 | |
%lnkt0 = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnksZ = load i64*, i64** %Hp_Var | |
%lnkt1 = getelementptr inbounds i64, i64* %lnksZ, i32 -2 | |
store i64 %lnkt0, i64* %lnkt1, !tbaa !2 | |
%lnkt3 = ptrtoint i8* @base_GHCziShow_shows9_closure to i64 | |
%lnkt2 = load i64*, i64** %Hp_Var | |
%lnkt4 = getelementptr inbounds i64, i64* %lnkt2, i32 -1 | |
store i64 %lnkt3, i64* %lnkt4, !tbaa !2 | |
%lnkt6 = load i64*, i64** %Hp_Var | |
%lnkt7 = getelementptr inbounds i64, i64* %lnkt6, i32 -5 | |
%lnkt8 = ptrtoint i64* %lnkt7 to i64 | |
%lnkt5 = load i64*, i64** %Hp_Var | |
%lnkt9 = getelementptr inbounds i64, i64* %lnkt5, i32 0 | |
store i64 %lnkt8, i64* %lnkt9, !tbaa !2 | |
%lnktb = load i64*, i64** %Hp_Var | |
%lnktc = ptrtoint i64* %lnktb to i64 | |
%lnktd = add i64 %lnktc, -14 | |
store i64 %lnktd, i64* %R1_Var | |
%lnkte = load i64*, i64** %Sp_Var | |
%lnktf = getelementptr inbounds i64, i64* %lnkte, i32 -2 | |
%lnktg = ptrtoint i64* %lnktf to i64 | |
%lnkth = inttoptr i64 %lnktg to i64* | |
store i64* %lnkth, i64** %Sp_Var | |
%lnkti = load i64*, i64** %Sp_Var | |
%lnktj = getelementptr inbounds i64, i64* %lnkti, i32 0 | |
%lnktk = bitcast i64* %lnktj to i64* | |
%lnktl = load i64, i64* %lnktk, !tbaa !1 | |
%lnktm = inttoptr i64 %lnktl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnktn = load i64*, i64** %Sp_Var | |
%lnkto = load i64*, i64** %Hp_Var | |
%lnktp = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnktm( i64* %Base_Arg, i64* %lnktn, i64* %lnkto, i64 %lnktp, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqA: | |
%lnktq = load i64*, i64** %Hp_Var | |
%lnktr = getelementptr inbounds i64, i64* %lnktq, i32 -6 | |
%lnkts = ptrtoint i64* %lnktr to i64 | |
%lnktt = inttoptr i64 %lnkts to i64* | |
store i64* %lnktt, i64** %Hp_Var | |
%lnktu = ptrtoint %riFV_closure_struct* @riFV_closure$def to i64 | |
%lnktv = add i64 %lnktu, 2 | |
store i64 %lnktv, i64* %R1_Var | |
%lnktw = load i64*, i64** %Sp_Var | |
%lnktx = getelementptr inbounds i64, i64* %lnktw, i32 -2 | |
%lnkty = ptrtoint i64* %lnktx to i64 | |
%lnktz = inttoptr i64 %lnkty to i64* | |
store i64* %lnktz, i64** %Sp_Var | |
%lnktA = load i64*, i64** %Sp_Var | |
%lnktB = getelementptr inbounds i64, i64* %lnktA, i32 0 | |
%lnktC = bitcast i64* %lnktB to i64* | |
%lnktD = load i64, i64* %lnktC, !tbaa !1 | |
%lnktE = inttoptr i64 %lnktD to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnktF = load i64*, i64** %Sp_Var | |
%lnktG = load i64*, i64** %Hp_Var | |
%lnktH = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnktE( i64* %Base_Arg, i64* %lnktF, i64* %lnktG, i64 %lnktH, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqo: | |
%lnktI = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 48, i64* %lnktI, !tbaa !4 | |
br label %ckql | |
ckql: | |
%lnktJ = load i64, i64* %lsiO6 | |
store i64 %lnktJ, i64* %R1_Var | |
%lnktK = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnktL = bitcast i64* %lnktK to i64* | |
%lnktM = load i64, i64* %lnktL, !tbaa !4 | |
%lnktN = inttoptr i64 %lnktM to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnktO = load i64*, i64** %Sp_Var | |
%lnktP = load i64*, i64** %Hp_Var | |
%lnktQ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnktN( i64* %Base_Arg, i64* %lnktO, i64* %lnktP, i64 %lnktQ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckqp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckqp_info$def to i8*) | |
define internal ghccc void @ckqp_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckqp: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnktR = load i64*, i64** %Hp_Var | |
%lnktS = getelementptr inbounds i64, i64* %lnktR, i32 3 | |
%lnktT = ptrtoint i64* %lnktS to i64 | |
%lnktU = inttoptr i64 %lnktT to i64* | |
store i64* %lnktU, i64** %Hp_Var | |
%lnktV = load i64*, i64** %Hp_Var | |
%lnktW = ptrtoint i64* %lnktV to i64 | |
%lnktX = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnktY = bitcast i64* %lnktX to i64* | |
%lnktZ = load i64, i64* %lnktY, !tbaa !4 | |
%lnku0 = icmp ugt i64 %lnktW, %lnktZ | |
br i1 %lnku0, label %ckqw, label %ckqv | |
ckqv: | |
%lnku2 = ptrtoint i8* @ghczmprim_GHCziTypes_ZC_con_info to i64 | |
%lnku1 = load i64*, i64** %Hp_Var | |
%lnku3 = getelementptr inbounds i64, i64* %lnku1, i32 -2 | |
store i64 %lnku2, i64* %lnku3, !tbaa !2 | |
%lnku5 = load i64, i64* %R1_Var | |
%lnku4 = load i64*, i64** %Hp_Var | |
%lnku6 = getelementptr inbounds i64, i64* %lnku4, i32 -1 | |
store i64 %lnku5, i64* %lnku6, !tbaa !2 | |
%lnku8 = load i64, i64* %R2_Var | |
%lnku7 = load i64*, i64** %Hp_Var | |
%lnku9 = getelementptr inbounds i64, i64* %lnku7, i32 0 | |
store i64 %lnku8, i64* %lnku9, !tbaa !2 | |
%lnkub = load i64*, i64** %Hp_Var | |
%lnkuc = ptrtoint i64* %lnkub to i64 | |
%lnkud = add i64 %lnkuc, -14 | |
store i64 %lnkud, i64* %R1_Var | |
%lnkue = load i64*, i64** %Sp_Var | |
%lnkuf = getelementptr inbounds i64, i64* %lnkue, i32 1 | |
%lnkug = ptrtoint i64* %lnkuf to i64 | |
%lnkuh = inttoptr i64 %lnkug to i64* | |
store i64* %lnkuh, i64** %Sp_Var | |
%lnkui = load i64*, i64** %Sp_Var | |
%lnkuj = getelementptr inbounds i64, i64* %lnkui, i32 0 | |
%lnkuk = bitcast i64* %lnkuj to i64* | |
%lnkul = load i64, i64* %lnkuk, !tbaa !1 | |
%lnkum = inttoptr i64 %lnkul to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkun = load i64*, i64** %Sp_Var | |
%lnkuo = load i64*, i64** %Hp_Var | |
%lnkup = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkum( i64* %Base_Arg, i64* %lnkun, i64* %lnkuo, i64 %lnkup, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqw: | |
%lnkuq = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkuq, !tbaa !4 | |
%lnkur = load i64, i64* %R2_Var | |
store i64 %lnkur, i64* %R2_Var | |
%lnkus = load i64, i64* %R1_Var | |
store i64 %lnkus, i64* %R1_Var | |
%lnkut = bitcast i8* @stg_gc_pp to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkuu = load i64*, i64** %Sp_Var | |
%lnkuv = load i64*, i64** %Hp_Var | |
%lnkuw = load i64, i64* %R1_Var | |
%lnkux = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkut( i64* %Base_Arg, i64* %lnkuu, i64* %lnkuv, i64 %lnkuw, i64 %lnkux, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siO7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO7_info$def to i8*) | |
define internal ghccc void @siO7_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO7_info$def to i64)),i64 104), i64 4294967296, i64 4294967314}> | |
{ | |
ckqD: | |
%lsiO7 = alloca i64, i32 1 | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiNU = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkuy = load i64, i64* %R1_Var | |
store i64 %lnkuy, i64* %lsiO7 | |
%lnkuz = load i64*, i64** %Sp_Var | |
%lnkuA = getelementptr inbounds i64, i64* %lnkuz, i32 -2 | |
%lnkuB = ptrtoint i64* %lnkuA to i64 | |
%lnkuC = icmp ult i64 %lnkuB, %SpLim_Arg | |
br i1 %lnkuC, label %ckqE, label %ckqF | |
ckqF: | |
%lnkuD = load i64*, i64** %Hp_Var | |
%lnkuE = getelementptr inbounds i64, i64* %lnkuD, i32 3 | |
%lnkuF = ptrtoint i64* %lnkuE to i64 | |
%lnkuG = inttoptr i64 %lnkuF to i64* | |
store i64* %lnkuG, i64** %Hp_Var | |
%lnkuH = load i64*, i64** %Hp_Var | |
%lnkuI = ptrtoint i64* %lnkuH to i64 | |
%lnkuJ = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkuK = bitcast i64* %lnkuJ to i64* | |
%lnkuL = load i64, i64* %lnkuK, !tbaa !4 | |
%lnkuM = icmp ugt i64 %lnkuI, %lnkuL | |
br i1 %lnkuM, label %ckqH, label %ckqG | |
ckqG: | |
%lnkuO = ptrtoint i8* @stg_upd_frame_info to i64 | |
%lnkuN = load i64*, i64** %Sp_Var | |
%lnkuP = getelementptr inbounds i64, i64* %lnkuN, i32 -2 | |
store i64 %lnkuO, i64* %lnkuP, !tbaa !1 | |
%lnkuR = load i64, i64* %lsiO7 | |
%lnkuQ = load i64*, i64** %Sp_Var | |
%lnkuS = getelementptr inbounds i64, i64* %lnkuQ, i32 -1 | |
store i64 %lnkuR, i64* %lnkuS, !tbaa !1 | |
%lnkuT = load i64, i64* %lsiO7 | |
%lnkuU = add i64 %lnkuT, 16 | |
%lnkuV = inttoptr i64 %lnkuU to i64* | |
%lnkuW = load i64, i64* %lnkuV, !tbaa !5 | |
store i64 %lnkuW, i64* %lsiNU | |
%lnkuY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO6_info$def to i64 | |
%lnkuX = load i64*, i64** %Hp_Var | |
%lnkuZ = getelementptr inbounds i64, i64* %lnkuX, i32 -2 | |
store i64 %lnkuY, i64* %lnkuZ, !tbaa !2 | |
%lnkv1 = load i64, i64* %lsiNU | |
%lnkv0 = load i64*, i64** %Hp_Var | |
%lnkv2 = getelementptr inbounds i64, i64* %lnkv0, i32 0 | |
store i64 %lnkv1, i64* %lnkv2, !tbaa !2 | |
%lnkv3 = load i64*, i64** %Hp_Var | |
%lnkv4 = getelementptr inbounds i64, i64* %lnkv3, i32 -2 | |
%lnkv5 = ptrtoint i64* %lnkv4 to i64 | |
store i64 %lnkv5, i64* %R3_Var | |
%lnkv6 = ptrtoint %ckqC_str_struct* @ckqC_str$def to i64 | |
store i64 %lnkv6, i64* %R2_Var | |
%lnkv7 = load i64*, i64** %Sp_Var | |
%lnkv8 = getelementptr inbounds i64, i64* %lnkv7, i32 -2 | |
%lnkv9 = ptrtoint i64* %lnkv8 to i64 | |
%lnkva = inttoptr i64 %lnkv9 to i64* | |
store i64* %lnkva, i64** %Sp_Var | |
%lnkvb = bitcast i8* @ghczmprim_GHCziCString_unpackAppendCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkvc = load i64*, i64** %Sp_Var | |
%lnkvd = load i64*, i64** %Hp_Var | |
%lnkve = load i64, i64* %R1_Var | |
%lnkvf = load i64, i64* %R2_Var | |
%lnkvg = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvb( i64* %Base_Arg, i64* %lnkvc, i64* %lnkvd, i64 %lnkve, i64 %lnkvf, i64 %lnkvg, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqH: | |
%lnkvh = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkvh, !tbaa !4 | |
br label %ckqE | |
ckqE: | |
%lnkvi = load i64, i64* %lsiO7 | |
store i64 %lnkvi, i64* %R1_Var | |
%lnkvj = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnkvk = bitcast i64* %lnkvj to i64* | |
%lnkvl = load i64, i64* %lnkvk, !tbaa !4 | |
%lnkvm = inttoptr i64 %lnkvl to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkvn = load i64*, i64** %Sp_Var | |
%lnkvo = load i64*, i64** %Hp_Var | |
%lnkvp = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvm( i64* %Base_Arg, i64* %lnkvn, i64* %lnkvo, i64 %lnkvp, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@riG2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to i8*) | |
define internal ghccc void @riG2_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to i64)),i64 104), i64 4294967300, i64 0, i64 219043332111}> | |
{ | |
ckqI: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkvq = load i64*, i64** %Hp_Var | |
%lnkvr = getelementptr inbounds i64, i64* %lnkvq, i32 3 | |
%lnkvs = ptrtoint i64* %lnkvr to i64 | |
%lnkvt = inttoptr i64 %lnkvs to i64* | |
store i64* %lnkvt, i64** %Hp_Var | |
%lnkvu = load i64*, i64** %Hp_Var | |
%lnkvv = ptrtoint i64* %lnkvu to i64 | |
%lnkvw = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnkvx = bitcast i64* %lnkvw to i64* | |
%lnkvy = load i64, i64* %lnkvx, !tbaa !4 | |
%lnkvz = icmp ugt i64 %lnkvv, %lnkvy | |
br i1 %lnkvz, label %ckqM, label %ckqL | |
ckqL: | |
%lnkvB = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siO7_info$def to i64 | |
%lnkvA = load i64*, i64** %Hp_Var | |
%lnkvC = getelementptr inbounds i64, i64* %lnkvA, i32 -2 | |
store i64 %lnkvB, i64* %lnkvC, !tbaa !2 | |
%lnkvE = load i64, i64* %R2_Var | |
%lnkvD = load i64*, i64** %Hp_Var | |
%lnkvF = getelementptr inbounds i64, i64* %lnkvD, i32 0 | |
store i64 %lnkvE, i64* %lnkvF, !tbaa !2 | |
%lnkvG = load i64*, i64** %Hp_Var | |
%lnkvH = getelementptr inbounds i64, i64* %lnkvG, i32 -2 | |
%lnkvI = ptrtoint i64* %lnkvH to i64 | |
store i64 %lnkvI, i64* %R3_Var | |
%lnkvJ = ptrtoint %riG1_closure_struct* @riG1_closure$def to i64 | |
%lnkvK = add i64 %lnkvJ, 2 | |
store i64 %lnkvK, i64* %R2_Var | |
%lnkvL = bitcast i8* @base_GHCziErr_error_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkvM = load i64*, i64** %Hp_Var | |
%lnkvN = load i64, i64* %R1_Var | |
%lnkvO = load i64, i64* %R2_Var | |
%lnkvP = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvL( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkvM, i64 %lnkvN, i64 %lnkvO, i64 %lnkvP, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckqM: | |
%lnkvQ = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 24, i64* %lnkvQ, !tbaa !4 | |
%lnkvR = load i64, i64* %R2_Var | |
store i64 %lnkvR, i64* %R2_Var | |
%lnkvS = ptrtoint %riG2_closure_struct* @riG2_closure$def to i64 | |
store i64 %lnkvS, i64* %R1_Var | |
%lnkvT = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnkvU = bitcast i64* %lnkvT to i64* | |
%lnkvV = load i64, i64* %lnkvU, !tbaa !4 | |
%lnkvW = inttoptr i64 %lnkvV to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkvX = load i64*, i64** %Hp_Var | |
%lnkvY = load i64, i64* %R1_Var | |
%lnkvZ = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkvW( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnkvX, i64 %lnkvY, i64 %lnkvZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Test_zdwtest1_closure_struct = type <{i64, i64}> | |
@Test_zdwtest1_closure$def = internal global %Test_zdwtest1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i64), i64 0}> | |
@Test_zdwtest1_closure = alias i8* bitcast (%Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i8*) | |
@Test_zdwtest1_slow = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_slow$def to i8*) | |
define ghccc void @Test_zdwtest1_slow$def(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) align 8 nounwind | |
{ | |
ckBY: | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnkOE = load i64*, i64** %Sp_Var | |
%lnkOF = getelementptr inbounds i64, i64* %lnkOE, i32 3 | |
%lnkOG = bitcast i64* %lnkOF to i64* | |
%lnkOH = load i64, i64* %lnkOG, !tbaa !1 | |
store i64 %lnkOH, i64* %R5_Var | |
%lnkOI = load i64*, i64** %Sp_Var | |
%lnkOJ = getelementptr inbounds i64, i64* %lnkOI, i32 2 | |
%lnkOK = bitcast i64* %lnkOJ to i64* | |
%lnkOL = load i64, i64* %lnkOK, !tbaa !1 | |
store i64 %lnkOL, i64* %R4_Var | |
%lnkOM = load i64*, i64** %Sp_Var | |
%lnkON = getelementptr inbounds i64, i64* %lnkOM, i32 1 | |
%lnkOO = bitcast i64* %lnkON to i64* | |
%lnkOP = load i64, i64* %lnkOO, !tbaa !1 | |
store i64 %lnkOP, i64* %R3_Var | |
%lnkOQ = load i64*, i64** %Sp_Var | |
%lnkOR = getelementptr inbounds i64, i64* %lnkOQ, i32 0 | |
%lnkOS = bitcast i64* %lnkOR to i64* | |
%lnkOT = load i64, i64* %lnkOS, !tbaa !1 | |
store i64 %lnkOT, i64* %R2_Var | |
%lnkOU = load i64, i64* %R1_Var | |
store i64 %lnkOU, i64* %R1_Var | |
%lnkOV = load i64*, i64** %Sp_Var | |
%lnkOW = getelementptr inbounds i64, i64* %lnkOV, i32 4 | |
%lnkOX = ptrtoint i64* %lnkOW to i64 | |
%lnkOY = inttoptr i64 %lnkOX to i64* | |
store i64* %lnkOY, i64** %Sp_Var | |
%lnkOZ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkP0 = load i64*, i64** %Sp_Var | |
%lnkP1 = load i64, i64* %R1_Var | |
%lnkP2 = load i64, i64* %R2_Var | |
%lnkP3 = load i64, i64* %R3_Var | |
%lnkP4 = load i64, i64* %R4_Var | |
%lnkP5 = load i64, i64* %R5_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkOZ( i64* %Base_Arg, i64* %lnkP0, i64* %Hp_Arg, i64 %lnkP1, i64 %lnkP2, i64 %lnkP3, i64 %lnkP4, i64 %lnkP5, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siOy_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOy_info$def to i8*) | |
define internal ghccc void @siOy_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckCL: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkP6 = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkP7 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkP6( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkP7, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siOS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOS_info$def to i8*) | |
define internal ghccc void @siOS_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 4294967299, i64 9}> | |
{ | |
ckD6: | |
%lsiOR = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkP8 = load i64, i64* %R2_Var | |
%lnkP9 = load i64, i64* %R3_Var | |
%lnkPa = icmp sge i64 %lnkP8, %lnkP9 | |
%lnkPb = zext i1 %lnkPa to i64 | |
switch i64 %lnkPb, label %ckD4 [i64 1, label %ckD5] | |
ckD4: | |
%lnkPe = load i64, i64* %R1_Var | |
%lnkPf = add i64 %lnkPe, 21 | |
%lnkPg = inttoptr i64 %lnkPf to i64* | |
%lnkPh = load i64, i64* %lnkPg, !tbaa !3 | |
store i64 %lnkPh, i64* %lsiOR | |
%lnkPk = load i64, i64* %R1_Var | |
%lnkPl = add i64 %lnkPk, 13 | |
%lnkPm = inttoptr i64 %lnkPl to i64* | |
%lnkPn = load i64, i64* %lnkPm, !tbaa !3 | |
%lnkPo = load i64, i64* %R2_Var | |
%lnkPp = shl i64 %lnkPo, 3 | |
%lnkPq = add i64 %lnkPp, 16 | |
%lnkPr = add i64 %lnkPn, %lnkPq | |
%lnkPu = load i64, i64* %R1_Var | |
%lnkPv = add i64 %lnkPu, 5 | |
%lnkPw = inttoptr i64 %lnkPv to i64* | |
%lnkPx = load i64, i64* %lnkPw, !tbaa !3 | |
%lnkPA = load i64, i64* %R1_Var | |
%lnkPB = add i64 %lnkPA, 29 | |
%lnkPC = inttoptr i64 %lnkPB to i64* | |
%lnkPD = load i64, i64* %lnkPC, !tbaa !3 | |
%lnkPE = load i64, i64* %R2_Var | |
%lnkPF = add i64 %lnkPD, %lnkPE | |
%lnkPG = shl i64 %lnkPF, 3 | |
%lnkPH = add i64 %lnkPG, 16 | |
%lnkPI = add i64 %lnkPx, %lnkPH | |
%lnkPJ = inttoptr i64 %lnkPI to double* | |
%lnkPK = load double, double* %lnkPJ, !tbaa !5 | |
%lnkPL = fadd double %lnkPK, 0x3FF0000000000000 | |
%lnkPM = inttoptr i64 %lnkPr to double* | |
store double %lnkPL, double* %lnkPM, !tbaa !5 | |
%lnkPN = load i64, i64* %R3_Var | |
store i64 %lnkPN, i64* %R3_Var | |
%lnkPP = load i64, i64* %R2_Var | |
%lnkPQ = add i64 %lnkPP, 1 | |
store i64 %lnkPQ, i64* %R2_Var | |
%lnkPR = load i64, i64* %lsiOR | |
store i64 %lnkPR, i64* %R1_Var | |
%lnkPS = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkPT = load i64, i64* %R1_Var | |
%lnkPU = load i64, i64* %R2_Var | |
%lnkPV = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkPS( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkPT, i64 %lnkPU, i64 %lnkPV, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckD5: | |
%lnkPW = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnkPX = add i64 %lnkPW, 1 | |
store i64 %lnkPX, i64* %R1_Var | |
%lnkPY = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
%lnkPZ = bitcast i64* %lnkPY to i64* | |
%lnkQ0 = load i64, i64* %lnkPZ, !tbaa !1 | |
%lnkQ1 = inttoptr i64 %lnkQ0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkQ2 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkQ1( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkQ2, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siOR_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to i8*) | |
define internal ghccc void @siOR_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 1, i64 10}> | |
{ | |
ckDz: | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkQ3 = load i64, i64* %R3_Var | |
store i64 %lnkQ3, i64* %R3_Var | |
%lnkQ4 = load i64, i64* %R2_Var | |
store i64 %lnkQ4, i64* %R2_Var | |
%lnkQ7 = load i64, i64* %R1_Var | |
%lnkQ8 = add i64 %lnkQ7, 5 | |
%lnkQ9 = inttoptr i64 %lnkQ8 to i64* | |
%lnkQa = load i64, i64* %lnkQ9, !tbaa !3 | |
store i64 %lnkQa, i64* %R1_Var | |
%lnkQb = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOS_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkQc = load i64, i64* %R1_Var | |
%lnkQd = load i64, i64* %R2_Var | |
%lnkQe = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkQb( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkQc, i64 %lnkQd, i64 %lnkQe, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siPs_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPs_info$def to i8*) | |
define internal ghccc void @siPs_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 8589934593, i64 9}> | |
{ | |
ckDQ: | |
%lsiOR = alloca i64, i32 1 | |
%lsiP2 = alloca i64, i32 1 | |
%lsiP3 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkQf = load i64*, i64** %Sp_Var | |
%lnkQg = getelementptr inbounds i64, i64* %lnkQf, i32 -4 | |
%lnkQh = ptrtoint i64* %lnkQg to i64 | |
%lnkQi = icmp ult i64 %lnkQh, %SpLim_Arg | |
br i1 %lnkQi, label %ckDR, label %ckDS | |
ckDS: | |
%lnkQk = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckDN_info$def to i64 | |
%lnkQj = load i64*, i64** %Sp_Var | |
%lnkQl = getelementptr inbounds i64, i64* %lnkQj, i32 -4 | |
store i64 %lnkQk, i64* %lnkQl, !tbaa !1 | |
%lnkQo = load i64, i64* %R1_Var | |
%lnkQp = add i64 %lnkQo, 6 | |
%lnkQq = inttoptr i64 %lnkQp to i64* | |
%lnkQr = load i64, i64* %lnkQq, !tbaa !3 | |
store i64 %lnkQr, i64* %lsiOR | |
%lnkQu = load i64, i64* %R1_Var | |
%lnkQv = add i64 %lnkQu, 14 | |
%lnkQw = inttoptr i64 %lnkQv to i64* | |
%lnkQx = load i64, i64* %lnkQw, !tbaa !3 | |
store i64 %lnkQx, i64* %lsiP2 | |
%lnkQA = load i64, i64* %R1_Var | |
%lnkQB = add i64 %lnkQA, 22 | |
%lnkQC = inttoptr i64 %lnkQB to i64* | |
%lnkQD = load i64, i64* %lnkQC, !tbaa !3 | |
store i64 %lnkQD, i64* %lsiP3 | |
%lnkQE = load i64, i64* %R2_Var | |
store i64 %lnkQE, i64* %R1_Var | |
%lnkQG = load i64, i64* %lsiOR | |
%lnkQF = load i64*, i64** %Sp_Var | |
%lnkQH = getelementptr inbounds i64, i64* %lnkQF, i32 -3 | |
store i64 %lnkQG, i64* %lnkQH, !tbaa !1 | |
%lnkQJ = load i64, i64* %lsiP2 | |
%lnkQI = load i64*, i64** %Sp_Var | |
%lnkQK = getelementptr inbounds i64, i64* %lnkQI, i32 -2 | |
store i64 %lnkQJ, i64* %lnkQK, !tbaa !1 | |
%lnkQM = load i64, i64* %lsiP3 | |
%lnkQL = load i64*, i64** %Sp_Var | |
%lnkQN = getelementptr inbounds i64, i64* %lnkQL, i32 -1 | |
store i64 %lnkQM, i64* %lnkQN, !tbaa !1 | |
%lnkQO = load i64*, i64** %Sp_Var | |
%lnkQP = getelementptr inbounds i64, i64* %lnkQO, i32 -4 | |
%lnkQQ = ptrtoint i64* %lnkQP to i64 | |
%lnkQR = inttoptr i64 %lnkQQ to i64* | |
store i64* %lnkQR, i64** %Sp_Var | |
%lnkQS = load i64, i64* %R1_Var | |
%lnkQT = and i64 %lnkQS, 7 | |
%lnkQU = icmp ne i64 %lnkQT, 0 | |
br i1 %lnkQU, label %ukFm, label %ckDO | |
ckDO: | |
%lnkQW = load i64, i64* %R1_Var | |
%lnkQX = inttoptr i64 %lnkQW to i64* | |
%lnkQY = load i64, i64* %lnkQX, !tbaa !3 | |
%lnkQZ = inttoptr i64 %lnkQY to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkR0 = load i64*, i64** %Sp_Var | |
%lnkR1 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkQZ( i64* %Base_Arg, i64* %lnkR0, i64* %Hp_Arg, i64 %lnkR1, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ukFm: | |
%lnkR2 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckDN_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkR3 = load i64*, i64** %Sp_Var | |
%lnkR4 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkR2( i64* %Base_Arg, i64* %lnkR3, i64* %Hp_Arg, i64 %lnkR4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckDR: | |
%lnkR5 = load i64, i64* %R2_Var | |
store i64 %lnkR5, i64* %R2_Var | |
%lnkR6 = load i64, i64* %R1_Var | |
store i64 %lnkR6, i64* %R1_Var | |
%lnkR7 = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnkR8 = bitcast i64* %lnkR7 to i64* | |
%lnkR9 = load i64, i64* %lnkR8, !tbaa !4 | |
%lnkRa = inttoptr i64 %lnkR9 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkRb = load i64*, i64** %Sp_Var | |
%lnkRc = load i64, i64* %R1_Var | |
%lnkRd = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkRa( i64* %Base_Arg, i64* %lnkRb, i64* %Hp_Arg, i64 %lnkRc, i64 %lnkRd, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckDN_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckDN_info$def to i8*) | |
define internal ghccc void @ckDN_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}> | |
{ | |
ckDN: | |
%lsiOR = alloca i64, i32 1 | |
%lsiP2 = alloca i64, i32 1 | |
%lsiP3 = alloca i64, i32 1 | |
%lsiP7 = alloca i64, i32 1 | |
%lsiP8 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnkRe = load i64*, i64** %Sp_Var | |
%lnkRf = getelementptr inbounds i64, i64* %lnkRe, i32 1 | |
%lnkRg = bitcast i64* %lnkRf to i64* | |
%lnkRh = load i64, i64* %lnkRg, !tbaa !1 | |
store i64 %lnkRh, i64* %lsiOR | |
%lnkRi = load i64*, i64** %Sp_Var | |
%lnkRj = getelementptr inbounds i64, i64* %lnkRi, i32 2 | |
%lnkRk = bitcast i64* %lnkRj to i64* | |
%lnkRl = load i64, i64* %lnkRk, !tbaa !1 | |
store i64 %lnkRl, i64* %lsiP2 | |
%lnkRm = load i64*, i64** %Sp_Var | |
%lnkRn = getelementptr inbounds i64, i64* %lnkRm, i32 3 | |
%lnkRo = bitcast i64* %lnkRn to i64* | |
%lnkRp = load i64, i64* %lnkRo, !tbaa !1 | |
store i64 %lnkRp, i64* %lsiP3 | |
%lnkRs = load i64, i64* %R1_Var | |
%lnkRt = add i64 %lnkRs, 7 | |
%lnkRu = inttoptr i64 %lnkRt to i64* | |
%lnkRv = load i64, i64* %lnkRu, !tbaa !3 | |
store i64 %lnkRv, i64* %lsiP7 | |
%lnkRw = load i64, i64* %lsiP7 | |
%lnkRx = add i64 %lnkRw, 1 | |
store i64 %lnkRx, i64* %lsiP8 | |
%lnkRy = load i64, i64* %lsiP7 | |
%lnkRz = load i64, i64* %lsiP3 | |
%lnkRA = icmp slt i64 %lnkRy, %lnkRz | |
%lnkRB = zext i1 %lnkRA to i64 | |
switch i64 %lnkRB, label %ckE4 [i64 1, label %ckEp] | |
ckE4: | |
%lnkRC = load i64, i64* %lsiP8 | |
%lnkRD = load i64, i64* %lsiP3 | |
%lnkRE = icmp slt i64 %lnkRC, %lnkRD | |
%lnkRF = zext i1 %lnkRE to i64 | |
switch i64 %lnkRF, label %ckEd [i64 1, label %ckEj] | |
ckEd: | |
%lnkRG = load i64, i64* %lsiP8 | |
%lnkRH = load i64, i64* %lsiP2 | |
%lnkRI = mul i64 %lnkRG, %lnkRH | |
%lnkRJ = load i64, i64* %lsiP3 | |
%lnkRK = add i64 %lnkRI, %lnkRJ | |
store i64 %lnkRK, i64* %R3_Var | |
%lnkRL = load i64, i64* %lsiP7 | |
%lnkRM = load i64, i64* %lsiP2 | |
%lnkRN = mul i64 %lnkRL, %lnkRM | |
%lnkRO = load i64, i64* %lsiP3 | |
%lnkRP = add i64 %lnkRN, %lnkRO | |
store i64 %lnkRP, i64* %R2_Var | |
%lnkRQ = load i64, i64* %lsiOR | |
store i64 %lnkRQ, i64* %R1_Var | |
%lnkRR = load i64*, i64** %Sp_Var | |
%lnkRS = getelementptr inbounds i64, i64* %lnkRR, i32 4 | |
%lnkRT = ptrtoint i64* %lnkRS to i64 | |
%lnkRU = inttoptr i64 %lnkRT to i64* | |
store i64* %lnkRU, i64** %Sp_Var | |
%lnkRV = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkRW = load i64*, i64** %Sp_Var | |
%lnkRX = load i64, i64* %R1_Var | |
%lnkRY = load i64, i64* %R2_Var | |
%lnkRZ = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkRV( i64* %Base_Arg, i64* %lnkRW, i64* %Hp_Arg, i64 %lnkRX, i64 %lnkRY, i64 %lnkRZ, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckEj: | |
%lnkS0 = load i64, i64* %lsiP8 | |
%lnkS1 = load i64, i64* %lsiP2 | |
%lnkS2 = add i64 %lnkS1, 1 | |
%lnkS3 = mul i64 %lnkS0, %lnkS2 | |
store i64 %lnkS3, i64* %R3_Var | |
%lnkS4 = load i64, i64* %lsiP7 | |
%lnkS5 = load i64, i64* %lsiP2 | |
%lnkS6 = mul i64 %lnkS4, %lnkS5 | |
%lnkS7 = load i64, i64* %lsiP3 | |
%lnkS8 = add i64 %lnkS6, %lnkS7 | |
store i64 %lnkS8, i64* %R2_Var | |
%lnkS9 = load i64, i64* %lsiOR | |
store i64 %lnkS9, i64* %R1_Var | |
%lnkSa = load i64*, i64** %Sp_Var | |
%lnkSb = getelementptr inbounds i64, i64* %lnkSa, i32 4 | |
%lnkSc = ptrtoint i64* %lnkSb to i64 | |
%lnkSd = inttoptr i64 %lnkSc to i64* | |
store i64* %lnkSd, i64** %Sp_Var | |
%lnkSe = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkSf = load i64*, i64** %Sp_Var | |
%lnkSg = load i64, i64* %R1_Var | |
%lnkSh = load i64, i64* %R2_Var | |
%lnkSi = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkSe( i64* %Base_Arg, i64* %lnkSf, i64* %Hp_Arg, i64 %lnkSg, i64 %lnkSh, i64 %lnkSi, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckEp: | |
%lnkSj = load i64, i64* %lsiP8 | |
%lnkSk = load i64, i64* %lsiP3 | |
%lnkSl = icmp slt i64 %lnkSj, %lnkSk | |
%lnkSm = zext i1 %lnkSl to i64 | |
switch i64 %lnkSm, label %ckEy [i64 1, label %ckEE] | |
ckEy: | |
%lnkSn = load i64, i64* %lsiP8 | |
%lnkSo = load i64, i64* %lsiP2 | |
%lnkSp = mul i64 %lnkSn, %lnkSo | |
%lnkSq = load i64, i64* %lsiP3 | |
%lnkSr = add i64 %lnkSp, %lnkSq | |
store i64 %lnkSr, i64* %R3_Var | |
%lnkSs = load i64, i64* %lsiP7 | |
%lnkSt = load i64, i64* %lsiP2 | |
%lnkSu = add i64 %lnkSt, 1 | |
%lnkSv = mul i64 %lnkSs, %lnkSu | |
store i64 %lnkSv, i64* %R2_Var | |
%lnkSw = load i64, i64* %lsiOR | |
store i64 %lnkSw, i64* %R1_Var | |
%lnkSx = load i64*, i64** %Sp_Var | |
%lnkSy = getelementptr inbounds i64, i64* %lnkSx, i32 4 | |
%lnkSz = ptrtoint i64* %lnkSy to i64 | |
%lnkSA = inttoptr i64 %lnkSz to i64* | |
store i64* %lnkSA, i64** %Sp_Var | |
%lnkSB = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkSC = load i64*, i64** %Sp_Var | |
%lnkSD = load i64, i64* %R1_Var | |
%lnkSE = load i64, i64* %R2_Var | |
%lnkSF = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkSB( i64* %Base_Arg, i64* %lnkSC, i64* %Hp_Arg, i64 %lnkSD, i64 %lnkSE, i64 %lnkSF, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckEE: | |
%lnkSG = load i64, i64* %lsiP8 | |
%lnkSH = load i64, i64* %lsiP2 | |
%lnkSI = add i64 %lnkSH, 1 | |
%lnkSJ = mul i64 %lnkSG, %lnkSI | |
store i64 %lnkSJ, i64* %R3_Var | |
%lnkSK = load i64, i64* %lsiP7 | |
%lnkSL = load i64, i64* %lsiP2 | |
%lnkSM = add i64 %lnkSL, 1 | |
%lnkSN = mul i64 %lnkSK, %lnkSM | |
store i64 %lnkSN, i64* %R2_Var | |
%lnkSO = load i64, i64* %lsiOR | |
store i64 %lnkSO, i64* %R1_Var | |
%lnkSP = load i64*, i64** %Sp_Var | |
%lnkSQ = getelementptr inbounds i64, i64* %lnkSP, i32 4 | |
%lnkSR = ptrtoint i64* %lnkSQ to i64 | |
%lnkSS = inttoptr i64 %lnkSR to i64* | |
store i64* %lnkSS, i64** %Sp_Var | |
%lnkST = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkSU = load i64*, i64** %Sp_Var | |
%lnkSV = load i64, i64* %R1_Var | |
%lnkSW = load i64, i64* %R2_Var | |
%lnkSX = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkST( i64* %Base_Arg, i64* %lnkSU, i64* %Hp_Arg, i64 %lnkSV, i64 %lnkSW, i64 %lnkSX, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siPA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPA_info$def to i8*) | |
define internal ghccc void @siPA_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckFy: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkSY = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkSZ = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkSY( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkSZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siPV_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPV_info$def to i8*) | |
define internal ghccc void @siPV_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckFI: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkT0 = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkT1 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkT0( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkT1, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siQp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQp_info$def to i8*) | |
define internal ghccc void @siQp_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 4294967299, i64 9}> | |
{ | |
ckG4: | |
%lsiQo = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkT2 = load i64, i64* %R2_Var | |
%lnkT3 = load i64, i64* %R3_Var | |
%lnkT4 = icmp sge i64 %lnkT2, %lnkT3 | |
%lnkT5 = zext i1 %lnkT4 to i64 | |
switch i64 %lnkT5, label %ckG2 [i64 1, label %ckG3] | |
ckG2: | |
%lnkT8 = load i64, i64* %R1_Var | |
%lnkT9 = add i64 %lnkT8, 21 | |
%lnkTa = inttoptr i64 %lnkT9 to i64* | |
%lnkTb = load i64, i64* %lnkTa, !tbaa !3 | |
store i64 %lnkTb, i64* %lsiQo | |
%lnkTe = load i64, i64* %R1_Var | |
%lnkTf = add i64 %lnkTe, 13 | |
%lnkTg = inttoptr i64 %lnkTf to i64* | |
%lnkTh = load i64, i64* %lnkTg, !tbaa !3 | |
%lnkTi = load i64, i64* %R2_Var | |
%lnkTj = shl i64 %lnkTi, 3 | |
%lnkTk = add i64 %lnkTj, 16 | |
%lnkTl = add i64 %lnkTh, %lnkTk | |
%lnkTo = load i64, i64* %R1_Var | |
%lnkTp = add i64 %lnkTo, 5 | |
%lnkTq = inttoptr i64 %lnkTp to i64* | |
%lnkTr = load i64, i64* %lnkTq, !tbaa !3 | |
%lnkTu = load i64, i64* %R1_Var | |
%lnkTv = add i64 %lnkTu, 29 | |
%lnkTw = inttoptr i64 %lnkTv to i64* | |
%lnkTx = load i64, i64* %lnkTw, !tbaa !3 | |
%lnkTy = load i64, i64* %R2_Var | |
%lnkTz = add i64 %lnkTx, %lnkTy | |
%lnkTA = shl i64 %lnkTz, 3 | |
%lnkTB = add i64 %lnkTA, 16 | |
%lnkTC = add i64 %lnkTr, %lnkTB | |
%lnkTD = inttoptr i64 %lnkTC to double* | |
%lnkTE = load double, double* %lnkTD, !tbaa !5 | |
%lnkTF = fadd double %lnkTE, 0x3FF0000000000000 | |
%lnkTG = inttoptr i64 %lnkTl to double* | |
store double %lnkTF, double* %lnkTG, !tbaa !5 | |
%lnkTH = load i64, i64* %R3_Var | |
store i64 %lnkTH, i64* %R3_Var | |
%lnkTJ = load i64, i64* %R2_Var | |
%lnkTK = add i64 %lnkTJ, 1 | |
store i64 %lnkTK, i64* %R2_Var | |
%lnkTL = load i64, i64* %lsiQo | |
store i64 %lnkTL, i64* %R1_Var | |
%lnkTM = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkTN = load i64, i64* %R1_Var | |
%lnkTO = load i64, i64* %R2_Var | |
%lnkTP = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkTM( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkTN, i64 %lnkTO, i64 %lnkTP, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckG3: | |
%lnkTQ = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnkTR = add i64 %lnkTQ, 1 | |
store i64 %lnkTR, i64* %R1_Var | |
%lnkTS = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
%lnkTT = bitcast i64* %lnkTS to i64* | |
%lnkTU = load i64, i64* %lnkTT, !tbaa !1 | |
%lnkTV = inttoptr i64 %lnkTU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkTW = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkTV( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkTW, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siQo_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to i8*) | |
define internal ghccc void @siQo_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 1, i64 10}> | |
{ | |
ckGx: | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkTX = load i64, i64* %R3_Var | |
store i64 %lnkTX, i64* %R3_Var | |
%lnkTY = load i64, i64* %R2_Var | |
store i64 %lnkTY, i64* %R2_Var | |
%lnkU1 = load i64, i64* %R1_Var | |
%lnkU2 = add i64 %lnkU1, 5 | |
%lnkU3 = inttoptr i64 %lnkU2 to i64* | |
%lnkU4 = load i64, i64* %lnkU3, !tbaa !3 | |
store i64 %lnkU4, i64* %R1_Var | |
%lnkU5 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQp_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkU6 = load i64, i64* %R1_Var | |
%lnkU7 = load i64, i64* %R2_Var | |
%lnkU8 = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkU5( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkU6, i64 %lnkU7, i64 %lnkU8, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siQZ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQZ_info$def to i8*) | |
define internal ghccc void @siQZ_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 8589934593, i64 9}> | |
{ | |
ckGO: | |
%lsiQo = alloca i64, i32 1 | |
%lsiQz = alloca i64, i32 1 | |
%lsiQA = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkU9 = load i64*, i64** %Sp_Var | |
%lnkUa = getelementptr inbounds i64, i64* %lnkU9, i32 -4 | |
%lnkUb = ptrtoint i64* %lnkUa to i64 | |
%lnkUc = icmp ult i64 %lnkUb, %SpLim_Arg | |
br i1 %lnkUc, label %ckGP, label %ckGQ | |
ckGQ: | |
%lnkUe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckGL_info$def to i64 | |
%lnkUd = load i64*, i64** %Sp_Var | |
%lnkUf = getelementptr inbounds i64, i64* %lnkUd, i32 -4 | |
store i64 %lnkUe, i64* %lnkUf, !tbaa !1 | |
%lnkUi = load i64, i64* %R1_Var | |
%lnkUj = add i64 %lnkUi, 6 | |
%lnkUk = inttoptr i64 %lnkUj to i64* | |
%lnkUl = load i64, i64* %lnkUk, !tbaa !3 | |
store i64 %lnkUl, i64* %lsiQo | |
%lnkUo = load i64, i64* %R1_Var | |
%lnkUp = add i64 %lnkUo, 14 | |
%lnkUq = inttoptr i64 %lnkUp to i64* | |
%lnkUr = load i64, i64* %lnkUq, !tbaa !3 | |
store i64 %lnkUr, i64* %lsiQz | |
%lnkUu = load i64, i64* %R1_Var | |
%lnkUv = add i64 %lnkUu, 22 | |
%lnkUw = inttoptr i64 %lnkUv to i64* | |
%lnkUx = load i64, i64* %lnkUw, !tbaa !3 | |
store i64 %lnkUx, i64* %lsiQA | |
%lnkUy = load i64, i64* %R2_Var | |
store i64 %lnkUy, i64* %R1_Var | |
%lnkUA = load i64, i64* %lsiQo | |
%lnkUz = load i64*, i64** %Sp_Var | |
%lnkUB = getelementptr inbounds i64, i64* %lnkUz, i32 -3 | |
store i64 %lnkUA, i64* %lnkUB, !tbaa !1 | |
%lnkUD = load i64, i64* %lsiQz | |
%lnkUC = load i64*, i64** %Sp_Var | |
%lnkUE = getelementptr inbounds i64, i64* %lnkUC, i32 -2 | |
store i64 %lnkUD, i64* %lnkUE, !tbaa !1 | |
%lnkUG = load i64, i64* %lsiQA | |
%lnkUF = load i64*, i64** %Sp_Var | |
%lnkUH = getelementptr inbounds i64, i64* %lnkUF, i32 -1 | |
store i64 %lnkUG, i64* %lnkUH, !tbaa !1 | |
%lnkUI = load i64*, i64** %Sp_Var | |
%lnkUJ = getelementptr inbounds i64, i64* %lnkUI, i32 -4 | |
%lnkUK = ptrtoint i64* %lnkUJ to i64 | |
%lnkUL = inttoptr i64 %lnkUK to i64* | |
store i64* %lnkUL, i64** %Sp_Var | |
%lnkUM = load i64, i64* %R1_Var | |
%lnkUN = and i64 %lnkUM, 7 | |
%lnkUO = icmp ne i64 %lnkUN, 0 | |
br i1 %lnkUO, label %ukIk, label %ckGM | |
ckGM: | |
%lnkUQ = load i64, i64* %R1_Var | |
%lnkUR = inttoptr i64 %lnkUQ to i64* | |
%lnkUS = load i64, i64* %lnkUR, !tbaa !3 | |
%lnkUT = inttoptr i64 %lnkUS to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkUU = load i64*, i64** %Sp_Var | |
%lnkUV = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkUT( i64* %Base_Arg, i64* %lnkUU, i64* %Hp_Arg, i64 %lnkUV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ukIk: | |
%lnkUW = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckGL_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkUX = load i64*, i64** %Sp_Var | |
%lnkUY = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkUW( i64* %Base_Arg, i64* %lnkUX, i64* %Hp_Arg, i64 %lnkUY, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckGP: | |
%lnkUZ = load i64, i64* %R2_Var | |
store i64 %lnkUZ, i64* %R2_Var | |
%lnkV0 = load i64, i64* %R1_Var | |
store i64 %lnkV0, i64* %R1_Var | |
%lnkV1 = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnkV2 = bitcast i64* %lnkV1 to i64* | |
%lnkV3 = load i64, i64* %lnkV2, !tbaa !4 | |
%lnkV4 = inttoptr i64 %lnkV3 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkV5 = load i64*, i64** %Sp_Var | |
%lnkV6 = load i64, i64* %R1_Var | |
%lnkV7 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkV4( i64* %Base_Arg, i64* %lnkV5, i64* %Hp_Arg, i64 %lnkV6, i64 %lnkV7, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckGL_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckGL_info$def to i8*) | |
define internal ghccc void @ckGL_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}> | |
{ | |
ckGL: | |
%lsiQo = alloca i64, i32 1 | |
%lsiQz = alloca i64, i32 1 | |
%lsiQA = alloca i64, i32 1 | |
%lsiQE = alloca i64, i32 1 | |
%lsiQF = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnkV8 = load i64*, i64** %Sp_Var | |
%lnkV9 = getelementptr inbounds i64, i64* %lnkV8, i32 1 | |
%lnkVa = bitcast i64* %lnkV9 to i64* | |
%lnkVb = load i64, i64* %lnkVa, !tbaa !1 | |
store i64 %lnkVb, i64* %lsiQo | |
%lnkVc = load i64*, i64** %Sp_Var | |
%lnkVd = getelementptr inbounds i64, i64* %lnkVc, i32 2 | |
%lnkVe = bitcast i64* %lnkVd to i64* | |
%lnkVf = load i64, i64* %lnkVe, !tbaa !1 | |
store i64 %lnkVf, i64* %lsiQz | |
%lnkVg = load i64*, i64** %Sp_Var | |
%lnkVh = getelementptr inbounds i64, i64* %lnkVg, i32 3 | |
%lnkVi = bitcast i64* %lnkVh to i64* | |
%lnkVj = load i64, i64* %lnkVi, !tbaa !1 | |
store i64 %lnkVj, i64* %lsiQA | |
%lnkVm = load i64, i64* %R1_Var | |
%lnkVn = add i64 %lnkVm, 7 | |
%lnkVo = inttoptr i64 %lnkVn to i64* | |
%lnkVp = load i64, i64* %lnkVo, !tbaa !3 | |
store i64 %lnkVp, i64* %lsiQE | |
%lnkVq = load i64, i64* %lsiQE | |
%lnkVr = add i64 %lnkVq, 1 | |
store i64 %lnkVr, i64* %lsiQF | |
%lnkVs = load i64, i64* %lsiQE | |
%lnkVt = load i64, i64* %lsiQA | |
%lnkVu = icmp slt i64 %lnkVs, %lnkVt | |
%lnkVv = zext i1 %lnkVu to i64 | |
switch i64 %lnkVv, label %ckH2 [i64 1, label %ckHn] | |
ckH2: | |
%lnkVw = load i64, i64* %lsiQF | |
%lnkVx = load i64, i64* %lsiQA | |
%lnkVy = icmp slt i64 %lnkVw, %lnkVx | |
%lnkVz = zext i1 %lnkVy to i64 | |
switch i64 %lnkVz, label %ckHb [i64 1, label %ckHh] | |
ckHb: | |
%lnkVA = load i64, i64* %lsiQF | |
%lnkVB = load i64, i64* %lsiQz | |
%lnkVC = mul i64 %lnkVA, %lnkVB | |
%lnkVD = load i64, i64* %lsiQA | |
%lnkVE = add i64 %lnkVC, %lnkVD | |
store i64 %lnkVE, i64* %R3_Var | |
%lnkVF = load i64, i64* %lsiQE | |
%lnkVG = load i64, i64* %lsiQz | |
%lnkVH = mul i64 %lnkVF, %lnkVG | |
%lnkVI = load i64, i64* %lsiQA | |
%lnkVJ = add i64 %lnkVH, %lnkVI | |
store i64 %lnkVJ, i64* %R2_Var | |
%lnkVK = load i64, i64* %lsiQo | |
store i64 %lnkVK, i64* %R1_Var | |
%lnkVL = load i64*, i64** %Sp_Var | |
%lnkVM = getelementptr inbounds i64, i64* %lnkVL, i32 4 | |
%lnkVN = ptrtoint i64* %lnkVM to i64 | |
%lnkVO = inttoptr i64 %lnkVN to i64* | |
store i64* %lnkVO, i64** %Sp_Var | |
%lnkVP = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkVQ = load i64*, i64** %Sp_Var | |
%lnkVR = load i64, i64* %R1_Var | |
%lnkVS = load i64, i64* %R2_Var | |
%lnkVT = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkVP( i64* %Base_Arg, i64* %lnkVQ, i64* %Hp_Arg, i64 %lnkVR, i64 %lnkVS, i64 %lnkVT, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckHh: | |
%lnkVU = load i64, i64* %lsiQF | |
%lnkVV = load i64, i64* %lsiQz | |
%lnkVW = add i64 %lnkVV, 1 | |
%lnkVX = mul i64 %lnkVU, %lnkVW | |
store i64 %lnkVX, i64* %R3_Var | |
%lnkVY = load i64, i64* %lsiQE | |
%lnkVZ = load i64, i64* %lsiQz | |
%lnkW0 = mul i64 %lnkVY, %lnkVZ | |
%lnkW1 = load i64, i64* %lsiQA | |
%lnkW2 = add i64 %lnkW0, %lnkW1 | |
store i64 %lnkW2, i64* %R2_Var | |
%lnkW3 = load i64, i64* %lsiQo | |
store i64 %lnkW3, i64* %R1_Var | |
%lnkW4 = load i64*, i64** %Sp_Var | |
%lnkW5 = getelementptr inbounds i64, i64* %lnkW4, i32 4 | |
%lnkW6 = ptrtoint i64* %lnkW5 to i64 | |
%lnkW7 = inttoptr i64 %lnkW6 to i64* | |
store i64* %lnkW7, i64** %Sp_Var | |
%lnkW8 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkW9 = load i64*, i64** %Sp_Var | |
%lnkWa = load i64, i64* %R1_Var | |
%lnkWb = load i64, i64* %R2_Var | |
%lnkWc = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkW8( i64* %Base_Arg, i64* %lnkW9, i64* %Hp_Arg, i64 %lnkWa, i64 %lnkWb, i64 %lnkWc, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckHn: | |
%lnkWd = load i64, i64* %lsiQF | |
%lnkWe = load i64, i64* %lsiQA | |
%lnkWf = icmp slt i64 %lnkWd, %lnkWe | |
%lnkWg = zext i1 %lnkWf to i64 | |
switch i64 %lnkWg, label %ckHw [i64 1, label %ckHC] | |
ckHw: | |
%lnkWh = load i64, i64* %lsiQF | |
%lnkWi = load i64, i64* %lsiQz | |
%lnkWj = mul i64 %lnkWh, %lnkWi | |
%lnkWk = load i64, i64* %lsiQA | |
%lnkWl = add i64 %lnkWj, %lnkWk | |
store i64 %lnkWl, i64* %R3_Var | |
%lnkWm = load i64, i64* %lsiQE | |
%lnkWn = load i64, i64* %lsiQz | |
%lnkWo = add i64 %lnkWn, 1 | |
%lnkWp = mul i64 %lnkWm, %lnkWo | |
store i64 %lnkWp, i64* %R2_Var | |
%lnkWq = load i64, i64* %lsiQo | |
store i64 %lnkWq, i64* %R1_Var | |
%lnkWr = load i64*, i64** %Sp_Var | |
%lnkWs = getelementptr inbounds i64, i64* %lnkWr, i32 4 | |
%lnkWt = ptrtoint i64* %lnkWs to i64 | |
%lnkWu = inttoptr i64 %lnkWt to i64* | |
store i64* %lnkWu, i64** %Sp_Var | |
%lnkWv = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkWw = load i64*, i64** %Sp_Var | |
%lnkWx = load i64, i64* %R1_Var | |
%lnkWy = load i64, i64* %R2_Var | |
%lnkWz = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWv( i64* %Base_Arg, i64* %lnkWw, i64* %Hp_Arg, i64 %lnkWx, i64 %lnkWy, i64 %lnkWz, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckHC: | |
%lnkWA = load i64, i64* %lsiQF | |
%lnkWB = load i64, i64* %lsiQz | |
%lnkWC = add i64 %lnkWB, 1 | |
%lnkWD = mul i64 %lnkWA, %lnkWC | |
store i64 %lnkWD, i64* %R3_Var | |
%lnkWE = load i64, i64* %lsiQE | |
%lnkWF = load i64, i64* %lsiQz | |
%lnkWG = add i64 %lnkWF, 1 | |
%lnkWH = mul i64 %lnkWE, %lnkWG | |
store i64 %lnkWH, i64* %R2_Var | |
%lnkWI = load i64, i64* %lsiQo | |
store i64 %lnkWI, i64* %R1_Var | |
%lnkWJ = load i64*, i64** %Sp_Var | |
%lnkWK = getelementptr inbounds i64, i64* %lnkWJ, i32 4 | |
%lnkWL = ptrtoint i64* %lnkWK to i64 | |
%lnkWM = inttoptr i64 %lnkWL to i64* | |
store i64* %lnkWM, i64** %Sp_Var | |
%lnkWN = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkWO = load i64*, i64** %Sp_Var | |
%lnkWP = load i64, i64* %R1_Var | |
%lnkWQ = load i64, i64* %R2_Var | |
%lnkWR = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWN( i64* %Base_Arg, i64* %lnkWO, i64* %Hp_Arg, i64 %lnkWP, i64 %lnkWQ, i64 %lnkWR, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siR7_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siR7_info$def to i8*) | |
define internal ghccc void @siR7_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckIw: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkWS = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkWT = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWS( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkWT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siRs_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRs_info$def to i8*) | |
define internal ghccc void @siRs_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckIG: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkWU = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkWV = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWU( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkWV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siRD_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRD_info$def to i8*) | |
define internal ghccc void @siRD_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckIP: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnkWW = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkWX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkWW( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkWX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siRX_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRX_info$def to i8*) | |
define internal ghccc void @siRX_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 4294967299, i64 9}> | |
{ | |
ckJa: | |
%lsiRW = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkWY = load i64, i64* %R2_Var | |
%lnkWZ = load i64, i64* %R3_Var | |
%lnkX0 = icmp sge i64 %lnkWY, %lnkWZ | |
%lnkX1 = zext i1 %lnkX0 to i64 | |
switch i64 %lnkX1, label %ckJ8 [i64 1, label %ckJ9] | |
ckJ8: | |
%lnkX4 = load i64, i64* %R1_Var | |
%lnkX5 = add i64 %lnkX4, 21 | |
%lnkX6 = inttoptr i64 %lnkX5 to i64* | |
%lnkX7 = load i64, i64* %lnkX6, !tbaa !3 | |
store i64 %lnkX7, i64* %lsiRW | |
%lnkXa = load i64, i64* %R1_Var | |
%lnkXb = add i64 %lnkXa, 13 | |
%lnkXc = inttoptr i64 %lnkXb to i64* | |
%lnkXd = load i64, i64* %lnkXc, !tbaa !3 | |
%lnkXe = load i64, i64* %R2_Var | |
%lnkXf = shl i64 %lnkXe, 3 | |
%lnkXg = add i64 %lnkXf, 16 | |
%lnkXh = add i64 %lnkXd, %lnkXg | |
%lnkXk = load i64, i64* %R1_Var | |
%lnkXl = add i64 %lnkXk, 5 | |
%lnkXm = inttoptr i64 %lnkXl to i64* | |
%lnkXn = load i64, i64* %lnkXm, !tbaa !3 | |
%lnkXq = load i64, i64* %R1_Var | |
%lnkXr = add i64 %lnkXq, 29 | |
%lnkXs = inttoptr i64 %lnkXr to i64* | |
%lnkXt = load i64, i64* %lnkXs, !tbaa !3 | |
%lnkXu = load i64, i64* %R2_Var | |
%lnkXv = add i64 %lnkXt, %lnkXu | |
%lnkXw = shl i64 %lnkXv, 3 | |
%lnkXx = add i64 %lnkXw, 16 | |
%lnkXy = add i64 %lnkXn, %lnkXx | |
%lnkXz = inttoptr i64 %lnkXy to double* | |
%lnkXA = load double, double* %lnkXz, !tbaa !5 | |
%lnkXB = fadd double %lnkXA, 0x3FF0000000000000 | |
%lnkXC = inttoptr i64 %lnkXh to double* | |
store double %lnkXB, double* %lnkXC, !tbaa !5 | |
%lnkXD = load i64, i64* %R3_Var | |
store i64 %lnkXD, i64* %R3_Var | |
%lnkXF = load i64, i64* %R2_Var | |
%lnkXG = add i64 %lnkXF, 1 | |
store i64 %lnkXG, i64* %R2_Var | |
%lnkXH = load i64, i64* %lsiRW | |
store i64 %lnkXH, i64* %R1_Var | |
%lnkXI = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkXJ = load i64, i64* %R1_Var | |
%lnkXK = load i64, i64* %R2_Var | |
%lnkXL = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkXI( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkXJ, i64 %lnkXK, i64 %lnkXL, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckJ9: | |
%lnkXM = ptrtoint i8* @ghczmprim_GHCziTuple_Z0T_closure to i64 | |
%lnkXN = add i64 %lnkXM, 1 | |
store i64 %lnkXN, i64* %R1_Var | |
%lnkXO = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
%lnkXP = bitcast i64* %lnkXO to i64* | |
%lnkXQ = load i64, i64* %lnkXP, !tbaa !1 | |
%lnkXR = inttoptr i64 %lnkXQ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkXS = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkXR( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkXS, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siRW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to i8*) | |
define internal ghccc void @siRW_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 12884901900, i64 1, i64 10}> | |
{ | |
ckJD: | |
%R3_Var = alloca i64, i32 1 | |
store i64 %R3_Arg, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnkXT = load i64, i64* %R3_Var | |
store i64 %lnkXT, i64* %R3_Var | |
%lnkXU = load i64, i64* %R2_Var | |
store i64 %lnkXU, i64* %R2_Var | |
%lnkXX = load i64, i64* %R1_Var | |
%lnkXY = add i64 %lnkXX, 5 | |
%lnkXZ = inttoptr i64 %lnkXY to i64* | |
%lnkY0 = load i64, i64* %lnkXZ, !tbaa !3 | |
store i64 %lnkY0, i64* %R1_Var | |
%lnkY1 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRX_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkY2 = load i64, i64* %R1_Var | |
%lnkY3 = load i64, i64* %R2_Var | |
%lnkY4 = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkY1( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnkY2, i64 %lnkY3, i64 %lnkY4, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siSx_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSx_info$def to i8*) | |
define internal ghccc void @siSx_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 8589934593, i64 9}> | |
{ | |
ckJU: | |
%lsiRW = alloca i64, i32 1 | |
%lsiS7 = alloca i64, i32 1 | |
%lsiS8 = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnkY5 = load i64*, i64** %Sp_Var | |
%lnkY6 = getelementptr inbounds i64, i64* %lnkY5, i32 -4 | |
%lnkY7 = ptrtoint i64* %lnkY6 to i64 | |
%lnkY8 = icmp ult i64 %lnkY7, %SpLim_Arg | |
br i1 %lnkY8, label %ckJV, label %ckJW | |
ckJW: | |
%lnkYa = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckJR_info$def to i64 | |
%lnkY9 = load i64*, i64** %Sp_Var | |
%lnkYb = getelementptr inbounds i64, i64* %lnkY9, i32 -4 | |
store i64 %lnkYa, i64* %lnkYb, !tbaa !1 | |
%lnkYe = load i64, i64* %R1_Var | |
%lnkYf = add i64 %lnkYe, 6 | |
%lnkYg = inttoptr i64 %lnkYf to i64* | |
%lnkYh = load i64, i64* %lnkYg, !tbaa !3 | |
store i64 %lnkYh, i64* %lsiRW | |
%lnkYk = load i64, i64* %R1_Var | |
%lnkYl = add i64 %lnkYk, 14 | |
%lnkYm = inttoptr i64 %lnkYl to i64* | |
%lnkYn = load i64, i64* %lnkYm, !tbaa !3 | |
store i64 %lnkYn, i64* %lsiS7 | |
%lnkYq = load i64, i64* %R1_Var | |
%lnkYr = add i64 %lnkYq, 22 | |
%lnkYs = inttoptr i64 %lnkYr to i64* | |
%lnkYt = load i64, i64* %lnkYs, !tbaa !3 | |
store i64 %lnkYt, i64* %lsiS8 | |
%lnkYu = load i64, i64* %R2_Var | |
store i64 %lnkYu, i64* %R1_Var | |
%lnkYw = load i64, i64* %lsiRW | |
%lnkYv = load i64*, i64** %Sp_Var | |
%lnkYx = getelementptr inbounds i64, i64* %lnkYv, i32 -3 | |
store i64 %lnkYw, i64* %lnkYx, !tbaa !1 | |
%lnkYz = load i64, i64* %lsiS7 | |
%lnkYy = load i64*, i64** %Sp_Var | |
%lnkYA = getelementptr inbounds i64, i64* %lnkYy, i32 -2 | |
store i64 %lnkYz, i64* %lnkYA, !tbaa !1 | |
%lnkYC = load i64, i64* %lsiS8 | |
%lnkYB = load i64*, i64** %Sp_Var | |
%lnkYD = getelementptr inbounds i64, i64* %lnkYB, i32 -1 | |
store i64 %lnkYC, i64* %lnkYD, !tbaa !1 | |
%lnkYE = load i64*, i64** %Sp_Var | |
%lnkYF = getelementptr inbounds i64, i64* %lnkYE, i32 -4 | |
%lnkYG = ptrtoint i64* %lnkYF to i64 | |
%lnkYH = inttoptr i64 %lnkYG to i64* | |
store i64* %lnkYH, i64** %Sp_Var | |
%lnkYI = load i64, i64* %R1_Var | |
%lnkYJ = and i64 %lnkYI, 7 | |
%lnkYK = icmp ne i64 %lnkYJ, 0 | |
br i1 %lnkYK, label %ukLq, label %ckJS | |
ckJS: | |
%lnkYM = load i64, i64* %R1_Var | |
%lnkYN = inttoptr i64 %lnkYM to i64* | |
%lnkYO = load i64, i64* %lnkYN, !tbaa !3 | |
%lnkYP = inttoptr i64 %lnkYO to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkYQ = load i64*, i64** %Sp_Var | |
%lnkYR = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkYP( i64* %Base_Arg, i64* %lnkYQ, i64* %Hp_Arg, i64 %lnkYR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ukLq: | |
%lnkYS = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckJR_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkYT = load i64*, i64** %Sp_Var | |
%lnkYU = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkYS( i64* %Base_Arg, i64* %lnkYT, i64* %Hp_Arg, i64 %lnkYU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckJV: | |
%lnkYV = load i64, i64* %R2_Var | |
store i64 %lnkYV, i64* %R2_Var | |
%lnkYW = load i64, i64* %R1_Var | |
store i64 %lnkYW, i64* %R1_Var | |
%lnkYX = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnkYY = bitcast i64* %lnkYX to i64* | |
%lnkYZ = load i64, i64* %lnkYY, !tbaa !4 | |
%lnkZ0 = inttoptr i64 %lnkYZ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkZ1 = load i64*, i64** %Sp_Var | |
%lnkZ2 = load i64, i64* %R1_Var | |
%lnkZ3 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkZ0( i64* %Base_Arg, i64* %lnkZ1, i64* %Hp_Arg, i64 %lnkZ2, i64 %lnkZ3, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckJR_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckJR_info$def to i8*) | |
define internal ghccc void @ckJR_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 387, i64 32}> | |
{ | |
ckJR: | |
%lsiRW = alloca i64, i32 1 | |
%lsiS7 = alloca i64, i32 1 | |
%lsiS8 = alloca i64, i32 1 | |
%lsiSc = alloca i64, i32 1 | |
%lsiSd = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnkZ4 = load i64*, i64** %Sp_Var | |
%lnkZ5 = getelementptr inbounds i64, i64* %lnkZ4, i32 1 | |
%lnkZ6 = bitcast i64* %lnkZ5 to i64* | |
%lnkZ7 = load i64, i64* %lnkZ6, !tbaa !1 | |
store i64 %lnkZ7, i64* %lsiRW | |
%lnkZ8 = load i64*, i64** %Sp_Var | |
%lnkZ9 = getelementptr inbounds i64, i64* %lnkZ8, i32 2 | |
%lnkZa = bitcast i64* %lnkZ9 to i64* | |
%lnkZb = load i64, i64* %lnkZa, !tbaa !1 | |
store i64 %lnkZb, i64* %lsiS7 | |
%lnkZc = load i64*, i64** %Sp_Var | |
%lnkZd = getelementptr inbounds i64, i64* %lnkZc, i32 3 | |
%lnkZe = bitcast i64* %lnkZd to i64* | |
%lnkZf = load i64, i64* %lnkZe, !tbaa !1 | |
store i64 %lnkZf, i64* %lsiS8 | |
%lnkZi = load i64, i64* %R1_Var | |
%lnkZj = add i64 %lnkZi, 7 | |
%lnkZk = inttoptr i64 %lnkZj to i64* | |
%lnkZl = load i64, i64* %lnkZk, !tbaa !3 | |
store i64 %lnkZl, i64* %lsiSc | |
%lnkZm = load i64, i64* %lsiSc | |
%lnkZn = add i64 %lnkZm, 1 | |
store i64 %lnkZn, i64* %lsiSd | |
%lnkZo = load i64, i64* %lsiSc | |
%lnkZp = load i64, i64* %lsiS8 | |
%lnkZq = icmp slt i64 %lnkZo, %lnkZp | |
%lnkZr = zext i1 %lnkZq to i64 | |
switch i64 %lnkZr, label %ckK8 [i64 1, label %ckKt] | |
ckK8: | |
%lnkZs = load i64, i64* %lsiSd | |
%lnkZt = load i64, i64* %lsiS8 | |
%lnkZu = icmp slt i64 %lnkZs, %lnkZt | |
%lnkZv = zext i1 %lnkZu to i64 | |
switch i64 %lnkZv, label %ckKh [i64 1, label %ckKn] | |
ckKh: | |
%lnkZw = load i64, i64* %lsiSd | |
%lnkZx = load i64, i64* %lsiS7 | |
%lnkZy = mul i64 %lnkZw, %lnkZx | |
%lnkZz = load i64, i64* %lsiS8 | |
%lnkZA = add i64 %lnkZy, %lnkZz | |
store i64 %lnkZA, i64* %R3_Var | |
%lnkZB = load i64, i64* %lsiSc | |
%lnkZC = load i64, i64* %lsiS7 | |
%lnkZD = mul i64 %lnkZB, %lnkZC | |
%lnkZE = load i64, i64* %lsiS8 | |
%lnkZF = add i64 %lnkZD, %lnkZE | |
store i64 %lnkZF, i64* %R2_Var | |
%lnkZG = load i64, i64* %lsiRW | |
store i64 %lnkZG, i64* %R1_Var | |
%lnkZH = load i64*, i64** %Sp_Var | |
%lnkZI = getelementptr inbounds i64, i64* %lnkZH, i32 4 | |
%lnkZJ = ptrtoint i64* %lnkZI to i64 | |
%lnkZK = inttoptr i64 %lnkZJ to i64* | |
store i64* %lnkZK, i64** %Sp_Var | |
%lnkZL = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnkZM = load i64*, i64** %Sp_Var | |
%lnkZN = load i64, i64* %R1_Var | |
%lnkZO = load i64, i64* %R2_Var | |
%lnkZP = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnkZL( i64* %Base_Arg, i64* %lnkZM, i64* %Hp_Arg, i64 %lnkZN, i64 %lnkZO, i64 %lnkZP, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckKn: | |
%lnkZQ = load i64, i64* %lsiSd | |
%lnkZR = load i64, i64* %lsiS7 | |
%lnkZS = add i64 %lnkZR, 1 | |
%lnkZT = mul i64 %lnkZQ, %lnkZS | |
store i64 %lnkZT, i64* %R3_Var | |
%lnkZU = load i64, i64* %lsiSc | |
%lnkZV = load i64, i64* %lsiS7 | |
%lnkZW = mul i64 %lnkZU, %lnkZV | |
%lnkZX = load i64, i64* %lsiS8 | |
%lnkZY = add i64 %lnkZW, %lnkZX | |
store i64 %lnkZY, i64* %R2_Var | |
%lnkZZ = load i64, i64* %lsiRW | |
store i64 %lnkZZ, i64* %R1_Var | |
%lnl00 = load i64*, i64** %Sp_Var | |
%lnl01 = getelementptr inbounds i64, i64* %lnl00, i32 4 | |
%lnl02 = ptrtoint i64* %lnl01 to i64 | |
%lnl03 = inttoptr i64 %lnl02 to i64* | |
store i64* %lnl03, i64** %Sp_Var | |
%lnl04 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl05 = load i64*, i64** %Sp_Var | |
%lnl06 = load i64, i64* %R1_Var | |
%lnl07 = load i64, i64* %R2_Var | |
%lnl08 = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl04( i64* %Base_Arg, i64* %lnl05, i64* %Hp_Arg, i64 %lnl06, i64 %lnl07, i64 %lnl08, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckKt: | |
%lnl09 = load i64, i64* %lsiSd | |
%lnl0a = load i64, i64* %lsiS8 | |
%lnl0b = icmp slt i64 %lnl09, %lnl0a | |
%lnl0c = zext i1 %lnl0b to i64 | |
switch i64 %lnl0c, label %ckKC [i64 1, label %ckKI] | |
ckKC: | |
%lnl0d = load i64, i64* %lsiSd | |
%lnl0e = load i64, i64* %lsiS7 | |
%lnl0f = mul i64 %lnl0d, %lnl0e | |
%lnl0g = load i64, i64* %lsiS8 | |
%lnl0h = add i64 %lnl0f, %lnl0g | |
store i64 %lnl0h, i64* %R3_Var | |
%lnl0i = load i64, i64* %lsiSc | |
%lnl0j = load i64, i64* %lsiS7 | |
%lnl0k = add i64 %lnl0j, 1 | |
%lnl0l = mul i64 %lnl0i, %lnl0k | |
store i64 %lnl0l, i64* %R2_Var | |
%lnl0m = load i64, i64* %lsiRW | |
store i64 %lnl0m, i64* %R1_Var | |
%lnl0n = load i64*, i64** %Sp_Var | |
%lnl0o = getelementptr inbounds i64, i64* %lnl0n, i32 4 | |
%lnl0p = ptrtoint i64* %lnl0o to i64 | |
%lnl0q = inttoptr i64 %lnl0p to i64* | |
store i64* %lnl0q, i64** %Sp_Var | |
%lnl0r = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl0s = load i64*, i64** %Sp_Var | |
%lnl0t = load i64, i64* %R1_Var | |
%lnl0u = load i64, i64* %R2_Var | |
%lnl0v = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0r( i64* %Base_Arg, i64* %lnl0s, i64* %Hp_Arg, i64 %lnl0t, i64 %lnl0u, i64 %lnl0v, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckKI: | |
%lnl0w = load i64, i64* %lsiSd | |
%lnl0x = load i64, i64* %lsiS7 | |
%lnl0y = add i64 %lnl0x, 1 | |
%lnl0z = mul i64 %lnl0w, %lnl0y | |
store i64 %lnl0z, i64* %R3_Var | |
%lnl0A = load i64, i64* %lsiSc | |
%lnl0B = load i64, i64* %lsiS7 | |
%lnl0C = add i64 %lnl0B, 1 | |
%lnl0D = mul i64 %lnl0A, %lnl0C | |
store i64 %lnl0D, i64* %R2_Var | |
%lnl0E = load i64, i64* %lsiRW | |
store i64 %lnl0E, i64* %R1_Var | |
%lnl0F = load i64*, i64** %Sp_Var | |
%lnl0G = getelementptr inbounds i64, i64* %lnl0F, i32 4 | |
%lnl0H = ptrtoint i64* %lnl0G to i64 | |
%lnl0I = inttoptr i64 %lnl0H to i64* | |
store i64* %lnl0I, i64** %Sp_Var | |
%lnl0J = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl0K = load i64*, i64** %Sp_Var | |
%lnl0L = load i64, i64* %R1_Var | |
%lnl0M = load i64, i64* %R2_Var | |
%lnl0N = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0J( i64* %Base_Arg, i64* %lnl0K, i64* %Hp_Arg, i64 %lnl0L, i64 %lnl0M, i64 %lnl0N, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siSF_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSF_info$def to i8*) | |
define internal ghccc void @siSF_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckLC: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnl0O = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl0P = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0O( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl0P, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@siT0_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siT0_info$def to i8*) | |
define internal ghccc void @siT0_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 8589934597, i64 4294967296, i64 11}> | |
{ | |
ckLM: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
store i64 %R2_Arg, i64* %R1_Var | |
%lnl0Q = bitcast i8* @stg_raiseIOzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl0R = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl0Q( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl0R, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@Test_zdwtest1_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i8*) | |
define ghccc void @Test_zdwtest1_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_slow$def to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i64)),i64 0), i64 388, i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to i64)),i64 24), i64 21474836480, i64 0, i64 35925584659873807}> | |
{ | |
ckLU: | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl0S = load i64*, i64** %Sp_Var | |
%lnl0T = getelementptr inbounds i64, i64* %lnl0S, i32 -6 | |
%lnl0U = ptrtoint i64* %lnl0T to i64 | |
%lnl0V = icmp ult i64 %lnl0U, %SpLim_Arg | |
br i1 %lnl0V, label %ckLV, label %ckLW | |
ckLW: | |
%lnl0X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckC2_info$def to i64 | |
%lnl0W = load i64*, i64** %Sp_Var | |
%lnl0Y = getelementptr inbounds i64, i64* %lnl0W, i32 -5 | |
store i64 %lnl0X, i64* %lnl0Y, !tbaa !1 | |
%lnl0Z = load i64*, i64** %Sp_Var | |
%lnl10 = getelementptr inbounds i64, i64* %lnl0Z, i32 -4 | |
store i64 %R2_Arg, i64* %lnl10, !tbaa !1 | |
%lnl11 = load i64*, i64** %Sp_Var | |
%lnl12 = getelementptr inbounds i64, i64* %lnl11, i32 -3 | |
store i64 %R3_Arg, i64* %lnl12, !tbaa !1 | |
%lnl13 = load i64*, i64** %Sp_Var | |
%lnl14 = getelementptr inbounds i64, i64* %lnl13, i32 -2 | |
store i64 %R4_Arg, i64* %lnl14, !tbaa !1 | |
%lnl15 = load i64*, i64** %Sp_Var | |
%lnl16 = getelementptr inbounds i64, i64* %lnl15, i32 -1 | |
store i64 %R5_Arg, i64* %lnl16, !tbaa !1 | |
%lnl17 = load i64*, i64** %Sp_Var | |
%lnl18 = getelementptr inbounds i64, i64* %lnl17, i32 -5 | |
%lnl19 = ptrtoint i64* %lnl18 to i64 | |
%lnl1a = inttoptr i64 %lnl19 to i64* | |
store i64* %lnl1a, i64** %Sp_Var | |
%lnl1b = bitcast i8* @stg_noDuplicatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl1c = load i64*, i64** %Sp_Var | |
%lnl1d = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl1b( i64* %Base_Arg, i64* %lnl1c, i64* %Hp_Arg, i64 %lnl1d, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckLV: | |
%lnl1e = ptrtoint %Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i64 | |
store i64 %lnl1e, i64* %R1_Var | |
%lnl1f = load i64*, i64** %Sp_Var | |
%lnl1g = getelementptr inbounds i64, i64* %lnl1f, i32 -4 | |
store i64 %R2_Arg, i64* %lnl1g, !tbaa !1 | |
%lnl1h = load i64*, i64** %Sp_Var | |
%lnl1i = getelementptr inbounds i64, i64* %lnl1h, i32 -3 | |
store i64 %R3_Arg, i64* %lnl1i, !tbaa !1 | |
%lnl1j = load i64*, i64** %Sp_Var | |
%lnl1k = getelementptr inbounds i64, i64* %lnl1j, i32 -2 | |
store i64 %R4_Arg, i64* %lnl1k, !tbaa !1 | |
%lnl1l = load i64*, i64** %Sp_Var | |
%lnl1m = getelementptr inbounds i64, i64* %lnl1l, i32 -1 | |
store i64 %R5_Arg, i64* %lnl1m, !tbaa !1 | |
%lnl1n = load i64*, i64** %Sp_Var | |
%lnl1o = getelementptr inbounds i64, i64* %lnl1n, i32 -4 | |
%lnl1p = ptrtoint i64* %lnl1o to i64 | |
%lnl1q = inttoptr i64 %lnl1p to i64* | |
store i64* %lnl1q, i64** %Sp_Var | |
%lnl1r = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnl1s = bitcast i64* %lnl1r to i64* | |
%lnl1t = load i64, i64* %lnl1s, !tbaa !4 | |
%lnl1u = inttoptr i64 %lnl1t to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl1v = load i64*, i64** %Sp_Var | |
%lnl1w = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl1u( i64* %Base_Arg, i64* %lnl1v, i64* %Hp_Arg, i64 %lnl1w, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckC2_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckC2_info$def to i8*) | |
define internal ghccc void @ckC2_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckC2_info$def to i64)),i64 24), i64 388, i64 35644109683163168}> | |
{ | |
ckC2: | |
%lsiO9 = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl1x = load i64*, i64** %Sp_Var | |
%lnl1y = getelementptr inbounds i64, i64* %lnl1x, i32 2 | |
%lnl1z = bitcast i64* %lnl1y to i64* | |
%lnl1A = load i64, i64* %lnl1z, !tbaa !1 | |
store i64 %lnl1A, i64* %lsiO9 | |
%lnl1B = load i64, i64* %lsiO9 | |
%lnl1C = icmp sge i64 %lnl1B, 0 | |
%lnl1D = zext i1 %lnl1C to i64 | |
switch i64 %lnl1D, label %ckM0 [i64 0, label %ckM0 | |
i64 1, label %ckNC] | |
ckM0: | |
%lnl1F = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i64 | |
%lnl1E = load i64*, i64** %Sp_Var | |
%lnl1G = getelementptr inbounds i64, i64* %lnl1E, i32 4 | |
store i64 %lnl1F, i64* %lnl1G, !tbaa !1 | |
%lnl1H = load i64, i64* %lsiO9 | |
store i64 %lnl1H, i64* %R2_Var | |
%lnl1I = load i64*, i64** %Sp_Var | |
%lnl1J = getelementptr inbounds i64, i64* %lnl1I, i32 4 | |
%lnl1K = ptrtoint i64* %lnl1J to i64 | |
%lnl1L = inttoptr i64 %lnl1K to i64* | |
store i64* %lnl1L, i64** %Sp_Var | |
%lnl1M = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFy_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl1N = load i64*, i64** %Sp_Var | |
%lnl1O = load i64, i64* %R1_Var | |
%lnl1P = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl1M( i64* %Base_Arg, i64* %lnl1N, i64* %Hp_Arg, i64 %lnl1O, i64 %lnl1P, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNC: | |
%lnl1Q = load i64, i64* %lsiO9 | |
%lnl1R = icmp slt i64 %lnl1Q, 0 | |
%lnl1S = zext i1 %lnl1R to i64 | |
switch i64 %lnl1S, label %ckNy [i64 0, label %ckNy | |
i64 1, label %ckNB] | |
ckNy: | |
%lnl1T = load i64, i64* %lsiO9 | |
%lnl1U = icmp sgt i64 %lnl1T, 1152921504606846975 | |
%lnl1V = zext i1 %lnl1U to i64 | |
switch i64 %lnl1V, label %ckM2 [i64 0, label %ckM2 | |
i64 1, label %ckNw] | |
ckM2: | |
%lnl1X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCp_info$def to i64 | |
%lnl1W = load i64*, i64** %Sp_Var | |
%lnl1Y = getelementptr inbounds i64, i64* %lnl1W, i32 0 | |
store i64 %lnl1X, i64* %lnl1Y, !tbaa !1 | |
%lnl1Z = load i64, i64* %lsiO9 | |
%lnl20 = shl i64 %lnl1Z, 3 | |
store i64 %lnl20, i64* %R1_Var | |
%lnl21 = bitcast i8* @stg_newByteArrayzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl22 = load i64*, i64** %Sp_Var | |
%lnl23 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl21( i64* %Base_Arg, i64* %lnl22, i64* %Hp_Arg, i64 %lnl23, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNw: | |
%lnl25 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i64 | |
%lnl24 = load i64*, i64** %Sp_Var | |
%lnl26 = getelementptr inbounds i64, i64* %lnl24, i32 4 | |
store i64 %lnl25, i64* %lnl26, !tbaa !1 | |
%lnl27 = load i64, i64* %lsiO9 | |
store i64 %lnl27, i64* %R2_Var | |
%lnl28 = load i64*, i64** %Sp_Var | |
%lnl29 = getelementptr inbounds i64, i64* %lnl28, i32 4 | |
%lnl2a = ptrtoint i64* %lnl29 to i64 | |
%lnl2b = inttoptr i64 %lnl2a to i64* | |
store i64* %lnl2b, i64** %Sp_Var | |
%lnl2c = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riFW_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl2d = load i64*, i64** %Sp_Var | |
%lnl2e = load i64, i64* %R1_Var | |
%lnl2f = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl2c( i64* %Base_Arg, i64* %lnl2d, i64* %Hp_Arg, i64 %lnl2e, i64 %lnl2f, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNB: | |
%lnl2h = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i64 | |
%lnl2g = load i64*, i64** %Sp_Var | |
%lnl2i = getelementptr inbounds i64, i64* %lnl2g, i32 4 | |
store i64 %lnl2h, i64* %lnl2i, !tbaa !1 | |
%lnl2j = load i64, i64* %lsiO9 | |
store i64 %lnl2j, i64* %R2_Var | |
%lnl2k = load i64*, i64** %Sp_Var | |
%lnl2l = getelementptr inbounds i64, i64* %lnl2k, i32 4 | |
%lnl2m = ptrtoint i64* %lnl2l to i64 | |
%lnl2n = inttoptr i64 %lnl2m to i64* | |
store i64* %lnl2n, i64** %Sp_Var | |
%lnl2o = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @riG2_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl2p = load i64*, i64** %Sp_Var | |
%lnl2q = load i64, i64* %R1_Var | |
%lnl2r = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl2o( i64* %Base_Arg, i64* %lnl2p, i64* %Hp_Arg, i64 %lnl2q, i64 %lnl2r, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckCp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCp_info$def to i8*) | |
define internal ghccc void @ckCp_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCp_info$def to i64)),i64 64), i64 388, i64 1108380735242272}> | |
{ | |
ckCp: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R6_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R6_Var | |
%F1_Var = alloca float, i32 1 | |
store float undef, float* %F1_Var | |
%D1_Var = alloca double, i32 1 | |
store double undef, double* %D1_Var | |
%F2_Var = alloca float, i32 1 | |
store float undef, float* %F2_Var | |
%D2_Var = alloca double, i32 1 | |
store double undef, double* %D2_Var | |
%F3_Var = alloca float, i32 1 | |
store float undef, float* %F3_Var | |
%D3_Var = alloca double, i32 1 | |
store double undef, double* %D3_Var | |
%F4_Var = alloca float, i32 1 | |
store float undef, float* %F4_Var | |
%D4_Var = alloca double, i32 1 | |
store double undef, double* %D4_Var | |
%F5_Var = alloca float, i32 1 | |
store float undef, float* %F5_Var | |
%D5_Var = alloca double, i32 1 | |
store double undef, double* %D5_Var | |
%F6_Var = alloca float, i32 1 | |
store float undef, float* %F6_Var | |
%D6_Var = alloca double, i32 1 | |
store double undef, double* %D6_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnl2s = add i64 %R1_Arg, 16 | |
%lnl2t = inttoptr i64 %lnl2s to i8* | |
%lnl2u = load i64*, i64** %Sp_Var | |
%lnl2v = getelementptr inbounds i64, i64* %lnl2u, i32 2 | |
%lnl2w = bitcast i64* %lnl2v to i64* | |
%lnl2x = load i64, i64* %lnl2w, !tbaa !1 | |
%lnl2y = shl i64 %lnl2x, 3 | |
%lnl2z = bitcast i8* @hsprimitive_memset_Word8 to void (i8*, i64, i64, i64)* | |
store i64 undef, i64* %R3_Var | |
store i64 undef, i64* %R4_Var | |
store i64 undef, i64* %R5_Var | |
store i64 undef, i64* %R6_Var | |
store float undef, float* %F1_Var | |
store double undef, double* %D1_Var | |
store float undef, float* %F2_Var | |
store double undef, double* %D2_Var | |
store float undef, float* %F3_Var | |
store double undef, double* %D3_Var | |
store float undef, float* %F4_Var | |
store double undef, double* %D4_Var | |
store float undef, float* %F5_Var | |
store double undef, double* %D5_Var | |
store float undef, float* %F6_Var | |
store double undef, double* %D6_Var | |
call ccc void (i8*, i64, i64, i64) %lnl2z( i8* %lnl2t, i64 0, i64 %lnl2y, i64 0 ) nounwind | |
%lnl2B = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCC_info$def to i64 | |
%lnl2A = load i64*, i64** %Sp_Var | |
%lnl2C = getelementptr inbounds i64, i64* %lnl2A, i32 -1 | |
store i64 %lnl2B, i64* %lnl2C, !tbaa !1 | |
%lnl2D = load i64*, i64** %Sp_Var | |
%lnl2E = getelementptr inbounds i64, i64* %lnl2D, i32 0 | |
store i64 %R1_Arg, i64* %lnl2E, !tbaa !1 | |
%lnl2F = load i64*, i64** %Sp_Var | |
%lnl2G = getelementptr inbounds i64, i64* %lnl2F, i32 -1 | |
%lnl2H = ptrtoint i64* %lnl2G to i64 | |
%lnl2I = inttoptr i64 %lnl2H to i64* | |
store i64* %lnl2I, i64** %Sp_Var | |
%lnl2J = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl2K = load i64*, i64** %Sp_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl2J( i64* %Base_Arg, i64* %lnl2K, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckCC_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCC_info$def to i8*) | |
define internal ghccc void @ckCC_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCC_info$def to i64)),i64 64), i64 773, i64 1108380735242272}> | |
{ | |
ckCC: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl2L = load i64*, i64** %Hp_Var | |
%lnl2M = getelementptr inbounds i64, i64* %lnl2L, i32 2 | |
%lnl2N = ptrtoint i64* %lnl2M to i64 | |
%lnl2O = inttoptr i64 %lnl2N to i64* | |
store i64* %lnl2O, i64** %Hp_Var | |
%lnl2P = load i64*, i64** %Hp_Var | |
%lnl2Q = ptrtoint i64* %lnl2P to i64 | |
%lnl2R = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnl2S = bitcast i64* %lnl2R to i64* | |
%lnl2T = load i64, i64* %lnl2S, !tbaa !4 | |
%lnl2U = icmp ugt i64 %lnl2Q, %lnl2T | |
br i1 %lnl2U, label %ckM6, label %ckM5 | |
ckM5: | |
%lnl2V = load i64, i64* %R1_Var | |
switch i64 %lnl2V, label %ckM8 [i64 0, label %ckMA | |
i64 1, label %ckN2] | |
ckM8: | |
%lnl2X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOy_info$def to i64 | |
%lnl2W = load i64*, i64** %Hp_Var | |
%lnl2Y = getelementptr inbounds i64, i64* %lnl2W, i32 -1 | |
store i64 %lnl2X, i64* %lnl2Y, !tbaa !2 | |
%lnl2Z = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCO_info$def to i64 | |
%lnl30 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl2Z, i64* %lnl30, !tbaa !1 | |
%lnl32 = load i64*, i64** %Hp_Var | |
%lnl33 = ptrtoint i64* %lnl32 to i64 | |
%lnl34 = add i64 %lnl33, -6 | |
store i64 %lnl34, i64* %R2_Var | |
%lnl35 = ptrtoint %riFH_closure_struct* @riFH_closure$def to i64 | |
%lnl36 = add i64 %lnl35, 1 | |
store i64 %lnl36, i64* %R1_Var | |
%lnl37 = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl38 = load i64*, i64** %Hp_Var | |
%lnl39 = load i64, i64* %R1_Var | |
%lnl3a = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl37( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl38, i64 %lnl39, i64 %lnl3a, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMA: | |
%lnl3b = load i64*, i64** %Hp_Var | |
%lnl3c = getelementptr inbounds i64, i64* %lnl3b, i32 -2 | |
%lnl3d = ptrtoint i64* %lnl3c to i64 | |
%lnl3e = inttoptr i64 %lnl3d to i64* | |
store i64* %lnl3e, i64** %Hp_Var | |
%lnl3f = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFM_info$def to i64 | |
%lnl3g = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl3f, i64* %lnl3g, !tbaa !1 | |
%lnl3h = ptrtoint %riFJ_closure_struct* @riFJ_closure$def to i64 | |
%lnl3i = add i64 %lnl3h, 1 | |
store i64 %lnl3i, i64* %R1_Var | |
%lnl3j = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl3k = load i64*, i64** %Hp_Var | |
%lnl3l = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3j( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl3k, i64 %lnl3l, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckN2: | |
%lnl3n = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRD_info$def to i64 | |
%lnl3m = load i64*, i64** %Hp_Var | |
%lnl3o = getelementptr inbounds i64, i64* %lnl3m, i32 -1 | |
store i64 %lnl3n, i64* %lnl3o, !tbaa !2 | |
%lnl3p = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIS_info$def to i64 | |
%lnl3q = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl3p, i64* %lnl3q, !tbaa !1 | |
%lnl3s = load i64*, i64** %Hp_Var | |
%lnl3t = ptrtoint i64* %lnl3s to i64 | |
%lnl3u = add i64 %lnl3t, -6 | |
store i64 %lnl3u, i64* %R2_Var | |
%lnl3v = ptrtoint %riFK_closure_struct* @riFK_closure$def to i64 | |
%lnl3w = add i64 %lnl3v, 1 | |
store i64 %lnl3w, i64* %R1_Var | |
%lnl3x = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl3y = load i64*, i64** %Hp_Var | |
%lnl3z = load i64, i64* %R1_Var | |
%lnl3A = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3x( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl3y, i64 %lnl3z, i64 %lnl3A, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckM6: | |
%lnl3B = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnl3B, !tbaa !4 | |
%lnl3C = load i64, i64* %R1_Var | |
store i64 %lnl3C, i64* %R1_Var | |
%lnl3D = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl3E = load i64*, i64** %Hp_Var | |
%lnl3F = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3D( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl3E, i64 %lnl3F, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckIS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIS_info$def to i8*) | |
define internal ghccc void @ckIS_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIS_info$def to i64)),i64 64), i64 773, i64 263887085633568}> | |
{ | |
ckIS: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl3G = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to i64 | |
%lnl3H = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl3G, i64* %lnl3H, !tbaa !1 | |
%lnl3I = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64 | |
store i64 %lnl3I, i64* %R1_Var | |
%lnl3J = load i64, i64* %R1_Var | |
%lnl3K = and i64 %lnl3J, 7 | |
%lnl3L = icmp ne i64 %lnl3K, 0 | |
br i1 %lnl3L, label %ukOt, label %ckIV | |
ckIV: | |
%lnl3N = load i64, i64* %R1_Var | |
%lnl3O = inttoptr i64 %lnl3N to i64* | |
%lnl3P = load i64, i64* %lnl3O, !tbaa !3 | |
%lnl3Q = inttoptr i64 %lnl3P to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl3R = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3Q( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl3R, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ukOt: | |
%lnl3S = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl3T = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl3S( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnl3T, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckIU_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to i8*) | |
define internal ghccc void @ckIU_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIU_info$def to i64)),i64 64), i64 773, i64 228702713544736}> | |
{ | |
ckIU: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiRI = alloca i64, i32 1 | |
%lckJ0 = alloca i64, i32 1 | |
%lsiO9 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl3U = load i64*, i64** %Hp_Var | |
%lnl3V = getelementptr inbounds i64, i64* %lnl3U, i32 11 | |
%lnl3W = ptrtoint i64* %lnl3V to i64 | |
%lnl3X = inttoptr i64 %lnl3W to i64* | |
store i64* %lnl3X, i64** %Hp_Var | |
%lnl3Y = load i64*, i64** %Hp_Var | |
%lnl3Z = ptrtoint i64* %lnl3Y to i64 | |
%lnl40 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnl41 = bitcast i64* %lnl40 to i64* | |
%lnl42 = load i64, i64* %lnl41, !tbaa !4 | |
%lnl43 = icmp ugt i64 %lnl3Z, %lnl42 | |
br i1 %lnl43, label %ckN6, label %ckN5 | |
ckN5: | |
%lnl46 = load i64, i64* %R1_Var | |
%lnl47 = add i64 %lnl46, 31 | |
%lnl48 = inttoptr i64 %lnl47 to i64* | |
%lnl49 = load i64, i64* %lnl48, !tbaa !3 | |
store i64 %lnl49, i64* %lsiRI | |
%lnl4b = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRX_info$def to i64 | |
%lnl4a = load i64*, i64** %Hp_Var | |
%lnl4c = getelementptr inbounds i64, i64* %lnl4a, i32 -10 | |
store i64 %lnl4b, i64* %lnl4c, !tbaa !2 | |
%lnl4e = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnl4f = bitcast i64* %lnl4e to i64* | |
%lnl4g = load i64, i64* %lnl4f, !tbaa !1 | |
%lnl4d = load i64*, i64** %Hp_Var | |
%lnl4h = getelementptr inbounds i64, i64* %lnl4d, i32 -9 | |
store i64 %lnl4g, i64* %lnl4h, !tbaa !2 | |
%lnl4j = getelementptr inbounds i64, i64* %Sp_Arg, i32 1 | |
%lnl4k = bitcast i64* %lnl4j to i64* | |
%lnl4l = load i64, i64* %lnl4k, !tbaa !1 | |
%lnl4i = load i64*, i64** %Hp_Var | |
%lnl4m = getelementptr inbounds i64, i64* %lnl4i, i32 -8 | |
store i64 %lnl4l, i64* %lnl4m, !tbaa !2 | |
%lnl4o = load i64*, i64** %Hp_Var | |
%lnl4p = ptrtoint i64* %lnl4o to i64 | |
%lnl4q = add i64 %lnl4p, -37 | |
store i64 %lnl4q, i64* %lckJ0 | |
%lnl4s = load i64, i64* %lckJ0 | |
%lnl4r = load i64*, i64** %Hp_Var | |
%lnl4t = getelementptr inbounds i64, i64* %lnl4r, i32 -7 | |
store i64 %lnl4s, i64* %lnl4t, !tbaa !2 | |
%lnl4v = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnl4w = bitcast i64* %lnl4v to i64* | |
%lnl4x = load i64, i64* %lnl4w, !tbaa !1 | |
%lnl4u = load i64*, i64** %Hp_Var | |
%lnl4y = getelementptr inbounds i64, i64* %lnl4u, i32 -6 | |
store i64 %lnl4x, i64* %lnl4y, !tbaa !2 | |
%lnl4A = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRW_info$def to i64 | |
%lnl4z = load i64*, i64** %Hp_Var | |
%lnl4B = getelementptr inbounds i64, i64* %lnl4z, i32 -5 | |
store i64 %lnl4A, i64* %lnl4B, !tbaa !2 | |
%lnl4E = load i64*, i64** %Hp_Var | |
%lnl4F = ptrtoint i64* %lnl4E to i64 | |
%lnl4G = add i64 %lnl4F, -77 | |
%lnl4C = load i64*, i64** %Hp_Var | |
%lnl4H = getelementptr inbounds i64, i64* %lnl4C, i32 -4 | |
store i64 %lnl4G, i64* %lnl4H, !tbaa !2 | |
%lnl4J = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSx_info$def to i64 | |
%lnl4I = load i64*, i64** %Hp_Var | |
%lnl4K = getelementptr inbounds i64, i64* %lnl4I, i32 -3 | |
store i64 %lnl4J, i64* %lnl4K, !tbaa !2 | |
%lnl4M = load i64, i64* %lckJ0 | |
%lnl4L = load i64*, i64** %Hp_Var | |
%lnl4N = getelementptr inbounds i64, i64* %lnl4L, i32 -2 | |
store i64 %lnl4M, i64* %lnl4N, !tbaa !2 | |
%lnl4O = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnl4P = bitcast i64* %lnl4O to i64* | |
%lnl4Q = load i64, i64* %lnl4P, !tbaa !1 | |
store i64 %lnl4Q, i64* %lsiO9 | |
%lnl4S = load i64, i64* %lsiO9 | |
%lnl4T = load i64, i64* %lsiRI | |
%lnl4U = sdiv i64 %lnl4S, %lnl4T | |
%lnl4R = load i64*, i64** %Hp_Var | |
%lnl4V = getelementptr inbounds i64, i64* %lnl4R, i32 -1 | |
store i64 %lnl4U, i64* %lnl4V, !tbaa !2 | |
%lnl4X = load i64, i64* %lsiO9 | |
%lnl4Y = load i64, i64* %lsiRI | |
%lnl4Z = srem i64 %lnl4X, %lnl4Y | |
%lnl4W = load i64*, i64** %Hp_Var | |
%lnl50 = getelementptr inbounds i64, i64* %lnl4W, i32 0 | |
store i64 %lnl4Z, i64* %lnl50, !tbaa !2 | |
%lnl51 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLr_info$def to i64 | |
%lnl52 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl51, i64* %lnl52, !tbaa !1 | |
%lnl54 = load i64*, i64** %Hp_Var | |
%lnl55 = ptrtoint i64* %lnl54 to i64 | |
%lnl56 = add i64 %lnl55, -22 | |
store i64 %lnl56, i64* %R3_Var | |
%lnl57 = load i64, i64* %R1_Var | |
store i64 %lnl57, i64* %R2_Var | |
%lnl58 = bitcast i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl59 = load i64*, i64** %Hp_Var | |
%lnl5a = load i64, i64* %R1_Var | |
%lnl5b = load i64, i64* %R2_Var | |
%lnl5c = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl58( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl59, i64 %lnl5a, i64 %lnl5b, i64 %lnl5c, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckN6: | |
%lnl5d = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 88, i64* %lnl5d, !tbaa !4 | |
%lnl5e = load i64, i64* %R1_Var | |
store i64 %lnl5e, i64* %R1_Var | |
%lnl5f = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl5g = load i64*, i64** %Hp_Var | |
%lnl5h = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5f( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl5g, i64 %lnl5h, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckLr_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLr_info$def to i8*) | |
define internal ghccc void @ckLr_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLr_info$def to i64)),i64 64), i64 1797, i64 211110527500320}> | |
{ | |
ckLr: | |
%lnl5i = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLt_info$def to i64 | |
%lnl5j = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl5i, i64* %lnl5j, !tbaa !1 | |
%lnl5k = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5k( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckLt_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLt_info$def to i8*) | |
define internal ghccc void @ckLt_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLt_info$def to i64)),i64 64), i64 1797, i64 211110527500320}> | |
{ | |
ckLt: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl5l = load i64*, i64** %Hp_Var | |
%lnl5m = getelementptr inbounds i64, i64* %lnl5l, i32 2 | |
%lnl5n = ptrtoint i64* %lnl5m to i64 | |
%lnl5o = inttoptr i64 %lnl5n to i64* | |
store i64* %lnl5o, i64** %Hp_Var | |
%lnl5p = load i64*, i64** %Hp_Var | |
%lnl5q = ptrtoint i64* %lnl5p to i64 | |
%lnl5r = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnl5s = bitcast i64* %lnl5r to i64* | |
%lnl5t = load i64, i64* %lnl5s, !tbaa !4 | |
%lnl5u = icmp ugt i64 %lnl5q, %lnl5t | |
br i1 %lnl5u, label %ckNa, label %ckN9 | |
ckN9: | |
%lnl5v = load i64, i64* %R1_Var | |
switch i64 %lnl5v, label %ckNd [i64 0, label %ckNj | |
i64 1, label %ckNp] | |
ckNd: | |
%lnl5x = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siSF_info$def to i64 | |
%lnl5w = load i64*, i64** %Hp_Var | |
%lnl5y = getelementptr inbounds i64, i64* %lnl5w, i32 -1 | |
store i64 %lnl5x, i64* %lnl5y, !tbaa !2 | |
%lnl5z = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNb_info$def to i64 | |
%lnl5A = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl5z, i64* %lnl5A, !tbaa !1 | |
%lnl5C = load i64*, i64** %Hp_Var | |
%lnl5D = ptrtoint i64* %lnl5C to i64 | |
%lnl5E = add i64 %lnl5D, -6 | |
store i64 %lnl5E, i64* %R2_Var | |
%lnl5F = ptrtoint %riFB_closure_struct* @riFB_closure$def to i64 | |
%lnl5G = add i64 %lnl5F, 1 | |
store i64 %lnl5G, i64* %R1_Var | |
%lnl5H = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl5I = load i64*, i64** %Hp_Var | |
%lnl5J = load i64, i64* %R1_Var | |
%lnl5K = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5H( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl5I, i64 %lnl5J, i64 %lnl5K, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNj: | |
%lnl5L = load i64*, i64** %Hp_Var | |
%lnl5M = getelementptr inbounds i64, i64* %lnl5L, i32 -2 | |
%lnl5N = ptrtoint i64* %lnl5M to i64 | |
%lnl5O = inttoptr i64 %lnl5N to i64* | |
store i64* %lnl5O, i64** %Hp_Var | |
%lnl5P = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNi_info$def to i64 | |
%lnl5Q = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl5P, i64* %lnl5Q, !tbaa !1 | |
%lnl5R = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64 | |
%lnl5S = add i64 %lnl5R, 1 | |
store i64 %lnl5S, i64* %R1_Var | |
%lnl5T = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl5U = load i64*, i64** %Hp_Var | |
%lnl5V = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl5T( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl5U, i64 %lnl5V, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNp: | |
%lnl5X = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siT0_info$def to i64 | |
%lnl5W = load i64*, i64** %Hp_Var | |
%lnl5Y = getelementptr inbounds i64, i64* %lnl5W, i32 -1 | |
store i64 %lnl5X, i64* %lnl5Y, !tbaa !2 | |
%lnl5Z = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNo_info$def to i64 | |
%lnl60 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnl5Z, i64* %lnl60, !tbaa !1 | |
%lnl62 = load i64*, i64** %Hp_Var | |
%lnl63 = ptrtoint i64* %lnl62 to i64 | |
%lnl64 = add i64 %lnl63, -6 | |
store i64 %lnl64, i64* %R2_Var | |
%lnl65 = ptrtoint %riFE_closure_struct* @riFE_closure$def to i64 | |
%lnl66 = add i64 %lnl65, 1 | |
store i64 %lnl66, i64* %R1_Var | |
%lnl67 = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl68 = load i64*, i64** %Hp_Var | |
%lnl69 = load i64, i64* %R1_Var | |
%lnl6a = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl67( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl68, i64 %lnl69, i64 %lnl6a, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNa: | |
%lnl6b = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnl6b, !tbaa !4 | |
%lnl6c = load i64, i64* %R1_Var | |
store i64 %lnl6c, i64* %R1_Var | |
%lnl6d = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl6e = load i64*, i64** %Hp_Var | |
%lnl6f = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl6d( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnl6e, i64 %lnl6f, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckNo_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNo_info$def to i8*) | |
define internal ghccc void @ckNo_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckNo: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl6g = load i64*, i64** %Hp_Var | |
%lnl6h = getelementptr inbounds i64, i64* %lnl6g, i32 12 | |
%lnl6i = ptrtoint i64* %lnl6h to i64 | |
%lnl6j = inttoptr i64 %lnl6i to i64* | |
store i64* %lnl6j, i64** %Hp_Var | |
%lnl6k = load i64*, i64** %Hp_Var | |
%lnl6l = ptrtoint i64* %lnl6k to i64 | |
%lnl6m = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnl6n = bitcast i64* %lnl6m to i64* | |
%lnl6o = load i64, i64* %lnl6n, !tbaa !4 | |
%lnl6p = icmp ugt i64 %lnl6l, %lnl6o | |
br i1 %lnl6p, label %ckNt, label %ckNs | |
ckNs: | |
%lnl6r = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnl6q = load i64*, i64** %Hp_Var | |
%lnl6s = getelementptr inbounds i64, i64* %lnl6q, i32 -11 | |
store i64 %lnl6r, i64* %lnl6s, !tbaa !2 | |
%lnl6u = load i64*, i64** %Sp_Var | |
%lnl6v = getelementptr inbounds i64, i64* %lnl6u, i32 1 | |
%lnl6w = bitcast i64* %lnl6v to i64* | |
%lnl6x = load i64, i64* %lnl6w, !tbaa !1 | |
%lnl6t = load i64*, i64** %Hp_Var | |
%lnl6y = getelementptr inbounds i64, i64* %lnl6t, i32 -10 | |
store i64 %lnl6x, i64* %lnl6y, !tbaa !2 | |
%lnl6z = load i64*, i64** %Hp_Var | |
%lnl6A = getelementptr inbounds i64, i64* %lnl6z, i32 -9 | |
store i64 0, i64* %lnl6A, !tbaa !2 | |
%lnl6B = load i64*, i64** %Sp_Var | |
%lnl6C = getelementptr inbounds i64, i64* %lnl6B, i32 3 | |
%lnl6D = bitcast i64* %lnl6C to i64* | |
%lnl6E = load i64, i64* %lnl6D, !tbaa !1 | |
store i64 %lnl6E, i64* %lsiO9 | |
%lnl6G = load i64, i64* %lsiO9 | |
%lnl6F = load i64*, i64** %Hp_Var | |
%lnl6H = getelementptr inbounds i64, i64* %lnl6F, i32 -8 | |
store i64 %lnl6G, i64* %lnl6H, !tbaa !2 | |
%lnl6J = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnl6I = load i64*, i64** %Hp_Var | |
%lnl6K = getelementptr inbounds i64, i64* %lnl6I, i32 -7 | |
store i64 %lnl6J, i64* %lnl6K, !tbaa !2 | |
%lnl6M = load i64, i64* %lsiO9 | |
%lnl6L = load i64*, i64** %Hp_Var | |
%lnl6N = getelementptr inbounds i64, i64* %lnl6L, i32 -6 | |
store i64 %lnl6M, i64* %lnl6N, !tbaa !2 | |
%lnl6P = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnl6O = load i64*, i64** %Hp_Var | |
%lnl6Q = getelementptr inbounds i64, i64* %lnl6O, i32 -5 | |
store i64 %lnl6P, i64* %lnl6Q, !tbaa !2 | |
%lnl6S = load i64*, i64** %Sp_Var | |
%lnl6T = getelementptr inbounds i64, i64* %lnl6S, i32 2 | |
%lnl6U = bitcast i64* %lnl6T to i64* | |
%lnl6V = load i64, i64* %lnl6U, !tbaa !1 | |
%lnl6R = load i64*, i64** %Hp_Var | |
%lnl6W = getelementptr inbounds i64, i64* %lnl6R, i32 -4 | |
store i64 %lnl6V, i64* %lnl6W, !tbaa !2 | |
%lnl6Z = load i64*, i64** %Hp_Var | |
%lnl70 = ptrtoint i64* %lnl6Z to i64 | |
%lnl71 = add i64 %lnl70, -55 | |
%lnl6X = load i64*, i64** %Hp_Var | |
%lnl72 = getelementptr inbounds i64, i64* %lnl6X, i32 -3 | |
store i64 %lnl71, i64* %lnl72, !tbaa !2 | |
%lnl74 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnl73 = load i64*, i64** %Hp_Var | |
%lnl75 = getelementptr inbounds i64, i64* %lnl73, i32 -2 | |
store i64 %lnl74, i64* %lnl75, !tbaa !2 | |
%lnl78 = load i64*, i64** %Hp_Var | |
%lnl79 = ptrtoint i64* %lnl78 to i64 | |
%lnl7a = add i64 %lnl79, -39 | |
%lnl76 = load i64*, i64** %Hp_Var | |
%lnl7b = getelementptr inbounds i64, i64* %lnl76, i32 -1 | |
store i64 %lnl7a, i64* %lnl7b, !tbaa !2 | |
%lnl7e = load i64*, i64** %Hp_Var | |
%lnl7f = ptrtoint i64* %lnl7e to i64 | |
%lnl7g = add i64 %lnl7f, -87 | |
%lnl7c = load i64*, i64** %Hp_Var | |
%lnl7h = getelementptr inbounds i64, i64* %lnl7c, i32 0 | |
store i64 %lnl7g, i64* %lnl7h, !tbaa !2 | |
%lnl7k = load i64*, i64** %Hp_Var | |
%lnl7l = ptrtoint i64* %lnl7k to i64 | |
%lnl7m = add i64 %lnl7l, -15 | |
%lnl7i = load i64*, i64** %Sp_Var | |
%lnl7n = getelementptr inbounds i64, i64* %lnl7i, i32 5 | |
store i64 %lnl7m, i64* %lnl7n, !tbaa !1 | |
%lnl7o = load i64*, i64** %Sp_Var | |
%lnl7p = getelementptr inbounds i64, i64* %lnl7o, i32 5 | |
%lnl7q = ptrtoint i64* %lnl7p to i64 | |
%lnl7r = inttoptr i64 %lnl7q to i64* | |
store i64* %lnl7r, i64** %Sp_Var | |
%lnl7s = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl7t = load i64*, i64** %Sp_Var | |
%lnl7u = load i64*, i64** %Hp_Var | |
%lnl7v = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl7s( i64* %Base_Arg, i64* %lnl7t, i64* %lnl7u, i64 %lnl7v, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNt: | |
%lnl7w = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnl7w, !tbaa !4 | |
%lnl7x = load i64, i64* %R1_Var | |
store i64 %lnl7x, i64* %R1_Var | |
%lnl7y = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl7z = load i64*, i64** %Sp_Var | |
%lnl7A = load i64*, i64** %Hp_Var | |
%lnl7B = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl7y( i64* %Base_Arg, i64* %lnl7z, i64* %lnl7A, i64 %lnl7B, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckNi_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNi_info$def to i8*) | |
define internal ghccc void @ckNi_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckNi: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl7C = load i64*, i64** %Hp_Var | |
%lnl7D = getelementptr inbounds i64, i64* %lnl7C, i32 12 | |
%lnl7E = ptrtoint i64* %lnl7D to i64 | |
%lnl7F = inttoptr i64 %lnl7E to i64* | |
store i64* %lnl7F, i64** %Hp_Var | |
%lnl7G = load i64*, i64** %Hp_Var | |
%lnl7H = ptrtoint i64* %lnl7G to i64 | |
%lnl7I = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnl7J = bitcast i64* %lnl7I to i64* | |
%lnl7K = load i64, i64* %lnl7J, !tbaa !4 | |
%lnl7L = icmp ugt i64 %lnl7H, %lnl7K | |
br i1 %lnl7L, label %ckNn, label %ckNm | |
ckNm: | |
%lnl7N = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnl7M = load i64*, i64** %Hp_Var | |
%lnl7O = getelementptr inbounds i64, i64* %lnl7M, i32 -11 | |
store i64 %lnl7N, i64* %lnl7O, !tbaa !2 | |
%lnl7Q = load i64*, i64** %Sp_Var | |
%lnl7R = getelementptr inbounds i64, i64* %lnl7Q, i32 1 | |
%lnl7S = bitcast i64* %lnl7R to i64* | |
%lnl7T = load i64, i64* %lnl7S, !tbaa !1 | |
%lnl7P = load i64*, i64** %Hp_Var | |
%lnl7U = getelementptr inbounds i64, i64* %lnl7P, i32 -10 | |
store i64 %lnl7T, i64* %lnl7U, !tbaa !2 | |
%lnl7V = load i64*, i64** %Hp_Var | |
%lnl7W = getelementptr inbounds i64, i64* %lnl7V, i32 -9 | |
store i64 0, i64* %lnl7W, !tbaa !2 | |
%lnl7X = load i64*, i64** %Sp_Var | |
%lnl7Y = getelementptr inbounds i64, i64* %lnl7X, i32 3 | |
%lnl7Z = bitcast i64* %lnl7Y to i64* | |
%lnl80 = load i64, i64* %lnl7Z, !tbaa !1 | |
store i64 %lnl80, i64* %lsiO9 | |
%lnl82 = load i64, i64* %lsiO9 | |
%lnl81 = load i64*, i64** %Hp_Var | |
%lnl83 = getelementptr inbounds i64, i64* %lnl81, i32 -8 | |
store i64 %lnl82, i64* %lnl83, !tbaa !2 | |
%lnl85 = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnl84 = load i64*, i64** %Hp_Var | |
%lnl86 = getelementptr inbounds i64, i64* %lnl84, i32 -7 | |
store i64 %lnl85, i64* %lnl86, !tbaa !2 | |
%lnl88 = load i64, i64* %lsiO9 | |
%lnl87 = load i64*, i64** %Hp_Var | |
%lnl89 = getelementptr inbounds i64, i64* %lnl87, i32 -6 | |
store i64 %lnl88, i64* %lnl89, !tbaa !2 | |
%lnl8b = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnl8a = load i64*, i64** %Hp_Var | |
%lnl8c = getelementptr inbounds i64, i64* %lnl8a, i32 -5 | |
store i64 %lnl8b, i64* %lnl8c, !tbaa !2 | |
%lnl8e = load i64*, i64** %Sp_Var | |
%lnl8f = getelementptr inbounds i64, i64* %lnl8e, i32 2 | |
%lnl8g = bitcast i64* %lnl8f to i64* | |
%lnl8h = load i64, i64* %lnl8g, !tbaa !1 | |
%lnl8d = load i64*, i64** %Hp_Var | |
%lnl8i = getelementptr inbounds i64, i64* %lnl8d, i32 -4 | |
store i64 %lnl8h, i64* %lnl8i, !tbaa !2 | |
%lnl8l = load i64*, i64** %Hp_Var | |
%lnl8m = ptrtoint i64* %lnl8l to i64 | |
%lnl8n = add i64 %lnl8m, -55 | |
%lnl8j = load i64*, i64** %Hp_Var | |
%lnl8o = getelementptr inbounds i64, i64* %lnl8j, i32 -3 | |
store i64 %lnl8n, i64* %lnl8o, !tbaa !2 | |
%lnl8q = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnl8p = load i64*, i64** %Hp_Var | |
%lnl8r = getelementptr inbounds i64, i64* %lnl8p, i32 -2 | |
store i64 %lnl8q, i64* %lnl8r, !tbaa !2 | |
%lnl8u = load i64*, i64** %Hp_Var | |
%lnl8v = ptrtoint i64* %lnl8u to i64 | |
%lnl8w = add i64 %lnl8v, -39 | |
%lnl8s = load i64*, i64** %Hp_Var | |
%lnl8x = getelementptr inbounds i64, i64* %lnl8s, i32 -1 | |
store i64 %lnl8w, i64* %lnl8x, !tbaa !2 | |
%lnl8A = load i64*, i64** %Hp_Var | |
%lnl8B = ptrtoint i64* %lnl8A to i64 | |
%lnl8C = add i64 %lnl8B, -87 | |
%lnl8y = load i64*, i64** %Hp_Var | |
%lnl8D = getelementptr inbounds i64, i64* %lnl8y, i32 0 | |
store i64 %lnl8C, i64* %lnl8D, !tbaa !2 | |
%lnl8G = load i64*, i64** %Hp_Var | |
%lnl8H = ptrtoint i64* %lnl8G to i64 | |
%lnl8I = add i64 %lnl8H, -15 | |
%lnl8E = load i64*, i64** %Sp_Var | |
%lnl8J = getelementptr inbounds i64, i64* %lnl8E, i32 5 | |
store i64 %lnl8I, i64* %lnl8J, !tbaa !1 | |
%lnl8K = load i64*, i64** %Sp_Var | |
%lnl8L = getelementptr inbounds i64, i64* %lnl8K, i32 5 | |
%lnl8M = ptrtoint i64* %lnl8L to i64 | |
%lnl8N = inttoptr i64 %lnl8M to i64* | |
store i64* %lnl8N, i64** %Sp_Var | |
%lnl8O = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl8P = load i64*, i64** %Sp_Var | |
%lnl8Q = load i64*, i64** %Hp_Var | |
%lnl8R = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl8O( i64* %Base_Arg, i64* %lnl8P, i64* %lnl8Q, i64 %lnl8R, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNn: | |
%lnl8S = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnl8S, !tbaa !4 | |
%lnl8T = load i64, i64* %R1_Var | |
store i64 %lnl8T, i64* %R1_Var | |
%lnl8U = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnl8V = load i64*, i64** %Sp_Var | |
%lnl8W = load i64*, i64** %Hp_Var | |
%lnl8X = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnl8U( i64* %Base_Arg, i64* %lnl8V, i64* %lnl8W, i64 %lnl8X, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckNb_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNb_info$def to i8*) | |
define internal ghccc void @ckNb_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckNb: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnl8Y = load i64*, i64** %Hp_Var | |
%lnl8Z = getelementptr inbounds i64, i64* %lnl8Y, i32 12 | |
%lnl90 = ptrtoint i64* %lnl8Z to i64 | |
%lnl91 = inttoptr i64 %lnl90 to i64* | |
store i64* %lnl91, i64** %Hp_Var | |
%lnl92 = load i64*, i64** %Hp_Var | |
%lnl93 = ptrtoint i64* %lnl92 to i64 | |
%lnl94 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnl95 = bitcast i64* %lnl94 to i64* | |
%lnl96 = load i64, i64* %lnl95, !tbaa !4 | |
%lnl97 = icmp ugt i64 %lnl93, %lnl96 | |
br i1 %lnl97, label %ckNh, label %ckNg | |
ckNg: | |
%lnl99 = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnl98 = load i64*, i64** %Hp_Var | |
%lnl9a = getelementptr inbounds i64, i64* %lnl98, i32 -11 | |
store i64 %lnl99, i64* %lnl9a, !tbaa !2 | |
%lnl9c = load i64*, i64** %Sp_Var | |
%lnl9d = getelementptr inbounds i64, i64* %lnl9c, i32 1 | |
%lnl9e = bitcast i64* %lnl9d to i64* | |
%lnl9f = load i64, i64* %lnl9e, !tbaa !1 | |
%lnl9b = load i64*, i64** %Hp_Var | |
%lnl9g = getelementptr inbounds i64, i64* %lnl9b, i32 -10 | |
store i64 %lnl9f, i64* %lnl9g, !tbaa !2 | |
%lnl9h = load i64*, i64** %Hp_Var | |
%lnl9i = getelementptr inbounds i64, i64* %lnl9h, i32 -9 | |
store i64 0, i64* %lnl9i, !tbaa !2 | |
%lnl9j = load i64*, i64** %Sp_Var | |
%lnl9k = getelementptr inbounds i64, i64* %lnl9j, i32 3 | |
%lnl9l = bitcast i64* %lnl9k to i64* | |
%lnl9m = load i64, i64* %lnl9l, !tbaa !1 | |
store i64 %lnl9m, i64* %lsiO9 | |
%lnl9o = load i64, i64* %lsiO9 | |
%lnl9n = load i64*, i64** %Hp_Var | |
%lnl9p = getelementptr inbounds i64, i64* %lnl9n, i32 -8 | |
store i64 %lnl9o, i64* %lnl9p, !tbaa !2 | |
%lnl9r = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnl9q = load i64*, i64** %Hp_Var | |
%lnl9s = getelementptr inbounds i64, i64* %lnl9q, i32 -7 | |
store i64 %lnl9r, i64* %lnl9s, !tbaa !2 | |
%lnl9u = load i64, i64* %lsiO9 | |
%lnl9t = load i64*, i64** %Hp_Var | |
%lnl9v = getelementptr inbounds i64, i64* %lnl9t, i32 -6 | |
store i64 %lnl9u, i64* %lnl9v, !tbaa !2 | |
%lnl9x = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnl9w = load i64*, i64** %Hp_Var | |
%lnl9y = getelementptr inbounds i64, i64* %lnl9w, i32 -5 | |
store i64 %lnl9x, i64* %lnl9y, !tbaa !2 | |
%lnl9A = load i64*, i64** %Sp_Var | |
%lnl9B = getelementptr inbounds i64, i64* %lnl9A, i32 2 | |
%lnl9C = bitcast i64* %lnl9B to i64* | |
%lnl9D = load i64, i64* %lnl9C, !tbaa !1 | |
%lnl9z = load i64*, i64** %Hp_Var | |
%lnl9E = getelementptr inbounds i64, i64* %lnl9z, i32 -4 | |
store i64 %lnl9D, i64* %lnl9E, !tbaa !2 | |
%lnl9H = load i64*, i64** %Hp_Var | |
%lnl9I = ptrtoint i64* %lnl9H to i64 | |
%lnl9J = add i64 %lnl9I, -55 | |
%lnl9F = load i64*, i64** %Hp_Var | |
%lnl9K = getelementptr inbounds i64, i64* %lnl9F, i32 -3 | |
store i64 %lnl9J, i64* %lnl9K, !tbaa !2 | |
%lnl9M = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnl9L = load i64*, i64** %Hp_Var | |
%lnl9N = getelementptr inbounds i64, i64* %lnl9L, i32 -2 | |
store i64 %lnl9M, i64* %lnl9N, !tbaa !2 | |
%lnl9Q = load i64*, i64** %Hp_Var | |
%lnl9R = ptrtoint i64* %lnl9Q to i64 | |
%lnl9S = add i64 %lnl9R, -39 | |
%lnl9O = load i64*, i64** %Hp_Var | |
%lnl9T = getelementptr inbounds i64, i64* %lnl9O, i32 -1 | |
store i64 %lnl9S, i64* %lnl9T, !tbaa !2 | |
%lnl9W = load i64*, i64** %Hp_Var | |
%lnl9X = ptrtoint i64* %lnl9W to i64 | |
%lnl9Y = add i64 %lnl9X, -87 | |
%lnl9U = load i64*, i64** %Hp_Var | |
%lnl9Z = getelementptr inbounds i64, i64* %lnl9U, i32 0 | |
store i64 %lnl9Y, i64* %lnl9Z, !tbaa !2 | |
%lnla2 = load i64*, i64** %Hp_Var | |
%lnla3 = ptrtoint i64* %lnla2 to i64 | |
%lnla4 = add i64 %lnla3, -15 | |
%lnla0 = load i64*, i64** %Sp_Var | |
%lnla5 = getelementptr inbounds i64, i64* %lnla0, i32 5 | |
store i64 %lnla4, i64* %lnla5, !tbaa !1 | |
%lnla6 = load i64*, i64** %Sp_Var | |
%lnla7 = getelementptr inbounds i64, i64* %lnla6, i32 5 | |
%lnla8 = ptrtoint i64* %lnla7 to i64 | |
%lnla9 = inttoptr i64 %lnla8 to i64* | |
store i64* %lnla9, i64** %Sp_Var | |
%lnlaa = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlab = load i64*, i64** %Sp_Var | |
%lnlac = load i64*, i64** %Hp_Var | |
%lnlad = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlaa( i64* %Base_Arg, i64* %lnlab, i64* %lnlac, i64 %lnlad, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckNh: | |
%lnlae = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlae, !tbaa !4 | |
%lnlaf = load i64, i64* %R1_Var | |
store i64 %lnlaf, i64* %R1_Var | |
%lnlag = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlah = load i64*, i64** %Sp_Var | |
%lnlai = load i64*, i64** %Hp_Var | |
%lnlaj = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlag( i64* %Base_Arg, i64* %lnlah, i64* %lnlai, i64 %lnlaj, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckFM_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFM_info$def to i8*) | |
define internal ghccc void @ckFM_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFM_info$def to i64)),i64 64), i64 773, i64 263887085633568}> | |
{ | |
ckFM: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlak = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to i64 | |
%lnlal = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlak, i64* %lnlal, !tbaa !1 | |
%lnlam = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64 | |
store i64 %lnlam, i64* %R1_Var | |
%lnlan = load i64, i64* %R1_Var | |
%lnlao = and i64 %lnlan, 7 | |
%lnlap = icmp ne i64 %lnlao, 0 | |
br i1 %lnlap, label %ukOs, label %ckFP | |
ckFP: | |
%lnlar = load i64, i64* %R1_Var | |
%lnlas = inttoptr i64 %lnlar to i64* | |
%lnlat = load i64, i64* %lnlas, !tbaa !3 | |
%lnlau = inttoptr i64 %lnlat to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlav = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlau( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlav, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ukOs: | |
%lnlaw = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlax = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlaw( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlax, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckFO_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to i8*) | |
define internal ghccc void @ckFO_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFO_info$def to i64)),i64 64), i64 773, i64 228702713544736}> | |
{ | |
ckFO: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiQa = alloca i64, i32 1 | |
%lckFU = alloca i64, i32 1 | |
%lsiO9 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlay = load i64*, i64** %Hp_Var | |
%lnlaz = getelementptr inbounds i64, i64* %lnlay, i32 11 | |
%lnlaA = ptrtoint i64* %lnlaz to i64 | |
%lnlaB = inttoptr i64 %lnlaA to i64* | |
store i64* %lnlaB, i64** %Hp_Var | |
%lnlaC = load i64*, i64** %Hp_Var | |
%lnlaD = ptrtoint i64* %lnlaC to i64 | |
%lnlaE = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnlaF = bitcast i64* %lnlaE to i64* | |
%lnlaG = load i64, i64* %lnlaF, !tbaa !4 | |
%lnlaH = icmp ugt i64 %lnlaD, %lnlaG | |
br i1 %lnlaH, label %ckME, label %ckMD | |
ckMD: | |
%lnlaK = load i64, i64* %R1_Var | |
%lnlaL = add i64 %lnlaK, 31 | |
%lnlaM = inttoptr i64 %lnlaL to i64* | |
%lnlaN = load i64, i64* %lnlaM, !tbaa !3 | |
store i64 %lnlaN, i64* %lsiQa | |
%lnlaP = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQp_info$def to i64 | |
%lnlaO = load i64*, i64** %Hp_Var | |
%lnlaQ = getelementptr inbounds i64, i64* %lnlaO, i32 -10 | |
store i64 %lnlaP, i64* %lnlaQ, !tbaa !2 | |
%lnlaS = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnlaT = bitcast i64* %lnlaS to i64* | |
%lnlaU = load i64, i64* %lnlaT, !tbaa !1 | |
%lnlaR = load i64*, i64** %Hp_Var | |
%lnlaV = getelementptr inbounds i64, i64* %lnlaR, i32 -9 | |
store i64 %lnlaU, i64* %lnlaV, !tbaa !2 | |
%lnlaX = getelementptr inbounds i64, i64* %Sp_Arg, i32 1 | |
%lnlaY = bitcast i64* %lnlaX to i64* | |
%lnlaZ = load i64, i64* %lnlaY, !tbaa !1 | |
%lnlaW = load i64*, i64** %Hp_Var | |
%lnlb0 = getelementptr inbounds i64, i64* %lnlaW, i32 -8 | |
store i64 %lnlaZ, i64* %lnlb0, !tbaa !2 | |
%lnlb2 = load i64*, i64** %Hp_Var | |
%lnlb3 = ptrtoint i64* %lnlb2 to i64 | |
%lnlb4 = add i64 %lnlb3, -37 | |
store i64 %lnlb4, i64* %lckFU | |
%lnlb6 = load i64, i64* %lckFU | |
%lnlb5 = load i64*, i64** %Hp_Var | |
%lnlb7 = getelementptr inbounds i64, i64* %lnlb5, i32 -7 | |
store i64 %lnlb6, i64* %lnlb7, !tbaa !2 | |
%lnlb9 = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnlba = bitcast i64* %lnlb9 to i64* | |
%lnlbb = load i64, i64* %lnlba, !tbaa !1 | |
%lnlb8 = load i64*, i64** %Hp_Var | |
%lnlbc = getelementptr inbounds i64, i64* %lnlb8, i32 -6 | |
store i64 %lnlbb, i64* %lnlbc, !tbaa !2 | |
%lnlbe = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQo_info$def to i64 | |
%lnlbd = load i64*, i64** %Hp_Var | |
%lnlbf = getelementptr inbounds i64, i64* %lnlbd, i32 -5 | |
store i64 %lnlbe, i64* %lnlbf, !tbaa !2 | |
%lnlbi = load i64*, i64** %Hp_Var | |
%lnlbj = ptrtoint i64* %lnlbi to i64 | |
%lnlbk = add i64 %lnlbj, -77 | |
%lnlbg = load i64*, i64** %Hp_Var | |
%lnlbl = getelementptr inbounds i64, i64* %lnlbg, i32 -4 | |
store i64 %lnlbk, i64* %lnlbl, !tbaa !2 | |
%lnlbn = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siQZ_info$def to i64 | |
%lnlbm = load i64*, i64** %Hp_Var | |
%lnlbo = getelementptr inbounds i64, i64* %lnlbm, i32 -3 | |
store i64 %lnlbn, i64* %lnlbo, !tbaa !2 | |
%lnlbq = load i64, i64* %lckFU | |
%lnlbp = load i64*, i64** %Hp_Var | |
%lnlbr = getelementptr inbounds i64, i64* %lnlbp, i32 -2 | |
store i64 %lnlbq, i64* %lnlbr, !tbaa !2 | |
%lnlbs = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnlbt = bitcast i64* %lnlbs to i64* | |
%lnlbu = load i64, i64* %lnlbt, !tbaa !1 | |
store i64 %lnlbu, i64* %lsiO9 | |
%lnlbw = load i64, i64* %lsiO9 | |
%lnlbx = load i64, i64* %lsiQa | |
%lnlby = sdiv i64 %lnlbw, %lnlbx | |
%lnlbv = load i64*, i64** %Hp_Var | |
%lnlbz = getelementptr inbounds i64, i64* %lnlbv, i32 -1 | |
store i64 %lnlby, i64* %lnlbz, !tbaa !2 | |
%lnlbB = load i64, i64* %lsiO9 | |
%lnlbC = load i64, i64* %lsiQa | |
%lnlbD = srem i64 %lnlbB, %lnlbC | |
%lnlbA = load i64*, i64** %Hp_Var | |
%lnlbE = getelementptr inbounds i64, i64* %lnlbA, i32 0 | |
store i64 %lnlbD, i64* %lnlbE, !tbaa !2 | |
%lnlbF = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIl_info$def to i64 | |
%lnlbG = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlbF, i64* %lnlbG, !tbaa !1 | |
%lnlbI = load i64*, i64** %Hp_Var | |
%lnlbJ = ptrtoint i64* %lnlbI to i64 | |
%lnlbK = add i64 %lnlbJ, -22 | |
store i64 %lnlbK, i64* %R3_Var | |
%lnlbL = load i64, i64* %R1_Var | |
store i64 %lnlbL, i64* %R2_Var | |
%lnlbM = bitcast i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlbN = load i64*, i64** %Hp_Var | |
%lnlbO = load i64, i64* %R1_Var | |
%lnlbP = load i64, i64* %R2_Var | |
%lnlbQ = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlbM( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlbN, i64 %lnlbO, i64 %lnlbP, i64 %lnlbQ, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckME: | |
%lnlbR = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 88, i64* %lnlbR, !tbaa !4 | |
%lnlbS = load i64, i64* %R1_Var | |
store i64 %lnlbS, i64* %R1_Var | |
%lnlbT = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlbU = load i64*, i64** %Hp_Var | |
%lnlbV = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlbT( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlbU, i64 %lnlbV, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckIl_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIl_info$def to i8*) | |
define internal ghccc void @ckIl_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIl_info$def to i64)),i64 64), i64 1797, i64 211110527500320}> | |
{ | |
ckIl: | |
%lnlbW = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIn_info$def to i64 | |
%lnlbX = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlbW, i64* %lnlbX, !tbaa !1 | |
%lnlbY = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlbY( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckIn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIn_info$def to i8*) | |
define internal ghccc void @ckIn_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckIn_info$def to i64)),i64 64), i64 1797, i64 211110527500320}> | |
{ | |
ckIn: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlbZ = load i64*, i64** %Hp_Var | |
%lnlc0 = getelementptr inbounds i64, i64* %lnlbZ, i32 2 | |
%lnlc1 = ptrtoint i64* %lnlc0 to i64 | |
%lnlc2 = inttoptr i64 %lnlc1 to i64* | |
store i64* %lnlc2, i64** %Hp_Var | |
%lnlc3 = load i64*, i64** %Hp_Var | |
%lnlc4 = ptrtoint i64* %lnlc3 to i64 | |
%lnlc5 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnlc6 = bitcast i64* %lnlc5 to i64* | |
%lnlc7 = load i64, i64* %lnlc6, !tbaa !4 | |
%lnlc8 = icmp ugt i64 %lnlc4, %lnlc7 | |
br i1 %lnlc8, label %ckMI, label %ckMH | |
ckMH: | |
%lnlc9 = load i64, i64* %R1_Var | |
switch i64 %lnlc9, label %ckML [i64 0, label %ckMR | |
i64 1, label %ckMX] | |
ckML: | |
%lnlcb = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siR7_info$def to i64 | |
%lnlca = load i64*, i64** %Hp_Var | |
%lnlcc = getelementptr inbounds i64, i64* %lnlca, i32 -1 | |
store i64 %lnlcb, i64* %lnlcc, !tbaa !2 | |
%lnlcd = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMJ_info$def to i64 | |
%lnlce = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlcd, i64* %lnlce, !tbaa !1 | |
%lnlcg = load i64*, i64** %Hp_Var | |
%lnlch = ptrtoint i64* %lnlcg to i64 | |
%lnlci = add i64 %lnlch, -6 | |
store i64 %lnlci, i64* %R2_Var | |
%lnlcj = ptrtoint %riFB_closure_struct* @riFB_closure$def to i64 | |
%lnlck = add i64 %lnlcj, 1 | |
store i64 %lnlck, i64* %R1_Var | |
%lnlcl = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlcm = load i64*, i64** %Hp_Var | |
%lnlcn = load i64, i64* %R1_Var | |
%lnlco = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcl( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcm, i64 %lnlcn, i64 %lnlco, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMR: | |
%lnlcp = load i64*, i64** %Hp_Var | |
%lnlcq = getelementptr inbounds i64, i64* %lnlcp, i32 -2 | |
%lnlcr = ptrtoint i64* %lnlcq to i64 | |
%lnlcs = inttoptr i64 %lnlcr to i64* | |
store i64* %lnlcs, i64** %Hp_Var | |
%lnlct = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMQ_info$def to i64 | |
%lnlcu = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlct, i64* %lnlcu, !tbaa !1 | |
%lnlcv = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64 | |
%lnlcw = add i64 %lnlcv, 1 | |
store i64 %lnlcw, i64* %R1_Var | |
%lnlcx = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlcy = load i64*, i64** %Hp_Var | |
%lnlcz = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcx( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcy, i64 %lnlcz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMX: | |
%lnlcB = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siRs_info$def to i64 | |
%lnlcA = load i64*, i64** %Hp_Var | |
%lnlcC = getelementptr inbounds i64, i64* %lnlcA, i32 -1 | |
store i64 %lnlcB, i64* %lnlcC, !tbaa !2 | |
%lnlcD = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMW_info$def to i64 | |
%lnlcE = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlcD, i64* %lnlcE, !tbaa !1 | |
%lnlcG = load i64*, i64** %Hp_Var | |
%lnlcH = ptrtoint i64* %lnlcG to i64 | |
%lnlcI = add i64 %lnlcH, -6 | |
store i64 %lnlcI, i64* %R2_Var | |
%lnlcJ = ptrtoint %riFE_closure_struct* @riFE_closure$def to i64 | |
%lnlcK = add i64 %lnlcJ, 1 | |
store i64 %lnlcK, i64* %R1_Var | |
%lnlcL = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlcM = load i64*, i64** %Hp_Var | |
%lnlcN = load i64, i64* %R1_Var | |
%lnlcO = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcL( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcM, i64 %lnlcN, i64 %lnlcO, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMI: | |
%lnlcP = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnlcP, !tbaa !4 | |
%lnlcQ = load i64, i64* %R1_Var | |
store i64 %lnlcQ, i64* %R1_Var | |
%lnlcR = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlcS = load i64*, i64** %Hp_Var | |
%lnlcT = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlcR( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlcS, i64 %lnlcT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckMW_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMW_info$def to i8*) | |
define internal ghccc void @ckMW_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckMW: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlcU = load i64*, i64** %Hp_Var | |
%lnlcV = getelementptr inbounds i64, i64* %lnlcU, i32 12 | |
%lnlcW = ptrtoint i64* %lnlcV to i64 | |
%lnlcX = inttoptr i64 %lnlcW to i64* | |
store i64* %lnlcX, i64** %Hp_Var | |
%lnlcY = load i64*, i64** %Hp_Var | |
%lnlcZ = ptrtoint i64* %lnlcY to i64 | |
%lnld0 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnld1 = bitcast i64* %lnld0 to i64* | |
%lnld2 = load i64, i64* %lnld1, !tbaa !4 | |
%lnld3 = icmp ugt i64 %lnlcZ, %lnld2 | |
br i1 %lnld3, label %ckN1, label %ckN0 | |
ckN0: | |
%lnld5 = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnld4 = load i64*, i64** %Hp_Var | |
%lnld6 = getelementptr inbounds i64, i64* %lnld4, i32 -11 | |
store i64 %lnld5, i64* %lnld6, !tbaa !2 | |
%lnld8 = load i64*, i64** %Sp_Var | |
%lnld9 = getelementptr inbounds i64, i64* %lnld8, i32 1 | |
%lnlda = bitcast i64* %lnld9 to i64* | |
%lnldb = load i64, i64* %lnlda, !tbaa !1 | |
%lnld7 = load i64*, i64** %Hp_Var | |
%lnldc = getelementptr inbounds i64, i64* %lnld7, i32 -10 | |
store i64 %lnldb, i64* %lnldc, !tbaa !2 | |
%lnldd = load i64*, i64** %Hp_Var | |
%lnlde = getelementptr inbounds i64, i64* %lnldd, i32 -9 | |
store i64 0, i64* %lnlde, !tbaa !2 | |
%lnldf = load i64*, i64** %Sp_Var | |
%lnldg = getelementptr inbounds i64, i64* %lnldf, i32 3 | |
%lnldh = bitcast i64* %lnldg to i64* | |
%lnldi = load i64, i64* %lnldh, !tbaa !1 | |
store i64 %lnldi, i64* %lsiO9 | |
%lnldk = load i64, i64* %lsiO9 | |
%lnldj = load i64*, i64** %Hp_Var | |
%lnldl = getelementptr inbounds i64, i64* %lnldj, i32 -8 | |
store i64 %lnldk, i64* %lnldl, !tbaa !2 | |
%lnldn = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnldm = load i64*, i64** %Hp_Var | |
%lnldo = getelementptr inbounds i64, i64* %lnldm, i32 -7 | |
store i64 %lnldn, i64* %lnldo, !tbaa !2 | |
%lnldq = load i64, i64* %lsiO9 | |
%lnldp = load i64*, i64** %Hp_Var | |
%lnldr = getelementptr inbounds i64, i64* %lnldp, i32 -6 | |
store i64 %lnldq, i64* %lnldr, !tbaa !2 | |
%lnldt = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnlds = load i64*, i64** %Hp_Var | |
%lnldu = getelementptr inbounds i64, i64* %lnlds, i32 -5 | |
store i64 %lnldt, i64* %lnldu, !tbaa !2 | |
%lnldw = load i64*, i64** %Sp_Var | |
%lnldx = getelementptr inbounds i64, i64* %lnldw, i32 2 | |
%lnldy = bitcast i64* %lnldx to i64* | |
%lnldz = load i64, i64* %lnldy, !tbaa !1 | |
%lnldv = load i64*, i64** %Hp_Var | |
%lnldA = getelementptr inbounds i64, i64* %lnldv, i32 -4 | |
store i64 %lnldz, i64* %lnldA, !tbaa !2 | |
%lnldD = load i64*, i64** %Hp_Var | |
%lnldE = ptrtoint i64* %lnldD to i64 | |
%lnldF = add i64 %lnldE, -55 | |
%lnldB = load i64*, i64** %Hp_Var | |
%lnldG = getelementptr inbounds i64, i64* %lnldB, i32 -3 | |
store i64 %lnldF, i64* %lnldG, !tbaa !2 | |
%lnldI = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnldH = load i64*, i64** %Hp_Var | |
%lnldJ = getelementptr inbounds i64, i64* %lnldH, i32 -2 | |
store i64 %lnldI, i64* %lnldJ, !tbaa !2 | |
%lnldM = load i64*, i64** %Hp_Var | |
%lnldN = ptrtoint i64* %lnldM to i64 | |
%lnldO = add i64 %lnldN, -39 | |
%lnldK = load i64*, i64** %Hp_Var | |
%lnldP = getelementptr inbounds i64, i64* %lnldK, i32 -1 | |
store i64 %lnldO, i64* %lnldP, !tbaa !2 | |
%lnldS = load i64*, i64** %Hp_Var | |
%lnldT = ptrtoint i64* %lnldS to i64 | |
%lnldU = add i64 %lnldT, -87 | |
%lnldQ = load i64*, i64** %Hp_Var | |
%lnldV = getelementptr inbounds i64, i64* %lnldQ, i32 0 | |
store i64 %lnldU, i64* %lnldV, !tbaa !2 | |
%lnldY = load i64*, i64** %Hp_Var | |
%lnldZ = ptrtoint i64* %lnldY to i64 | |
%lnle0 = add i64 %lnldZ, -15 | |
%lnldW = load i64*, i64** %Sp_Var | |
%lnle1 = getelementptr inbounds i64, i64* %lnldW, i32 5 | |
store i64 %lnle0, i64* %lnle1, !tbaa !1 | |
%lnle2 = load i64*, i64** %Sp_Var | |
%lnle3 = getelementptr inbounds i64, i64* %lnle2, i32 5 | |
%lnle4 = ptrtoint i64* %lnle3 to i64 | |
%lnle5 = inttoptr i64 %lnle4 to i64* | |
store i64* %lnle5, i64** %Sp_Var | |
%lnle6 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnle7 = load i64*, i64** %Sp_Var | |
%lnle8 = load i64*, i64** %Hp_Var | |
%lnle9 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnle6( i64* %Base_Arg, i64* %lnle7, i64* %lnle8, i64 %lnle9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckN1: | |
%lnlea = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlea, !tbaa !4 | |
%lnleb = load i64, i64* %R1_Var | |
store i64 %lnleb, i64* %R1_Var | |
%lnlec = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnled = load i64*, i64** %Sp_Var | |
%lnlee = load i64*, i64** %Hp_Var | |
%lnlef = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlec( i64* %Base_Arg, i64* %lnled, i64* %lnlee, i64 %lnlef, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckMQ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMQ_info$def to i8*) | |
define internal ghccc void @ckMQ_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckMQ: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnleg = load i64*, i64** %Hp_Var | |
%lnleh = getelementptr inbounds i64, i64* %lnleg, i32 12 | |
%lnlei = ptrtoint i64* %lnleh to i64 | |
%lnlej = inttoptr i64 %lnlei to i64* | |
store i64* %lnlej, i64** %Hp_Var | |
%lnlek = load i64*, i64** %Hp_Var | |
%lnlel = ptrtoint i64* %lnlek to i64 | |
%lnlem = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnlen = bitcast i64* %lnlem to i64* | |
%lnleo = load i64, i64* %lnlen, !tbaa !4 | |
%lnlep = icmp ugt i64 %lnlel, %lnleo | |
br i1 %lnlep, label %ckMV, label %ckMU | |
ckMU: | |
%lnler = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnleq = load i64*, i64** %Hp_Var | |
%lnles = getelementptr inbounds i64, i64* %lnleq, i32 -11 | |
store i64 %lnler, i64* %lnles, !tbaa !2 | |
%lnleu = load i64*, i64** %Sp_Var | |
%lnlev = getelementptr inbounds i64, i64* %lnleu, i32 1 | |
%lnlew = bitcast i64* %lnlev to i64* | |
%lnlex = load i64, i64* %lnlew, !tbaa !1 | |
%lnlet = load i64*, i64** %Hp_Var | |
%lnley = getelementptr inbounds i64, i64* %lnlet, i32 -10 | |
store i64 %lnlex, i64* %lnley, !tbaa !2 | |
%lnlez = load i64*, i64** %Hp_Var | |
%lnleA = getelementptr inbounds i64, i64* %lnlez, i32 -9 | |
store i64 0, i64* %lnleA, !tbaa !2 | |
%lnleB = load i64*, i64** %Sp_Var | |
%lnleC = getelementptr inbounds i64, i64* %lnleB, i32 3 | |
%lnleD = bitcast i64* %lnleC to i64* | |
%lnleE = load i64, i64* %lnleD, !tbaa !1 | |
store i64 %lnleE, i64* %lsiO9 | |
%lnleG = load i64, i64* %lsiO9 | |
%lnleF = load i64*, i64** %Hp_Var | |
%lnleH = getelementptr inbounds i64, i64* %lnleF, i32 -8 | |
store i64 %lnleG, i64* %lnleH, !tbaa !2 | |
%lnleJ = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnleI = load i64*, i64** %Hp_Var | |
%lnleK = getelementptr inbounds i64, i64* %lnleI, i32 -7 | |
store i64 %lnleJ, i64* %lnleK, !tbaa !2 | |
%lnleM = load i64, i64* %lsiO9 | |
%lnleL = load i64*, i64** %Hp_Var | |
%lnleN = getelementptr inbounds i64, i64* %lnleL, i32 -6 | |
store i64 %lnleM, i64* %lnleN, !tbaa !2 | |
%lnleP = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnleO = load i64*, i64** %Hp_Var | |
%lnleQ = getelementptr inbounds i64, i64* %lnleO, i32 -5 | |
store i64 %lnleP, i64* %lnleQ, !tbaa !2 | |
%lnleS = load i64*, i64** %Sp_Var | |
%lnleT = getelementptr inbounds i64, i64* %lnleS, i32 2 | |
%lnleU = bitcast i64* %lnleT to i64* | |
%lnleV = load i64, i64* %lnleU, !tbaa !1 | |
%lnleR = load i64*, i64** %Hp_Var | |
%lnleW = getelementptr inbounds i64, i64* %lnleR, i32 -4 | |
store i64 %lnleV, i64* %lnleW, !tbaa !2 | |
%lnleZ = load i64*, i64** %Hp_Var | |
%lnlf0 = ptrtoint i64* %lnleZ to i64 | |
%lnlf1 = add i64 %lnlf0, -55 | |
%lnleX = load i64*, i64** %Hp_Var | |
%lnlf2 = getelementptr inbounds i64, i64* %lnleX, i32 -3 | |
store i64 %lnlf1, i64* %lnlf2, !tbaa !2 | |
%lnlf4 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnlf3 = load i64*, i64** %Hp_Var | |
%lnlf5 = getelementptr inbounds i64, i64* %lnlf3, i32 -2 | |
store i64 %lnlf4, i64* %lnlf5, !tbaa !2 | |
%lnlf8 = load i64*, i64** %Hp_Var | |
%lnlf9 = ptrtoint i64* %lnlf8 to i64 | |
%lnlfa = add i64 %lnlf9, -39 | |
%lnlf6 = load i64*, i64** %Hp_Var | |
%lnlfb = getelementptr inbounds i64, i64* %lnlf6, i32 -1 | |
store i64 %lnlfa, i64* %lnlfb, !tbaa !2 | |
%lnlfe = load i64*, i64** %Hp_Var | |
%lnlff = ptrtoint i64* %lnlfe to i64 | |
%lnlfg = add i64 %lnlff, -87 | |
%lnlfc = load i64*, i64** %Hp_Var | |
%lnlfh = getelementptr inbounds i64, i64* %lnlfc, i32 0 | |
store i64 %lnlfg, i64* %lnlfh, !tbaa !2 | |
%lnlfk = load i64*, i64** %Hp_Var | |
%lnlfl = ptrtoint i64* %lnlfk to i64 | |
%lnlfm = add i64 %lnlfl, -15 | |
%lnlfi = load i64*, i64** %Sp_Var | |
%lnlfn = getelementptr inbounds i64, i64* %lnlfi, i32 5 | |
store i64 %lnlfm, i64* %lnlfn, !tbaa !1 | |
%lnlfo = load i64*, i64** %Sp_Var | |
%lnlfp = getelementptr inbounds i64, i64* %lnlfo, i32 5 | |
%lnlfq = ptrtoint i64* %lnlfp to i64 | |
%lnlfr = inttoptr i64 %lnlfq to i64* | |
store i64* %lnlfr, i64** %Sp_Var | |
%lnlfs = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlft = load i64*, i64** %Sp_Var | |
%lnlfu = load i64*, i64** %Hp_Var | |
%lnlfv = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlfs( i64* %Base_Arg, i64* %lnlft, i64* %lnlfu, i64 %lnlfv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMV: | |
%lnlfw = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlfw, !tbaa !4 | |
%lnlfx = load i64, i64* %R1_Var | |
store i64 %lnlfx, i64* %R1_Var | |
%lnlfy = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlfz = load i64*, i64** %Sp_Var | |
%lnlfA = load i64*, i64** %Hp_Var | |
%lnlfB = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlfy( i64* %Base_Arg, i64* %lnlfz, i64* %lnlfA, i64 %lnlfB, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckMJ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMJ_info$def to i8*) | |
define internal ghccc void @ckMJ_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckMJ: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlfC = load i64*, i64** %Hp_Var | |
%lnlfD = getelementptr inbounds i64, i64* %lnlfC, i32 12 | |
%lnlfE = ptrtoint i64* %lnlfD to i64 | |
%lnlfF = inttoptr i64 %lnlfE to i64* | |
store i64* %lnlfF, i64** %Hp_Var | |
%lnlfG = load i64*, i64** %Hp_Var | |
%lnlfH = ptrtoint i64* %lnlfG to i64 | |
%lnlfI = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnlfJ = bitcast i64* %lnlfI to i64* | |
%lnlfK = load i64, i64* %lnlfJ, !tbaa !4 | |
%lnlfL = icmp ugt i64 %lnlfH, %lnlfK | |
br i1 %lnlfL, label %ckMP, label %ckMO | |
ckMO: | |
%lnlfN = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnlfM = load i64*, i64** %Hp_Var | |
%lnlfO = getelementptr inbounds i64, i64* %lnlfM, i32 -11 | |
store i64 %lnlfN, i64* %lnlfO, !tbaa !2 | |
%lnlfQ = load i64*, i64** %Sp_Var | |
%lnlfR = getelementptr inbounds i64, i64* %lnlfQ, i32 1 | |
%lnlfS = bitcast i64* %lnlfR to i64* | |
%lnlfT = load i64, i64* %lnlfS, !tbaa !1 | |
%lnlfP = load i64*, i64** %Hp_Var | |
%lnlfU = getelementptr inbounds i64, i64* %lnlfP, i32 -10 | |
store i64 %lnlfT, i64* %lnlfU, !tbaa !2 | |
%lnlfV = load i64*, i64** %Hp_Var | |
%lnlfW = getelementptr inbounds i64, i64* %lnlfV, i32 -9 | |
store i64 0, i64* %lnlfW, !tbaa !2 | |
%lnlfX = load i64*, i64** %Sp_Var | |
%lnlfY = getelementptr inbounds i64, i64* %lnlfX, i32 3 | |
%lnlfZ = bitcast i64* %lnlfY to i64* | |
%lnlg0 = load i64, i64* %lnlfZ, !tbaa !1 | |
store i64 %lnlg0, i64* %lsiO9 | |
%lnlg2 = load i64, i64* %lsiO9 | |
%lnlg1 = load i64*, i64** %Hp_Var | |
%lnlg3 = getelementptr inbounds i64, i64* %lnlg1, i32 -8 | |
store i64 %lnlg2, i64* %lnlg3, !tbaa !2 | |
%lnlg5 = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnlg4 = load i64*, i64** %Hp_Var | |
%lnlg6 = getelementptr inbounds i64, i64* %lnlg4, i32 -7 | |
store i64 %lnlg5, i64* %lnlg6, !tbaa !2 | |
%lnlg8 = load i64, i64* %lsiO9 | |
%lnlg7 = load i64*, i64** %Hp_Var | |
%lnlg9 = getelementptr inbounds i64, i64* %lnlg7, i32 -6 | |
store i64 %lnlg8, i64* %lnlg9, !tbaa !2 | |
%lnlgb = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnlga = load i64*, i64** %Hp_Var | |
%lnlgc = getelementptr inbounds i64, i64* %lnlga, i32 -5 | |
store i64 %lnlgb, i64* %lnlgc, !tbaa !2 | |
%lnlge = load i64*, i64** %Sp_Var | |
%lnlgf = getelementptr inbounds i64, i64* %lnlge, i32 2 | |
%lnlgg = bitcast i64* %lnlgf to i64* | |
%lnlgh = load i64, i64* %lnlgg, !tbaa !1 | |
%lnlgd = load i64*, i64** %Hp_Var | |
%lnlgi = getelementptr inbounds i64, i64* %lnlgd, i32 -4 | |
store i64 %lnlgh, i64* %lnlgi, !tbaa !2 | |
%lnlgl = load i64*, i64** %Hp_Var | |
%lnlgm = ptrtoint i64* %lnlgl to i64 | |
%lnlgn = add i64 %lnlgm, -55 | |
%lnlgj = load i64*, i64** %Hp_Var | |
%lnlgo = getelementptr inbounds i64, i64* %lnlgj, i32 -3 | |
store i64 %lnlgn, i64* %lnlgo, !tbaa !2 | |
%lnlgq = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnlgp = load i64*, i64** %Hp_Var | |
%lnlgr = getelementptr inbounds i64, i64* %lnlgp, i32 -2 | |
store i64 %lnlgq, i64* %lnlgr, !tbaa !2 | |
%lnlgu = load i64*, i64** %Hp_Var | |
%lnlgv = ptrtoint i64* %lnlgu to i64 | |
%lnlgw = add i64 %lnlgv, -39 | |
%lnlgs = load i64*, i64** %Hp_Var | |
%lnlgx = getelementptr inbounds i64, i64* %lnlgs, i32 -1 | |
store i64 %lnlgw, i64* %lnlgx, !tbaa !2 | |
%lnlgA = load i64*, i64** %Hp_Var | |
%lnlgB = ptrtoint i64* %lnlgA to i64 | |
%lnlgC = add i64 %lnlgB, -87 | |
%lnlgy = load i64*, i64** %Hp_Var | |
%lnlgD = getelementptr inbounds i64, i64* %lnlgy, i32 0 | |
store i64 %lnlgC, i64* %lnlgD, !tbaa !2 | |
%lnlgG = load i64*, i64** %Hp_Var | |
%lnlgH = ptrtoint i64* %lnlgG to i64 | |
%lnlgI = add i64 %lnlgH, -15 | |
%lnlgE = load i64*, i64** %Sp_Var | |
%lnlgJ = getelementptr inbounds i64, i64* %lnlgE, i32 5 | |
store i64 %lnlgI, i64* %lnlgJ, !tbaa !1 | |
%lnlgK = load i64*, i64** %Sp_Var | |
%lnlgL = getelementptr inbounds i64, i64* %lnlgK, i32 5 | |
%lnlgM = ptrtoint i64* %lnlgL to i64 | |
%lnlgN = inttoptr i64 %lnlgM to i64* | |
store i64* %lnlgN, i64** %Sp_Var | |
%lnlgO = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlgP = load i64*, i64** %Sp_Var | |
%lnlgQ = load i64*, i64** %Hp_Var | |
%lnlgR = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlgO( i64* %Base_Arg, i64* %lnlgP, i64* %lnlgQ, i64 %lnlgR, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMP: | |
%lnlgS = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlgS, !tbaa !4 | |
%lnlgT = load i64, i64* %R1_Var | |
store i64 %lnlgT, i64* %R1_Var | |
%lnlgU = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlgV = load i64*, i64** %Sp_Var | |
%lnlgW = load i64*, i64** %Hp_Var | |
%lnlgX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlgU( i64* %Base_Arg, i64* %lnlgV, i64* %lnlgW, i64 %lnlgX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckCO_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCO_info$def to i8*) | |
define internal ghccc void @ckCO_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCO_info$def to i64)),i64 64), i64 773, i64 263887085633568}> | |
{ | |
ckCO: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlgY = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to i64 | |
%lnlgZ = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlgY, i64* %lnlgZ, !tbaa !1 | |
%lnlh0 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64 | |
store i64 %lnlh0, i64* %R1_Var | |
%lnlh1 = load i64, i64* %R1_Var | |
%lnlh2 = and i64 %lnlh1, 7 | |
%lnlh3 = icmp ne i64 %lnlh2, 0 | |
br i1 %lnlh3, label %ukOr, label %ckCR | |
ckCR: | |
%lnlh5 = load i64, i64* %R1_Var | |
%lnlh6 = inttoptr i64 %lnlh5 to i64* | |
%lnlh7 = load i64, i64* %lnlh6, !tbaa !3 | |
%lnlh8 = inttoptr i64 %lnlh7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlh9 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlh8( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlh9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ukOr: | |
%lnlha = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlhb = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlha( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlhb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckCQ_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to i8*) | |
define internal ghccc void @ckCQ_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckCQ_info$def to i64)),i64 64), i64 773, i64 228702713544736}> | |
{ | |
ckCQ: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiOD = alloca i64, i32 1 | |
%lckCW = alloca i64, i32 1 | |
%lsiO9 = alloca i64, i32 1 | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlhc = load i64*, i64** %Hp_Var | |
%lnlhd = getelementptr inbounds i64, i64* %lnlhc, i32 11 | |
%lnlhe = ptrtoint i64* %lnlhd to i64 | |
%lnlhf = inttoptr i64 %lnlhe to i64* | |
store i64* %lnlhf, i64** %Hp_Var | |
%lnlhg = load i64*, i64** %Hp_Var | |
%lnlhh = ptrtoint i64* %lnlhg to i64 | |
%lnlhi = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnlhj = bitcast i64* %lnlhi to i64* | |
%lnlhk = load i64, i64* %lnlhj, !tbaa !4 | |
%lnlhl = icmp ugt i64 %lnlhh, %lnlhk | |
br i1 %lnlhl, label %ckMc, label %ckMb | |
ckMb: | |
%lnlho = load i64, i64* %R1_Var | |
%lnlhp = add i64 %lnlho, 31 | |
%lnlhq = inttoptr i64 %lnlhp to i64* | |
%lnlhr = load i64, i64* %lnlhq, !tbaa !3 | |
store i64 %lnlhr, i64* %lsiOD | |
%lnlht = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOS_info$def to i64 | |
%lnlhs = load i64*, i64** %Hp_Var | |
%lnlhu = getelementptr inbounds i64, i64* %lnlhs, i32 -10 | |
store i64 %lnlht, i64* %lnlhu, !tbaa !2 | |
%lnlhw = getelementptr inbounds i64, i64* %Sp_Arg, i32 5 | |
%lnlhx = bitcast i64* %lnlhw to i64* | |
%lnlhy = load i64, i64* %lnlhx, !tbaa !1 | |
%lnlhv = load i64*, i64** %Hp_Var | |
%lnlhz = getelementptr inbounds i64, i64* %lnlhv, i32 -9 | |
store i64 %lnlhy, i64* %lnlhz, !tbaa !2 | |
%lnlhB = getelementptr inbounds i64, i64* %Sp_Arg, i32 1 | |
%lnlhC = bitcast i64* %lnlhB to i64* | |
%lnlhD = load i64, i64* %lnlhC, !tbaa !1 | |
%lnlhA = load i64*, i64** %Hp_Var | |
%lnlhE = getelementptr inbounds i64, i64* %lnlhA, i32 -8 | |
store i64 %lnlhD, i64* %lnlhE, !tbaa !2 | |
%lnlhG = load i64*, i64** %Hp_Var | |
%lnlhH = ptrtoint i64* %lnlhG to i64 | |
%lnlhI = add i64 %lnlhH, -37 | |
store i64 %lnlhI, i64* %lckCW | |
%lnlhK = load i64, i64* %lckCW | |
%lnlhJ = load i64*, i64** %Hp_Var | |
%lnlhL = getelementptr inbounds i64, i64* %lnlhJ, i32 -7 | |
store i64 %lnlhK, i64* %lnlhL, !tbaa !2 | |
%lnlhN = getelementptr inbounds i64, i64* %Sp_Arg, i32 4 | |
%lnlhO = bitcast i64* %lnlhN to i64* | |
%lnlhP = load i64, i64* %lnlhO, !tbaa !1 | |
%lnlhM = load i64*, i64** %Hp_Var | |
%lnlhQ = getelementptr inbounds i64, i64* %lnlhM, i32 -6 | |
store i64 %lnlhP, i64* %lnlhQ, !tbaa !2 | |
%lnlhS = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siOR_info$def to i64 | |
%lnlhR = load i64*, i64** %Hp_Var | |
%lnlhT = getelementptr inbounds i64, i64* %lnlhR, i32 -5 | |
store i64 %lnlhS, i64* %lnlhT, !tbaa !2 | |
%lnlhW = load i64*, i64** %Hp_Var | |
%lnlhX = ptrtoint i64* %lnlhW to i64 | |
%lnlhY = add i64 %lnlhX, -77 | |
%lnlhU = load i64*, i64** %Hp_Var | |
%lnlhZ = getelementptr inbounds i64, i64* %lnlhU, i32 -4 | |
store i64 %lnlhY, i64* %lnlhZ, !tbaa !2 | |
%lnli1 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPs_info$def to i64 | |
%lnli0 = load i64*, i64** %Hp_Var | |
%lnli2 = getelementptr inbounds i64, i64* %lnli0, i32 -3 | |
store i64 %lnli1, i64* %lnli2, !tbaa !2 | |
%lnli4 = load i64, i64* %lckCW | |
%lnli3 = load i64*, i64** %Hp_Var | |
%lnli5 = getelementptr inbounds i64, i64* %lnli3, i32 -2 | |
store i64 %lnli4, i64* %lnli5, !tbaa !2 | |
%lnli6 = getelementptr inbounds i64, i64* %Sp_Arg, i32 3 | |
%lnli7 = bitcast i64* %lnli6 to i64* | |
%lnli8 = load i64, i64* %lnli7, !tbaa !1 | |
store i64 %lnli8, i64* %lsiO9 | |
%lnlia = load i64, i64* %lsiO9 | |
%lnlib = load i64, i64* %lsiOD | |
%lnlic = sdiv i64 %lnlia, %lnlib | |
%lnli9 = load i64*, i64** %Hp_Var | |
%lnlid = getelementptr inbounds i64, i64* %lnli9, i32 -1 | |
store i64 %lnlic, i64* %lnlid, !tbaa !2 | |
%lnlif = load i64, i64* %lsiO9 | |
%lnlig = load i64, i64* %lsiOD | |
%lnlih = srem i64 %lnlif, %lnlig | |
%lnlie = load i64*, i64** %Hp_Var | |
%lnlii = getelementptr inbounds i64, i64* %lnlie, i32 0 | |
store i64 %lnlih, i64* %lnlii, !tbaa !2 | |
%lnlij = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFn_info$def to i64 | |
%lnlik = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlij, i64* %lnlik, !tbaa !1 | |
%lnlim = load i64*, i64** %Hp_Var | |
%lnlin = ptrtoint i64* %lnlim to i64 | |
%lnlio = add i64 %lnlin, -22 | |
store i64 %lnlio, i64* %R3_Var | |
%lnlip = load i64, i64* %R1_Var | |
store i64 %lnlip, i64* %R2_Var | |
%lnliq = bitcast i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlir = load i64*, i64** %Hp_Var | |
%lnlis = load i64, i64* %R1_Var | |
%lnlit = load i64, i64* %R2_Var | |
%lnliu = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnliq( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlir, i64 %lnlis, i64 %lnlit, i64 %lnliu, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMc: | |
%lnliv = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 88, i64* %lnliv, !tbaa !4 | |
%lnliw = load i64, i64* %R1_Var | |
store i64 %lnliw, i64* %R1_Var | |
%lnlix = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnliy = load i64*, i64** %Hp_Var | |
%lnliz = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlix( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnliy, i64 %lnliz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckFn_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFn_info$def to i8*) | |
define internal ghccc void @ckFn_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFn_info$def to i64)),i64 64), i64 1797, i64 211110527500320}> | |
{ | |
ckFn: | |
%lnliA = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFp_info$def to i64 | |
%lnliB = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnliA, i64* %lnliB, !tbaa !1 | |
%lnliC = bitcast i8* @stg_getMaskingStatezh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnliC( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckFp_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFp_info$def to i8*) | |
define internal ghccc void @ckFp_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckFp_info$def to i64)),i64 64), i64 1797, i64 211110527500320}> | |
{ | |
ckFp: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnliD = load i64*, i64** %Hp_Var | |
%lnliE = getelementptr inbounds i64, i64* %lnliD, i32 2 | |
%lnliF = ptrtoint i64* %lnliE to i64 | |
%lnliG = inttoptr i64 %lnliF to i64* | |
store i64* %lnliG, i64** %Hp_Var | |
%lnliH = load i64*, i64** %Hp_Var | |
%lnliI = ptrtoint i64* %lnliH to i64 | |
%lnliJ = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnliK = bitcast i64* %lnliJ to i64* | |
%lnliL = load i64, i64* %lnliK, !tbaa !4 | |
%lnliM = icmp ugt i64 %lnliI, %lnliL | |
br i1 %lnliM, label %ckMg, label %ckMf | |
ckMf: | |
%lnliN = load i64, i64* %R1_Var | |
switch i64 %lnliN, label %ckMj [i64 0, label %ckMp | |
i64 1, label %ckMv] | |
ckMj: | |
%lnliP = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPA_info$def to i64 | |
%lnliO = load i64*, i64** %Hp_Var | |
%lnliQ = getelementptr inbounds i64, i64* %lnliO, i32 -1 | |
store i64 %lnliP, i64* %lnliQ, !tbaa !2 | |
%lnliR = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMh_info$def to i64 | |
%lnliS = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnliR, i64* %lnliS, !tbaa !1 | |
%lnliU = load i64*, i64** %Hp_Var | |
%lnliV = ptrtoint i64* %lnliU to i64 | |
%lnliW = add i64 %lnliV, -6 | |
store i64 %lnliW, i64* %R2_Var | |
%lnliX = ptrtoint %riFB_closure_struct* @riFB_closure$def to i64 | |
%lnliY = add i64 %lnliX, 1 | |
store i64 %lnliY, i64* %R1_Var | |
%lnliZ = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlj0 = load i64*, i64** %Hp_Var | |
%lnlj1 = load i64, i64* %R1_Var | |
%lnlj2 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnliZ( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnlj0, i64 %lnlj1, i64 %lnlj2, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMp: | |
%lnlj3 = load i64*, i64** %Hp_Var | |
%lnlj4 = getelementptr inbounds i64, i64* %lnlj3, i32 -2 | |
%lnlj5 = ptrtoint i64* %lnlj4 to i64 | |
%lnlj6 = inttoptr i64 %lnlj5 to i64* | |
store i64* %lnlj6, i64** %Hp_Var | |
%lnlj7 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMo_info$def to i64 | |
%lnlj8 = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlj7, i64* %lnlj8, !tbaa !1 | |
%lnlj9 = ptrtoint %riFD_closure_struct* @riFD_closure$def to i64 | |
%lnlja = add i64 %lnlj9, 1 | |
store i64 %lnlja, i64* %R1_Var | |
%lnljb = bitcast i8* @stg_maskAsyncExceptionszh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnljc = load i64*, i64** %Hp_Var | |
%lnljd = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnljb( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnljc, i64 %lnljd, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMv: | |
%lnljf = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @siPV_info$def to i64 | |
%lnlje = load i64*, i64** %Hp_Var | |
%lnljg = getelementptr inbounds i64, i64* %lnlje, i32 -1 | |
store i64 %lnljf, i64* %lnljg, !tbaa !2 | |
%lnljh = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMu_info$def to i64 | |
%lnlji = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnljh, i64* %lnlji, !tbaa !1 | |
%lnljk = load i64*, i64** %Hp_Var | |
%lnljl = ptrtoint i64* %lnljk to i64 | |
%lnljm = add i64 %lnljl, -6 | |
store i64 %lnljm, i64* %R2_Var | |
%lnljn = ptrtoint %riFE_closure_struct* @riFE_closure$def to i64 | |
%lnljo = add i64 %lnljn, 1 | |
store i64 %lnljo, i64* %R1_Var | |
%lnljp = bitcast i8* @stg_catchzh to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnljq = load i64*, i64** %Hp_Var | |
%lnljr = load i64, i64* %R1_Var | |
%lnljs = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnljp( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnljq, i64 %lnljr, i64 %lnljs, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMg: | |
%lnljt = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 16, i64* %lnljt, !tbaa !4 | |
%lnlju = load i64, i64* %R1_Var | |
store i64 %lnlju, i64* %R1_Var | |
%lnljv = bitcast i8* @stg_gc_unbx_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnljw = load i64*, i64** %Hp_Var | |
%lnljx = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnljv( i64* %Base_Arg, i64* %Sp_Arg, i64* %lnljw, i64 %lnljx, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckMu_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMu_info$def to i8*) | |
define internal ghccc void @ckMu_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckMu: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnljy = load i64*, i64** %Hp_Var | |
%lnljz = getelementptr inbounds i64, i64* %lnljy, i32 12 | |
%lnljA = ptrtoint i64* %lnljz to i64 | |
%lnljB = inttoptr i64 %lnljA to i64* | |
store i64* %lnljB, i64** %Hp_Var | |
%lnljC = load i64*, i64** %Hp_Var | |
%lnljD = ptrtoint i64* %lnljC to i64 | |
%lnljE = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnljF = bitcast i64* %lnljE to i64* | |
%lnljG = load i64, i64* %lnljF, !tbaa !4 | |
%lnljH = icmp ugt i64 %lnljD, %lnljG | |
br i1 %lnljH, label %ckMz, label %ckMy | |
ckMy: | |
%lnljJ = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnljI = load i64*, i64** %Hp_Var | |
%lnljK = getelementptr inbounds i64, i64* %lnljI, i32 -11 | |
store i64 %lnljJ, i64* %lnljK, !tbaa !2 | |
%lnljM = load i64*, i64** %Sp_Var | |
%lnljN = getelementptr inbounds i64, i64* %lnljM, i32 1 | |
%lnljO = bitcast i64* %lnljN to i64* | |
%lnljP = load i64, i64* %lnljO, !tbaa !1 | |
%lnljL = load i64*, i64** %Hp_Var | |
%lnljQ = getelementptr inbounds i64, i64* %lnljL, i32 -10 | |
store i64 %lnljP, i64* %lnljQ, !tbaa !2 | |
%lnljR = load i64*, i64** %Hp_Var | |
%lnljS = getelementptr inbounds i64, i64* %lnljR, i32 -9 | |
store i64 0, i64* %lnljS, !tbaa !2 | |
%lnljT = load i64*, i64** %Sp_Var | |
%lnljU = getelementptr inbounds i64, i64* %lnljT, i32 3 | |
%lnljV = bitcast i64* %lnljU to i64* | |
%lnljW = load i64, i64* %lnljV, !tbaa !1 | |
store i64 %lnljW, i64* %lsiO9 | |
%lnljY = load i64, i64* %lsiO9 | |
%lnljX = load i64*, i64** %Hp_Var | |
%lnljZ = getelementptr inbounds i64, i64* %lnljX, i32 -8 | |
store i64 %lnljY, i64* %lnljZ, !tbaa !2 | |
%lnlk1 = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnlk0 = load i64*, i64** %Hp_Var | |
%lnlk2 = getelementptr inbounds i64, i64* %lnlk0, i32 -7 | |
store i64 %lnlk1, i64* %lnlk2, !tbaa !2 | |
%lnlk4 = load i64, i64* %lsiO9 | |
%lnlk3 = load i64*, i64** %Hp_Var | |
%lnlk5 = getelementptr inbounds i64, i64* %lnlk3, i32 -6 | |
store i64 %lnlk4, i64* %lnlk5, !tbaa !2 | |
%lnlk7 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnlk6 = load i64*, i64** %Hp_Var | |
%lnlk8 = getelementptr inbounds i64, i64* %lnlk6, i32 -5 | |
store i64 %lnlk7, i64* %lnlk8, !tbaa !2 | |
%lnlka = load i64*, i64** %Sp_Var | |
%lnlkb = getelementptr inbounds i64, i64* %lnlka, i32 2 | |
%lnlkc = bitcast i64* %lnlkb to i64* | |
%lnlkd = load i64, i64* %lnlkc, !tbaa !1 | |
%lnlk9 = load i64*, i64** %Hp_Var | |
%lnlke = getelementptr inbounds i64, i64* %lnlk9, i32 -4 | |
store i64 %lnlkd, i64* %lnlke, !tbaa !2 | |
%lnlkh = load i64*, i64** %Hp_Var | |
%lnlki = ptrtoint i64* %lnlkh to i64 | |
%lnlkj = add i64 %lnlki, -55 | |
%lnlkf = load i64*, i64** %Hp_Var | |
%lnlkk = getelementptr inbounds i64, i64* %lnlkf, i32 -3 | |
store i64 %lnlkj, i64* %lnlkk, !tbaa !2 | |
%lnlkm = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnlkl = load i64*, i64** %Hp_Var | |
%lnlkn = getelementptr inbounds i64, i64* %lnlkl, i32 -2 | |
store i64 %lnlkm, i64* %lnlkn, !tbaa !2 | |
%lnlkq = load i64*, i64** %Hp_Var | |
%lnlkr = ptrtoint i64* %lnlkq to i64 | |
%lnlks = add i64 %lnlkr, -39 | |
%lnlko = load i64*, i64** %Hp_Var | |
%lnlkt = getelementptr inbounds i64, i64* %lnlko, i32 -1 | |
store i64 %lnlks, i64* %lnlkt, !tbaa !2 | |
%lnlkw = load i64*, i64** %Hp_Var | |
%lnlkx = ptrtoint i64* %lnlkw to i64 | |
%lnlky = add i64 %lnlkx, -87 | |
%lnlku = load i64*, i64** %Hp_Var | |
%lnlkz = getelementptr inbounds i64, i64* %lnlku, i32 0 | |
store i64 %lnlky, i64* %lnlkz, !tbaa !2 | |
%lnlkC = load i64*, i64** %Hp_Var | |
%lnlkD = ptrtoint i64* %lnlkC to i64 | |
%lnlkE = add i64 %lnlkD, -15 | |
%lnlkA = load i64*, i64** %Sp_Var | |
%lnlkF = getelementptr inbounds i64, i64* %lnlkA, i32 5 | |
store i64 %lnlkE, i64* %lnlkF, !tbaa !1 | |
%lnlkG = load i64*, i64** %Sp_Var | |
%lnlkH = getelementptr inbounds i64, i64* %lnlkG, i32 5 | |
%lnlkI = ptrtoint i64* %lnlkH to i64 | |
%lnlkJ = inttoptr i64 %lnlkI to i64* | |
store i64* %lnlkJ, i64** %Sp_Var | |
%lnlkK = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlkL = load i64*, i64** %Sp_Var | |
%lnlkM = load i64*, i64** %Hp_Var | |
%lnlkN = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlkK( i64* %Base_Arg, i64* %lnlkL, i64* %lnlkM, i64 %lnlkN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMz: | |
%lnlkO = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlkO, !tbaa !4 | |
%lnlkP = load i64, i64* %R1_Var | |
store i64 %lnlkP, i64* %R1_Var | |
%lnlkQ = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlkR = load i64*, i64** %Sp_Var | |
%lnlkS = load i64*, i64** %Hp_Var | |
%lnlkT = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlkQ( i64* %Base_Arg, i64* %lnlkR, i64* %lnlkS, i64 %lnlkT, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckMo_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMo_info$def to i8*) | |
define internal ghccc void @ckMo_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckMo: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlkU = load i64*, i64** %Hp_Var | |
%lnlkV = getelementptr inbounds i64, i64* %lnlkU, i32 12 | |
%lnlkW = ptrtoint i64* %lnlkV to i64 | |
%lnlkX = inttoptr i64 %lnlkW to i64* | |
store i64* %lnlkX, i64** %Hp_Var | |
%lnlkY = load i64*, i64** %Hp_Var | |
%lnlkZ = ptrtoint i64* %lnlkY to i64 | |
%lnll0 = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnll1 = bitcast i64* %lnll0 to i64* | |
%lnll2 = load i64, i64* %lnll1, !tbaa !4 | |
%lnll3 = icmp ugt i64 %lnlkZ, %lnll2 | |
br i1 %lnll3, label %ckMt, label %ckMs | |
ckMs: | |
%lnll5 = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnll4 = load i64*, i64** %Hp_Var | |
%lnll6 = getelementptr inbounds i64, i64* %lnll4, i32 -11 | |
store i64 %lnll5, i64* %lnll6, !tbaa !2 | |
%lnll8 = load i64*, i64** %Sp_Var | |
%lnll9 = getelementptr inbounds i64, i64* %lnll8, i32 1 | |
%lnlla = bitcast i64* %lnll9 to i64* | |
%lnllb = load i64, i64* %lnlla, !tbaa !1 | |
%lnll7 = load i64*, i64** %Hp_Var | |
%lnllc = getelementptr inbounds i64, i64* %lnll7, i32 -10 | |
store i64 %lnllb, i64* %lnllc, !tbaa !2 | |
%lnlld = load i64*, i64** %Hp_Var | |
%lnlle = getelementptr inbounds i64, i64* %lnlld, i32 -9 | |
store i64 0, i64* %lnlle, !tbaa !2 | |
%lnllf = load i64*, i64** %Sp_Var | |
%lnllg = getelementptr inbounds i64, i64* %lnllf, i32 3 | |
%lnllh = bitcast i64* %lnllg to i64* | |
%lnlli = load i64, i64* %lnllh, !tbaa !1 | |
store i64 %lnlli, i64* %lsiO9 | |
%lnllk = load i64, i64* %lsiO9 | |
%lnllj = load i64*, i64** %Hp_Var | |
%lnlll = getelementptr inbounds i64, i64* %lnllj, i32 -8 | |
store i64 %lnllk, i64* %lnlll, !tbaa !2 | |
%lnlln = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnllm = load i64*, i64** %Hp_Var | |
%lnllo = getelementptr inbounds i64, i64* %lnllm, i32 -7 | |
store i64 %lnlln, i64* %lnllo, !tbaa !2 | |
%lnllq = load i64, i64* %lsiO9 | |
%lnllp = load i64*, i64** %Hp_Var | |
%lnllr = getelementptr inbounds i64, i64* %lnllp, i32 -6 | |
store i64 %lnllq, i64* %lnllr, !tbaa !2 | |
%lnllt = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnlls = load i64*, i64** %Hp_Var | |
%lnllu = getelementptr inbounds i64, i64* %lnlls, i32 -5 | |
store i64 %lnllt, i64* %lnllu, !tbaa !2 | |
%lnllw = load i64*, i64** %Sp_Var | |
%lnllx = getelementptr inbounds i64, i64* %lnllw, i32 2 | |
%lnlly = bitcast i64* %lnllx to i64* | |
%lnllz = load i64, i64* %lnlly, !tbaa !1 | |
%lnllv = load i64*, i64** %Hp_Var | |
%lnllA = getelementptr inbounds i64, i64* %lnllv, i32 -4 | |
store i64 %lnllz, i64* %lnllA, !tbaa !2 | |
%lnllD = load i64*, i64** %Hp_Var | |
%lnllE = ptrtoint i64* %lnllD to i64 | |
%lnllF = add i64 %lnllE, -55 | |
%lnllB = load i64*, i64** %Hp_Var | |
%lnllG = getelementptr inbounds i64, i64* %lnllB, i32 -3 | |
store i64 %lnllF, i64* %lnllG, !tbaa !2 | |
%lnllI = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnllH = load i64*, i64** %Hp_Var | |
%lnllJ = getelementptr inbounds i64, i64* %lnllH, i32 -2 | |
store i64 %lnllI, i64* %lnllJ, !tbaa !2 | |
%lnllM = load i64*, i64** %Hp_Var | |
%lnllN = ptrtoint i64* %lnllM to i64 | |
%lnllO = add i64 %lnllN, -39 | |
%lnllK = load i64*, i64** %Hp_Var | |
%lnllP = getelementptr inbounds i64, i64* %lnllK, i32 -1 | |
store i64 %lnllO, i64* %lnllP, !tbaa !2 | |
%lnllS = load i64*, i64** %Hp_Var | |
%lnllT = ptrtoint i64* %lnllS to i64 | |
%lnllU = add i64 %lnllT, -87 | |
%lnllQ = load i64*, i64** %Hp_Var | |
%lnllV = getelementptr inbounds i64, i64* %lnllQ, i32 0 | |
store i64 %lnllU, i64* %lnllV, !tbaa !2 | |
%lnllY = load i64*, i64** %Hp_Var | |
%lnllZ = ptrtoint i64* %lnllY to i64 | |
%lnlm0 = add i64 %lnllZ, -15 | |
%lnllW = load i64*, i64** %Sp_Var | |
%lnlm1 = getelementptr inbounds i64, i64* %lnllW, i32 5 | |
store i64 %lnlm0, i64* %lnlm1, !tbaa !1 | |
%lnlm2 = load i64*, i64** %Sp_Var | |
%lnlm3 = getelementptr inbounds i64, i64* %lnlm2, i32 5 | |
%lnlm4 = ptrtoint i64* %lnlm3 to i64 | |
%lnlm5 = inttoptr i64 %lnlm4 to i64* | |
store i64* %lnlm5, i64** %Sp_Var | |
%lnlm6 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlm7 = load i64*, i64** %Sp_Var | |
%lnlm8 = load i64*, i64** %Hp_Var | |
%lnlm9 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlm6( i64* %Base_Arg, i64* %lnlm7, i64* %lnlm8, i64 %lnlm9, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMt: | |
%lnlma = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlma, !tbaa !4 | |
%lnlmb = load i64, i64* %R1_Var | |
store i64 %lnlmb, i64* %R1_Var | |
%lnlmc = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlmd = load i64*, i64** %Sp_Var | |
%lnlme = load i64*, i64** %Hp_Var | |
%lnlmf = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlmc( i64* %Base_Arg, i64* %lnlmd, i64* %lnlme, i64 %lnlmf, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckMh_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckMh_info$def to i8*) | |
define internal ghccc void @ckMh_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 1797, i64 32}> | |
{ | |
ckMh: | |
%Hp_Var = alloca i64*, i32 1 | |
store i64* %Hp_Arg, i64** %Hp_Var | |
%lsiO9 = alloca i64, i32 1 | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlmg = load i64*, i64** %Hp_Var | |
%lnlmh = getelementptr inbounds i64, i64* %lnlmg, i32 12 | |
%lnlmi = ptrtoint i64* %lnlmh to i64 | |
%lnlmj = inttoptr i64 %lnlmi to i64* | |
store i64* %lnlmj, i64** %Hp_Var | |
%lnlmk = load i64*, i64** %Hp_Var | |
%lnlml = ptrtoint i64* %lnlmk to i64 | |
%lnlmm = getelementptr inbounds i64, i64* %Base_Arg, i32 107 | |
%lnlmn = bitcast i64* %lnlmm to i64* | |
%lnlmo = load i64, i64* %lnlmn, !tbaa !4 | |
%lnlmp = icmp ugt i64 %lnlml, %lnlmo | |
br i1 %lnlmp, label %ckMn, label %ckMm | |
ckMm: | |
%lnlmr = ptrtoint i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info to i64 | |
%lnlmq = load i64*, i64** %Hp_Var | |
%lnlms = getelementptr inbounds i64, i64* %lnlmq, i32 -11 | |
store i64 %lnlmr, i64* %lnlms, !tbaa !2 | |
%lnlmu = load i64*, i64** %Sp_Var | |
%lnlmv = getelementptr inbounds i64, i64* %lnlmu, i32 1 | |
%lnlmw = bitcast i64* %lnlmv to i64* | |
%lnlmx = load i64, i64* %lnlmw, !tbaa !1 | |
%lnlmt = load i64*, i64** %Hp_Var | |
%lnlmy = getelementptr inbounds i64, i64* %lnlmt, i32 -10 | |
store i64 %lnlmx, i64* %lnlmy, !tbaa !2 | |
%lnlmz = load i64*, i64** %Hp_Var | |
%lnlmA = getelementptr inbounds i64, i64* %lnlmz, i32 -9 | |
store i64 0, i64* %lnlmA, !tbaa !2 | |
%lnlmB = load i64*, i64** %Sp_Var | |
%lnlmC = getelementptr inbounds i64, i64* %lnlmB, i32 3 | |
%lnlmD = bitcast i64* %lnlmC to i64* | |
%lnlmE = load i64, i64* %lnlmD, !tbaa !1 | |
store i64 %lnlmE, i64* %lsiO9 | |
%lnlmG = load i64, i64* %lsiO9 | |
%lnlmF = load i64*, i64** %Hp_Var | |
%lnlmH = getelementptr inbounds i64, i64* %lnlmF, i32 -8 | |
store i64 %lnlmG, i64* %lnlmH, !tbaa !2 | |
%lnlmJ = ptrtoint i8* @ghczmprim_GHCziTypes_Izh_con_info to i64 | |
%lnlmI = load i64*, i64** %Hp_Var | |
%lnlmK = getelementptr inbounds i64, i64* %lnlmI, i32 -7 | |
store i64 %lnlmJ, i64* %lnlmK, !tbaa !2 | |
%lnlmM = load i64, i64* %lsiO9 | |
%lnlmL = load i64*, i64** %Hp_Var | |
%lnlmN = getelementptr inbounds i64, i64* %lnlmL, i32 -6 | |
store i64 %lnlmM, i64* %lnlmN, !tbaa !2 | |
%lnlmP = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info to i64 | |
%lnlmO = load i64*, i64** %Hp_Var | |
%lnlmQ = getelementptr inbounds i64, i64* %lnlmO, i32 -5 | |
store i64 %lnlmP, i64* %lnlmQ, !tbaa !2 | |
%lnlmS = load i64*, i64** %Sp_Var | |
%lnlmT = getelementptr inbounds i64, i64* %lnlmS, i32 2 | |
%lnlmU = bitcast i64* %lnlmT to i64* | |
%lnlmV = load i64, i64* %lnlmU, !tbaa !1 | |
%lnlmR = load i64*, i64** %Hp_Var | |
%lnlmW = getelementptr inbounds i64, i64* %lnlmR, i32 -4 | |
store i64 %lnlmV, i64* %lnlmW, !tbaa !2 | |
%lnlmZ = load i64*, i64** %Hp_Var | |
%lnln0 = ptrtoint i64* %lnlmZ to i64 | |
%lnln1 = add i64 %lnln0, -55 | |
%lnlmX = load i64*, i64** %Hp_Var | |
%lnln2 = getelementptr inbounds i64, i64* %lnlmX, i32 -3 | |
store i64 %lnln1, i64* %lnln2, !tbaa !2 | |
%lnln4 = ptrtoint i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info to i64 | |
%lnln3 = load i64*, i64** %Hp_Var | |
%lnln5 = getelementptr inbounds i64, i64* %lnln3, i32 -2 | |
store i64 %lnln4, i64* %lnln5, !tbaa !2 | |
%lnln8 = load i64*, i64** %Hp_Var | |
%lnln9 = ptrtoint i64* %lnln8 to i64 | |
%lnlna = add i64 %lnln9, -39 | |
%lnln6 = load i64*, i64** %Hp_Var | |
%lnlnb = getelementptr inbounds i64, i64* %lnln6, i32 -1 | |
store i64 %lnlna, i64* %lnlnb, !tbaa !2 | |
%lnlne = load i64*, i64** %Hp_Var | |
%lnlnf = ptrtoint i64* %lnlne to i64 | |
%lnlng = add i64 %lnlnf, -87 | |
%lnlnc = load i64*, i64** %Hp_Var | |
%lnlnh = getelementptr inbounds i64, i64* %lnlnc, i32 0 | |
store i64 %lnlng, i64* %lnlnh, !tbaa !2 | |
%lnlnk = load i64*, i64** %Hp_Var | |
%lnlnl = ptrtoint i64* %lnlnk to i64 | |
%lnlnm = add i64 %lnlnl, -15 | |
%lnlni = load i64*, i64** %Sp_Var | |
%lnlnn = getelementptr inbounds i64, i64* %lnlni, i32 5 | |
store i64 %lnlnm, i64* %lnlnn, !tbaa !1 | |
%lnlno = load i64*, i64** %Sp_Var | |
%lnlnp = getelementptr inbounds i64, i64* %lnlno, i32 5 | |
%lnlnq = ptrtoint i64* %lnlnp to i64 | |
%lnlnr = inttoptr i64 %lnlnq to i64* | |
store i64* %lnlnr, i64** %Sp_Var | |
%lnlns = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlnt = load i64*, i64** %Sp_Var | |
%lnlnu = load i64*, i64** %Hp_Var | |
%lnlnv = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlns( i64* %Base_Arg, i64* %lnlnt, i64* %lnlnu, i64 %lnlnv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
ckMn: | |
%lnlnw = getelementptr inbounds i64, i64* %Base_Arg, i32 113 | |
store i64 96, i64* %lnlnw, !tbaa !4 | |
%lnlnx = load i64, i64* %R1_Var | |
store i64 %lnlnx, i64* %R1_Var | |
%lnlny = bitcast i8* @stg_gc_unpt_r1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlnz = load i64*, i64** %Sp_Var | |
%lnlnA = load i64*, i64** %Hp_Var | |
%lnlnB = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlny( i64* %Base_Arg, i64* %lnlnz, i64* %lnlnA, i64 %lnlnB, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckNA_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckNA_info$def to i8*) | |
define internal ghccc void @ckNA_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckNA: | |
%lnlnC = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %R1_Arg, i64* %lnlnC, !tbaa !1 | |
%lnlnD = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlnD( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckLZ_entry = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLZ_entry$def to i8*) | |
define internal ghccc void @ckLZ_entry$def(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) align 8 nounwind | |
{ | |
ckLZ: | |
%lsiTf = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlnE = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
%lnlnF = bitcast i64* %lnlnE to i64* | |
%lnlnG = load i64, i64* %lnlnF, !tbaa !1 | |
store i64 %lnlnG, i64* %lsiTf | |
%lnlnH = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLS_info$def to i64 | |
%lnlnI = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlnH, i64* %lnlnI, !tbaa !1 | |
%lnlnJ = load i64, i64* %lsiTf | |
store i64 %lnlnJ, i64* %R1_Var | |
%lnlnK = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlnL = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlnK( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlnL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@ckLS_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ckLS_info$def to i8*) | |
define internal ghccc void @ckLS_info$def(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) align 8 nounwind prefix <{i64, i64}><{i64 0, i64 32}> | |
{ | |
ckLS: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnlnM = load i64, i64* %R1_Var | |
store i64 %lnlnM, i64* %R1_Var | |
%lnlnN = load i64*, i64** %Sp_Var | |
%lnlnO = getelementptr inbounds i64, i64* %lnlnN, i32 1 | |
%lnlnP = ptrtoint i64* %lnlnO to i64 | |
%lnlnQ = inttoptr i64 %lnlnP to i64* | |
store i64* %lnlnQ, i64** %Sp_Var | |
%lnlnR = load i64*, i64** %Sp_Var | |
%lnlnS = getelementptr inbounds i64, i64* %lnlnR, i32 0 | |
%lnlnT = bitcast i64* %lnlnS to i64* | |
%lnlnU = load i64, i64* %lnlnT, !tbaa !1 | |
%lnlnV = inttoptr i64 %lnlnU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlnW = load i64*, i64** %Sp_Var | |
%lnlnX = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlnV( i64* %Base_Arg, i64* %lnlnW, i64* %Hp_Arg, i64 %lnlnX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Test_test2_closure_struct = type <{i64, i64}> | |
@Test_test2_closure$def = internal global %Test_test2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to i64), i64 0}> | |
@Test_test2_closure = alias i8* bitcast (%Test_test2_closure_struct* @Test_test2_closure$def to i8*) | |
@Test_test2_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to i8*) | |
define ghccc void @Test_test2_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to i64)),i64 152), i64 8589934597, i64 0, i64 554050781199}> | |
{ | |
cloh: | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnloG = load i64*, i64** %Sp_Var | |
%lnloH = getelementptr inbounds i64, i64* %lnloG, i32 -3 | |
%lnloI = ptrtoint i64* %lnloH to i64 | |
%lnloJ = icmp ult i64 %lnloI, %SpLim_Arg | |
br i1 %lnloJ, label %clov, label %clow | |
clow: | |
%lnloL = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clof_info$def to i64 | |
%lnloK = load i64*, i64** %Sp_Var | |
%lnloM = getelementptr inbounds i64, i64* %lnloK, i32 -1 | |
store i64 %lnloL, i64* %lnloM, !tbaa !1 | |
%lnloN = load i64, i64* %R2_Var | |
store i64 %lnloN, i64* %R1_Var | |
%lnloO = load i64*, i64** %Sp_Var | |
%lnloP = getelementptr inbounds i64, i64* %lnloO, i32 -1 | |
%lnloQ = ptrtoint i64* %lnloP to i64 | |
%lnloR = inttoptr i64 %lnloQ to i64* | |
store i64* %lnloR, i64** %Sp_Var | |
%lnloS = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnloT = load i64*, i64** %Sp_Var | |
%lnloU = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnloS( i64* %Base_Arg, i64* %lnloT, i64* %Hp_Arg, i64 %lnloU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
clov: | |
%lnloV = load i64, i64* %R2_Var | |
store i64 %lnloV, i64* %R2_Var | |
%lnloW = ptrtoint %Test_test2_closure_struct* @Test_test2_closure$def to i64 | |
store i64 %lnloW, i64* %R1_Var | |
%lnloX = getelementptr inbounds i64, i64* %Base_Arg, i32 -1 | |
%lnloY = bitcast i64* %lnloX to i64* | |
%lnloZ = load i64, i64* %lnloY, !tbaa !4 | |
%lnlp0 = inttoptr i64 %lnloZ to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlp1 = load i64*, i64** %Sp_Var | |
%lnlp2 = load i64, i64* %R1_Var | |
%lnlp3 = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlp0( i64* %Base_Arg, i64* %lnlp1, i64* %Hp_Arg, i64 %lnlp2, i64 %lnlp3, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@clof_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clof_info$def to i8*) | |
define internal ghccc void @clof_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clof_info$def to i64)),i64 152), i64 0, i64 4294967328}> | |
{ | |
clof: | |
%lsiTn = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnlp5 = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to i64 | |
%lnlp4 = load i64*, i64** %Sp_Var | |
%lnlp6 = getelementptr inbounds i64, i64* %lnlp4, i32 -1 | |
store i64 %lnlp5, i64* %lnlp6, !tbaa !1 | |
%lnlp9 = load i64, i64* %R1_Var | |
%lnlpa = add i64 %lnlp9, 15 | |
%lnlpb = inttoptr i64 %lnlpa to i64* | |
%lnlpc = load i64, i64* %lnlpb, !tbaa !3 | |
store i64 %lnlpc, i64* %lsiTn | |
%lnlpf = load i64, i64* %R1_Var | |
%lnlpg = add i64 %lnlpf, 7 | |
%lnlph = inttoptr i64 %lnlpg to i64* | |
%lnlpi = load i64, i64* %lnlph, !tbaa !3 | |
store i64 %lnlpi, i64* %R1_Var | |
%lnlpk = load i64, i64* %lsiTn | |
%lnlpj = load i64*, i64** %Sp_Var | |
%lnlpl = getelementptr inbounds i64, i64* %lnlpj, i32 0 | |
store i64 %lnlpk, i64* %lnlpl, !tbaa !1 | |
%lnlpm = load i64*, i64** %Sp_Var | |
%lnlpn = getelementptr inbounds i64, i64* %lnlpm, i32 -1 | |
%lnlpo = ptrtoint i64* %lnlpn to i64 | |
%lnlpp = inttoptr i64 %lnlpo to i64* | |
store i64* %lnlpp, i64** %Sp_Var | |
%lnlpq = load i64, i64* %R1_Var | |
%lnlpr = and i64 %lnlpq, 7 | |
%lnlps = icmp ne i64 %lnlpr, 0 | |
br i1 %lnlps, label %uloE, label %clol | |
clol: | |
%lnlpu = load i64, i64* %R1_Var | |
%lnlpv = inttoptr i64 %lnlpu to i64* | |
%lnlpw = load i64, i64* %lnlpv, !tbaa !3 | |
%lnlpx = inttoptr i64 %lnlpw to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlpy = load i64*, i64** %Sp_Var | |
%lnlpz = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlpx( i64* %Base_Arg, i64* %lnlpy, i64* %Hp_Arg, i64 %lnlpz, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uloE: | |
%lnlpA = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlpB = load i64*, i64** %Sp_Var | |
%lnlpC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlpA( i64* %Base_Arg, i64* %lnlpB, i64* %Hp_Arg, i64 %lnlpC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@clok_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to i8*) | |
define internal ghccc void @clok_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clok_info$def to i64)),i64 152), i64 1, i64 4294967328}> | |
{ | |
clok: | |
%lsiTp = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnlpE = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to i64 | |
%lnlpD = load i64*, i64** %Sp_Var | |
%lnlpF = getelementptr inbounds i64, i64* %lnlpD, i32 -1 | |
store i64 %lnlpE, i64* %lnlpF, !tbaa !1 | |
%lnlpI = load i64, i64* %R1_Var | |
%lnlpJ = add i64 %lnlpI, 7 | |
%lnlpK = inttoptr i64 %lnlpJ to i64* | |
%lnlpL = load i64, i64* %lnlpK, !tbaa !3 | |
store i64 %lnlpL, i64* %lsiTp | |
%lnlpO = load i64, i64* %R1_Var | |
%lnlpP = add i64 %lnlpO, 15 | |
%lnlpQ = inttoptr i64 %lnlpP to i64* | |
%lnlpR = load i64, i64* %lnlpQ, !tbaa !3 | |
store i64 %lnlpR, i64* %R1_Var | |
%lnlpT = load i64, i64* %lsiTp | |
%lnlpS = load i64*, i64** %Sp_Var | |
%lnlpU = getelementptr inbounds i64, i64* %lnlpS, i32 0 | |
store i64 %lnlpT, i64* %lnlpU, !tbaa !1 | |
%lnlpV = load i64*, i64** %Sp_Var | |
%lnlpW = getelementptr inbounds i64, i64* %lnlpV, i32 -1 | |
%lnlpX = ptrtoint i64* %lnlpW to i64 | |
%lnlpY = inttoptr i64 %lnlpX to i64* | |
store i64* %lnlpY, i64** %Sp_Var | |
%lnlpZ = load i64, i64* %R1_Var | |
%lnlq0 = and i64 %lnlpZ, 7 | |
%lnlq1 = icmp ne i64 %lnlq0, 0 | |
br i1 %lnlq1, label %uloF, label %cloq | |
cloq: | |
%lnlq3 = load i64, i64* %R1_Var | |
%lnlq4 = inttoptr i64 %lnlq3 to i64* | |
%lnlq5 = load i64, i64* %lnlq4, !tbaa !3 | |
%lnlq6 = inttoptr i64 %lnlq5 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlq7 = load i64*, i64** %Sp_Var | |
%lnlq8 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlq6( i64* %Base_Arg, i64* %lnlq7, i64* %Hp_Arg, i64 %lnlq8, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
uloF: | |
%lnlq9 = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlqa = load i64*, i64** %Sp_Var | |
%lnlqb = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlq9( i64* %Base_Arg, i64* %lnlqa, i64* %Hp_Arg, i64 %lnlqb, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@clop_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to i8*) | |
define internal ghccc void @clop_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clop_info$def to i64)),i64 152), i64 2, i64 4294967328}> | |
{ | |
clop: | |
%lsiTs = alloca i64, i32 1 | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%lnlqc = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clou_info$def to i64 | |
%lnlqd = getelementptr inbounds i64, i64* %Sp_Arg, i32 0 | |
store i64 %lnlqc, i64* %lnlqd, !tbaa !1 | |
%lnlqg = load i64, i64* %R1_Var | |
%lnlqh = add i64 %lnlqg, 7 | |
%lnlqi = inttoptr i64 %lnlqh to i64* | |
%lnlqj = load i64, i64* %lnlqi, !tbaa !3 | |
store i64 %lnlqj, i64* %lsiTs | |
%lnlqk = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
%lnlql = bitcast i64* %lnlqk to i64* | |
%lnlqm = load i64, i64* %lnlql, !tbaa !1 | |
store i64 %lnlqm, i64* %R1_Var | |
%lnlqn = load i64, i64* %lsiTs | |
%lnlqo = getelementptr inbounds i64, i64* %Sp_Arg, i32 2 | |
store i64 %lnlqn, i64* %lnlqo, !tbaa !1 | |
%lnlqp = bitcast i8* @stg_ap_0_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlqq = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlqp( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %lnlqq, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
@clou_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clou_info$def to i8*) | |
define internal ghccc void @clou_info$def(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) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @clou_info$def to i64)),i64 152), i64 130, i64 4294967328}> | |
{ | |
clou: | |
%R5_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R5_Var | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%lnlqr = add i64 %R1_Arg, 7 | |
%lnlqs = inttoptr i64 %lnlqr to i64* | |
%lnlqt = load i64, i64* %lnlqs, !tbaa !3 | |
store i64 %lnlqt, i64* %R5_Var | |
%lnlqu = add i64 %R1_Arg, 15 | |
%lnlqv = inttoptr i64 %lnlqu to i64* | |
%lnlqw = load i64, i64* %lnlqv, !tbaa !3 | |
store i64 %lnlqw, i64* %R4_Var | |
%lnlqx = load i64*, i64** %Sp_Var | |
%lnlqy = getelementptr inbounds i64, i64* %lnlqx, i32 2 | |
%lnlqz = bitcast i64* %lnlqy to i64* | |
%lnlqA = load i64, i64* %lnlqz, !tbaa !1 | |
store i64 %lnlqA, i64* %R3_Var | |
%lnlqB = load i64*, i64** %Sp_Var | |
%lnlqC = getelementptr inbounds i64, i64* %lnlqB, i32 1 | |
%lnlqD = bitcast i64* %lnlqC to i64* | |
%lnlqE = load i64, i64* %lnlqD, !tbaa !1 | |
store i64 %lnlqE, i64* %R2_Var | |
%lnlqF = load i64*, i64** %Sp_Var | |
%lnlqG = getelementptr inbounds i64, i64* %lnlqF, i32 3 | |
%lnlqH = ptrtoint i64* %lnlqG to i64 | |
%lnlqI = inttoptr i64 %lnlqH to i64* | |
store i64* %lnlqI, i64** %Sp_Var | |
%lnlqJ = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_zdwtest1_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlqK = load i64*, i64** %Sp_Var | |
%lnlqL = load i64, i64* %R2_Var | |
%lnlqM = load i64, i64* %R3_Var | |
%lnlqN = load i64, i64* %R4_Var | |
%lnlqO = load i64, i64* %R5_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlqJ( i64* %Base_Arg, i64* %lnlqK, i64* %Hp_Arg, i64 %R1_Arg, i64 %lnlqL, i64 %lnlqM, i64 %lnlqN, i64 %lnlqO, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Test_test1_closure_struct = type <{i64, i64}> | |
@Test_test1_closure$def = internal global %Test_test1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test1_info$def to i64), i64 0}> | |
@Test_test1_closure = alias i8* bitcast (%Test_test1_closure_struct* @Test_test1_closure$def to i8*) | |
@Test_test1_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test1_info$def to i8*) | |
define ghccc void @Test_test1_info$def(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) align 8 nounwind prefix <{i64, i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (i8* @SiZ0_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test1_info$def to i64)),i64 208), i64 8589934597, i64 0, i64 4294967311}> | |
{ | |
clqU: | |
%R2_Var = alloca i64, i32 1 | |
store i64 %R2_Arg, i64* %R2_Var | |
%lnlqX = load i64, i64* %R2_Var | |
store i64 %lnlqX, i64* %R2_Var | |
%lnlqY = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Test_test2_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnlqZ = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnlqY( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 %lnlqZ, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%SiZ0_srt_struct = type <{i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64, i64}> | |
@SiZ0_srt$def = internal constant %SiZ0_srt_struct<{i64 ptrtoint (i8* @vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_closure to i64), i64 ptrtoint (%riFv_closure_struct* @riFv_closure$def to i64), i64 ptrtoint (%riFx_closure_struct* @riFx_closure$def to i64), i64 ptrtoint (%riFy_closure_struct* @riFy_closure$def to i64), i64 ptrtoint (i8* @base_GHCziIOziEncodingziFailure_zdwfail_closure to i64), i64 ptrtoint (%riFz_closure_struct* @riFz_closure$def to i64), i64 ptrtoint (%riFA_closure_struct* @riFA_closure$def to i64), i64 ptrtoint (%riFC_closure_struct* @riFC_closure$def to i64), i64 ptrtoint (%riFD_closure_struct* @riFD_closure$def to i64), i64 ptrtoint (%riFF_closure_struct* @riFF_closure$def to i64), i64 ptrtoint (%riFG_closure_struct* @riFG_closure$def to i64), i64 ptrtoint (%riFI_closure_struct* @riFI_closure$def to i64), i64 ptrtoint (%riFJ_closure_struct* @riFJ_closure$def to i64), i64 ptrtoint (%riFV_closure_struct* @riFV_closure$def to i64), i64 ptrtoint (i8* @base_GHCziErr_error_closure to i64), i64 ptrtoint (%riFT_closure_struct* @riFT_closure$def to i64), i64 ptrtoint (%riFW_closure_struct* @riFW_closure$def to i64), i64 ptrtoint (%riG1_closure_struct* @riG1_closure$def to i64), i64 ptrtoint (%riG2_closure_struct* @riG2_closure$def to i64), i64 ptrtoint (%Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i64), i64 ptrtoint (i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_closure to i64), i64 ptrtoint (i8* @repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure to i64), i64 ptrtoint (%riFB_closure_struct* @riFB_closure$def to i64), i64 ptrtoint (%riFE_closure_struct* @riFE_closure$def to i64), i64 ptrtoint (%riFH_closure_struct* @riFH_closure$def to i64), i64 ptrtoint (%riFK_closure_struct* @riFK_closure$def to i64), i64 ptrtoint (%Test_test2_closure_struct* @Test_test2_closure$def to i64)}> | |
@SiZ0_srt = internal alias i8* bitcast (%SiZ0_srt_struct* @SiZ0_srt$def to i8*) | |
@hsprimitive_memset_Word8 = external global i8 | |
@ghczmprim_GHCziTypes_TrNameS_static_info = external global i8 | |
@ghczmprim_GHCziTypes_Module_static_info = external global i8 | |
@stg_ap_0_fast = external global i8 | |
@ghczmprim_GHCziTuple_Z0T_closure = external global i8 | |
@newCAF = external global i8 | |
@stg_bh_upd_frame_info = external global i8 | |
@ghczmprim_GHCziCString_unpackCStringzh_info = external global i8 | |
@ghczmprim_GHCziTypes_Izh_static_info = external global i8 | |
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkLengthzumsgzh_info = external global i8 | |
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_Bounds_closure = external global i8 | |
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_info = external global i8 | |
@stg_newPinnedByteArrayzh = external global i8 | |
@base_GHCziForeignPtr_NoFinalizzers_closure = external global i8 | |
@stg_newMutVarzh = external global i8 | |
@base_GHCziForeignPtr_PlainForeignPtr_con_info = external global i8 | |
@base_GHCziIOziBuffer_ReadBuffer_closure = external global i8 | |
@base_GHCziIOziBuffer_WriteBuffer_closure = external global i8 | |
@base_GHCziIOziEncodingziUTF8_zdwutf8zuencode_info = external global i8 | |
@stg_gc_unpt_r1 = external global i8 | |
@stg_traceEventzh = external global i8 | |
@base_GHCziIOziEncodingziFailure_zdwfail_info = external global i8 | |
@base_GHCziList_zdwlenAcc_info = external global i8 | |
@stg_newAlignedPinnedByteArrayzh = external global i8 | |
@stg_gc_unbx_r1 = external global i8 | |
@stg_maskAsyncExceptionszh = external global i8 | |
@stg_unmaskAsyncExceptionszh = external global i8 | |
@stg_raiseIOzh = external global i8 | |
@stg_catchzh = external global i8 | |
@stg_maskUninterruptiblezh = external global i8 | |
@base_GHCziStackziTypes_SrcLoc_static_info = external global i8 | |
@base_GHCziStackziTypes_PushCallStack_static_info = external global i8 | |
@base_GHCziStackziTypes_EmptyCallStack_closure = external global i8 | |
@stg_upd_frame_info = external global i8 | |
@ghczmprim_GHCziTypes_ZMZN_closure = external global i8 | |
@base_GHCziShow_zdwitoszq_info = external global i8 | |
@ghczmprim_GHCziTypes_ZC_con_info = external global i8 | |
@stg_gc_pp = external global i8 | |
@ghczmprim_GHCziTypes_ZC_static_info = external global i8 | |
@base_GHCziShow_shows9_closure = external global i8 | |
@ghczmprim_GHCziCString_unpackAppendCStringzh_info = external global i8 | |
@base_GHCziErr_error_info = external global i8 | |
@stg_noDuplicatezh = external global i8 | |
@stg_newByteArrayzh = external global i8 | |
@stg_getMaskingStatezh = external global i8 | |
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_theGang_closure = external global i8 | |
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_info = external global i8 | |
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziPrimitive_Vector_con_info = external global i8 | |
@ghczmprim_GHCziTypes_Izh_con_info = external global i8 | |
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziIndex_ZCzi_con_info = external global i8 | |
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziReprziUnboxed_AUnboxed_con_info = external global i8 | |
@vectorzm0zi11zi0zi0zmLMwQhhnXj8U3T5Bm1JFxG_DataziVectorziInternalziCheck_checkError_closure = external global i8 | |
@base_GHCziIOziEncodingziFailure_zdwfail_closure = external global i8 | |
@base_GHCziErr_error_closure = external global i8 | |
@repazm3zi4zi1zi2zmJLrFrNxgA8YA04tlaa8ibd_DataziArrayziRepaziEvalziGang_gangIO_closure = external global i8 | |
@llvm.used = appending constant [56 x i8*] [i8* bitcast (%SiZ0_srt_struct* @SiZ0_srt$def to i8*), i8* bitcast (%Test_test1_closure_struct* @Test_test1_closure$def to i8*), i8* bitcast (%Test_test2_closure_struct* @Test_test2_closure$def to i8*), i8* bitcast (%Test_zdwtest1_closure_struct* @Test_zdwtest1_closure$def to i8*), i8* bitcast (%ckqC_str_struct* @ckqC_str$def to i8*), i8* bitcast (%riG2_closure_struct* @riG2_closure$def to i8*), i8* bitcast (%riG1_closure_struct* @riG1_closure$def to i8*), i8* bitcast (%riG0_closure_struct* @riG0_closure$def to i8*), i8* bitcast (%riFZ_closure_struct* @riFZ_closure$def to i8*), i8* bitcast (%riFY_closure_struct* @riFY_closure$def to i8*), i8* bitcast (%riFX_closure_struct* @riFX_closure$def to i8*), i8* bitcast (%ckjZ_str_struct* @ckjZ_str$def to i8*), i8* bitcast (%riFW_closure_struct* @riFW_closure$def to i8*), i8* bitcast (%riFV_closure_struct* @riFV_closure$def to i8*), i8* bitcast (%riFU_closure_struct* @riFU_closure$def to i8*), i8* bitcast (%riFT_closure_struct* @riFT_closure$def to i8*), i8* bitcast (%riFS_closure_struct* @riFS_closure$def to i8*), i8* bitcast (%riFR_closure_struct* @riFR_closure$def to i8*), i8* bitcast (%riFQ_closure_struct* @riFQ_closure$def to i8*), i8* bitcast (%riFP_closure_struct* @riFP_closure$def to i8*), i8* bitcast (%ckeb_str_struct* @ckeb_str$def to i8*), i8* bitcast (%riFO_closure_struct* @riFO_closure$def to i8*), i8* bitcast (%ckdk_str_struct* @ckdk_str$def to i8*), i8* bitcast (%riFN_closure_struct* @riFN_closure$def to i8*), i8* bitcast (%ckct_str_struct* @ckct_str$def to i8*), i8* bitcast (%riFM_closure_struct* @riFM_closure$def to i8*), i8* bitcast (%ckbC_str_struct* @ckbC_str$def to i8*), i8* bitcast (%riFL_closure_struct* @riFL_closure$def to i8*), i8* bitcast (%riFK_closure_struct* @riFK_closure$def to i8*), i8* bitcast (%riFJ_closure_struct* @riFJ_closure$def to i8*), i8* bitcast (%riFI_closure_struct* @riFI_closure$def to i8*), i8* bitcast (%riFH_closure_struct* @riFH_closure$def to i8*), i8* bitcast (%riFG_closure_struct* @riFG_closure$def to i8*), i8* bitcast (%cjAI_str_struct* @cjAI_str$def to i8*), i8* bitcast (%riFF_closure_struct* @riFF_closure$def to i8*), i8* bitcast (%riFE_closure_struct* @riFE_closure$def to i8*), i8* bitcast (%riFD_closure_struct* @riFD_closure$def to i8*), i8* bitcast (%riFC_closure_struct* @riFC_closure$def to i8*), i8* bitcast (%riFB_closure_struct* @riFB_closure$def to i8*), i8* bitcast (%riFA_closure_struct* @riFA_closure$def to i8*), i8* bitcast (%ciZO_str_struct* @ciZO_str$def to i8*), i8* bitcast (%riFz_closure_struct* @riFz_closure$def to i8*), i8* bitcast (%riFy_closure_struct* @riFy_closure$def to i8*), i8* bitcast (%ciY0_str_struct* @ciY0_str$def to i8*), i8* bitcast (%riFx_closure_struct* @riFx_closure$def to i8*), i8* bitcast (%riFw_closure_struct* @riFw_closure$def to i8*), i8* bitcast (%ciX8_str_struct* @ciX8_str$def to i8*), i8* bitcast (%riFv_closure_struct* @riFv_closure$def to i8*), i8* bitcast (%Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure_struct* @Test_zdszdfTargetUezuzdszdfTargetUezuzdcunsafeWriteMVec_closure$def to i8*), i8* bitcast (%riFu_closure_struct* @riFu_closure$def to i8*), i8* bitcast (%Test_zdtrModule_closure_struct* @Test_zdtrModule_closure$def to i8*), i8* bitcast (%Test_zdtrModule2_closure_struct* @Test_zdtrModule2_closure$def to i8*), i8* bitcast (%ciTz_str_struct* @ciTz_str$def to i8*), i8* bitcast (%Test_zdtrModule1_closure_struct* @Test_zdtrModule1_closure$def to i8*), i8* bitcast (%ciTx_str_struct* @ciTx_str$def to i8*), i8* bitcast (%__stginit_Test_struct* @__stginit_Test$def to i8*)], section "llvm.metadata" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment