-
-
Save angerman/32ce9395e73cfea3348fcc7da108cd0a 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
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_Main_struct = type <{}> | |
@__stginit_Main$def = internal global %__stginit_Main_struct<{}> | |
@__stginit_Main = alias i8* bitcast (%__stginit_Main_struct* @__stginit_Main$def to i8*) | |
%sLr_closure_struct = type <{i64, i64, i64, i64}> | |
%cM9_str_struct = type <{[12 x i8]}> | |
@sLr_closure$def = internal global %sLr_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @sLr_info$def to i64), i64 0, i64 0, i64 0}> | |
@sLr_closure = internal alias i8* bitcast (%sLr_closure_struct* @sLr_closure$def to i8*) | |
@cM9_str$def = internal constant %cM9_str_struct<{[12 x i8] [i8 72, i8 101, i8 108, i8 108, i8 111, i8 32, i8 87, i8 111, i8 114, i8 108, i8 100, i8 0]}> | |
@cM9_str = internal alias i8* bitcast (%cM9_str_struct* @cM9_str$def to i8*) | |
@sLr_info = internal alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @sLr_info$def to i8*) | |
define internal ghccc void @sLr_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* @SLC_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @sLr_info$def to i64)),i64 0), i64 0, i64 4294967318}> | |
{ | |
cMa: | |
%lsLr = 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 | |
%lcM6 = alloca i64, i32 1 | |
%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 | |
%lnMd = load i64, i64* %R1_Var | |
store i64 %lnMd, i64* %lsLr | |
%lnMe = load i64*, i64** %Sp_Var | |
%lnMf = getelementptr inbounds i64, i64* %lnMe, i32 1 | |
%lnMg = ptrtoint i64* %lnMf to i64 | |
%lnMh = sub i64 %lnMg, 24 | |
%lnMi = icmp ult i64 %lnMh, %SpLim_Arg | |
br i1 %lnMi, label %cMb, label %cMc | |
cMc: | |
%lnMj = ptrtoint i64* %Base_Arg to i64 | |
%lnMk = inttoptr i64 %lnMj to i8* | |
%lnMl = load i64, i64* %lsLr | |
%lnMm = inttoptr i64 %lnMl to i8* | |
%lnMn = 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 | |
%lnMo = call ccc i8* (i8*, i8*) %lnMn( i8* %lnMk, i8* %lnMm ) nounwind | |
%lnMp = ptrtoint i8* %lnMo to i64 | |
store i64 %lnMp, i64* %lcM6 | |
%lnMq = load i64, i64* %lcM6 | |
%lnMr = icmp eq i64 %lnMq, 0 | |
br i1 %lnMr, label %cM8, label %cM7 | |
cM7: | |
%lnMt = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnMs = load i64*, i64** %Sp_Var | |
%lnMu = getelementptr inbounds i64, i64* %lnMs, i32 -2 | |
store i64 %lnMt, i64* %lnMu, !tbaa !1 | |
%lnMw = load i64, i64* %lcM6 | |
%lnMv = load i64*, i64** %Sp_Var | |
%lnMx = getelementptr inbounds i64, i64* %lnMv, i32 -1 | |
store i64 %lnMw, i64* %lnMx, !tbaa !1 | |
%lnMy = ptrtoint %cM9_str_struct* @cM9_str$def to i64 | |
store i64 %lnMy, i64* %R2_Var | |
%lnMz = ptrtoint i8* @ghczmprim_GHCziCString_unpackCStringzh_closure to i64 | |
store i64 %lnMz, i64* %R1_Var | |
%lnMA = load i64*, i64** %Sp_Var | |
%lnMB = getelementptr inbounds i64, i64* %lnMA, i32 -2 | |
%lnMC = ptrtoint i64* %lnMB to i64 | |
%lnMD = inttoptr i64 %lnMC to i64* | |
store i64* %lnMD, i64** %Sp_Var | |
%lnME = bitcast i8* @stg_ap_n_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnMF = load i64*, i64** %Sp_Var | |
%lnMG = load i64, i64* %R1_Var | |
%lnMH = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnME( i64* %Base_Arg, i64* %lnMF, i64* %Hp_Arg, i64 %lnMG, i64 %lnMH, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cM8: | |
%lnMI = load i64, i64* %lsLr | |
%lnMJ = inttoptr i64 %lnMI to i64* | |
%lnMK = load i64, i64* %lnMJ, !tbaa !5 | |
%lnML = inttoptr i64 %lnMK to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnMM = load i64*, i64** %Sp_Var | |
%lnMN = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnML( i64* %Base_Arg, i64* %lnMM, i64* %Hp_Arg, i64 %lnMN, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cMb: | |
%lnMO = load i64, i64* %lsLr | |
store i64 %lnMO, i64* %R1_Var | |
%lnMP = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnMQ = bitcast i64* %lnMP to i64* | |
%lnMR = load i64, i64* %lnMQ, !tbaa !4 | |
%lnMS = inttoptr i64 %lnMR to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnMT = load i64*, i64** %Sp_Var | |
%lnMU = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnMS( i64* %Base_Arg, i64* %lnMT, i64* %Hp_Arg, i64 %lnMU, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Main_main_closure_struct = type <{i64, i64, i64, i64}> | |
@Main_main_closure$def = internal global %Main_main_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main_info$def to i64), i64 0, i64 0, i64 0}> | |
@Main_main_closure = alias i8* bitcast (%Main_main_closure_struct* @Main_main_closure$def to i8*) | |
@Main_main_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main_info$def to i8*) | |
define ghccc void @Main_main_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* @SLC_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main_info$def to i64)),i64 8), i64 0, i64 12884901910}> | |
{ | |
cN1: | |
%lrn2 = 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 | |
%lcMY = alloca i64, i32 1 | |
%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 | |
%lnN4 = load i64, i64* %R1_Var | |
store i64 %lnN4, i64* %lrn2 | |
%lnN5 = load i64*, i64** %Sp_Var | |
%lnN6 = getelementptr inbounds i64, i64* %lnN5, i32 1 | |
%lnN7 = ptrtoint i64* %lnN6 to i64 | |
%lnN8 = sub i64 %lnN7, 24 | |
%lnN9 = icmp ult i64 %lnN8, %SpLim_Arg | |
br i1 %lnN9, label %cN2, label %cN3 | |
cN3: | |
%lnNa = ptrtoint i64* %Base_Arg to i64 | |
%lnNb = inttoptr i64 %lnNa to i8* | |
%lnNc = load i64, i64* %lrn2 | |
%lnNd = inttoptr i64 %lnNc to i8* | |
%lnNe = 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 | |
%lnNf = call ccc i8* (i8*, i8*) %lnNe( i8* %lnNb, i8* %lnNd ) nounwind | |
%lnNg = ptrtoint i8* %lnNf to i64 | |
store i64 %lnNg, i64* %lcMY | |
%lnNh = load i64, i64* %lcMY | |
%lnNi = icmp eq i64 %lnNh, 0 | |
br i1 %lnNi, label %cN0, label %cMZ | |
cMZ: | |
%lnNk = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnNj = load i64*, i64** %Sp_Var | |
%lnNl = getelementptr inbounds i64, i64* %lnNj, i32 -2 | |
store i64 %lnNk, i64* %lnNl, !tbaa !1 | |
%lnNn = load i64, i64* %lcMY | |
%lnNm = load i64*, i64** %Sp_Var | |
%lnNo = getelementptr inbounds i64, i64* %lnNm, i32 -1 | |
store i64 %lnNn, i64* %lnNo, !tbaa !1 | |
%lnNp = ptrtoint %sLr_closure_struct* @sLr_closure$def to i64 | |
store i64 %lnNp, i64* %R2_Var | |
%lnNq = ptrtoint i8* @base_SystemziIO_putStrLn_closure to i64 | |
store i64 %lnNq, i64* %R1_Var | |
%lnNr = load i64*, i64** %Sp_Var | |
%lnNs = getelementptr inbounds i64, i64* %lnNr, i32 -2 | |
%lnNt = ptrtoint i64* %lnNs to i64 | |
%lnNu = inttoptr i64 %lnNt to i64* | |
store i64* %lnNu, i64** %Sp_Var | |
%lnNv = bitcast i8* @stg_ap_p_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnNw = load i64*, i64** %Sp_Var | |
%lnNx = load i64, i64* %R1_Var | |
%lnNy = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnNv( i64* %Base_Arg, i64* %lnNw, i64* %Hp_Arg, i64 %lnNx, i64 %lnNy, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cN0: | |
%lnNz = load i64, i64* %lrn2 | |
%lnNA = inttoptr i64 %lnNz to i64* | |
%lnNB = load i64, i64* %lnNA, !tbaa !5 | |
%lnNC = inttoptr i64 %lnNB to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnND = load i64*, i64** %Sp_Var | |
%lnNE = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnNC( i64* %Base_Arg, i64* %lnND, i64* %Hp_Arg, i64 %lnNE, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cN2: | |
%lnNF = load i64, i64* %lrn2 | |
store i64 %lnNF, i64* %R1_Var | |
%lnNG = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnNH = bitcast i64* %lnNG to i64* | |
%lnNI = load i64, i64* %lnNH, !tbaa !4 | |
%lnNJ = inttoptr i64 %lnNI to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnNK = load i64*, i64** %Sp_Var | |
%lnNL = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnNJ( i64* %Base_Arg, i64* %lnNK, i64* %Hp_Arg, i64 %lnNL, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%ZCMain_main_closure_struct = type <{i64, i64, i64, i64}> | |
@ZCMain_main_closure$def = internal global %ZCMain_main_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i64), i64 0, i64 0, i64 0}> | |
@ZCMain_main_closure = alias i8* bitcast (%ZCMain_main_closure_struct* @ZCMain_main_closure$def to i8*) | |
@ZCMain_main_info = alias i8* bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i8*) | |
define ghccc void @ZCMain_main_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* @SLC_srt to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i64)),i64 24), i64 0, i64 12884901910}> | |
{ | |
cNS: | |
%l01D = 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 | |
%lcNP = alloca i64, i32 1 | |
%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 | |
%lnNV = load i64, i64* %R1_Var | |
store i64 %lnNV, i64* %l01D | |
%lnNW = load i64*, i64** %Sp_Var | |
%lnNX = getelementptr inbounds i64, i64* %lnNW, i32 1 | |
%lnNY = ptrtoint i64* %lnNX to i64 | |
%lnNZ = sub i64 %lnNY, 24 | |
%lnO0 = icmp ult i64 %lnNZ, %SpLim_Arg | |
br i1 %lnO0, label %cNT, label %cNU | |
cNU: | |
%lnO1 = ptrtoint i64* %Base_Arg to i64 | |
%lnO2 = inttoptr i64 %lnO1 to i8* | |
%lnO3 = load i64, i64* %l01D | |
%lnO4 = inttoptr i64 %lnO3 to i8* | |
%lnO5 = 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 | |
%lnO6 = call ccc i8* (i8*, i8*) %lnO5( i8* %lnO2, i8* %lnO4 ) nounwind | |
%lnO7 = ptrtoint i8* %lnO6 to i64 | |
store i64 %lnO7, i64* %lcNP | |
%lnO8 = load i64, i64* %lcNP | |
%lnO9 = icmp eq i64 %lnO8, 0 | |
br i1 %lnO9, label %cNR, label %cNQ | |
cNQ: | |
%lnOb = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%lnOa = load i64*, i64** %Sp_Var | |
%lnOc = getelementptr inbounds i64, i64* %lnOa, i32 -2 | |
store i64 %lnOb, i64* %lnOc, !tbaa !1 | |
%lnOe = load i64, i64* %lcNP | |
%lnOd = load i64*, i64** %Sp_Var | |
%lnOf = getelementptr inbounds i64, i64* %lnOd, i32 -1 | |
store i64 %lnOe, i64* %lnOf, !tbaa !1 | |
%lnOg = ptrtoint %Main_main_closure_struct* @Main_main_closure$def to i64 | |
store i64 %lnOg, i64* %R2_Var | |
%lnOh = ptrtoint i8* @base_GHCziTopHandler_runMainIO_closure to i64 | |
store i64 %lnOh, i64* %R1_Var | |
%lnOi = load i64*, i64** %Sp_Var | |
%lnOj = getelementptr inbounds i64, i64* %lnOi, i32 -2 | |
%lnOk = ptrtoint i64* %lnOj to i64 | |
%lnOl = inttoptr i64 %lnOk to i64* | |
store i64* %lnOl, i64** %Sp_Var | |
%lnOm = bitcast i8* @stg_ap_p_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnOn = load i64*, i64** %Sp_Var | |
%lnOo = load i64, i64* %R1_Var | |
%lnOp = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnOm( i64* %Base_Arg, i64* %lnOn, i64* %Hp_Arg, i64 %lnOo, i64 %lnOp, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cNR: | |
%lnOq = load i64, i64* %l01D | |
%lnOr = inttoptr i64 %lnOq to i64* | |
%lnOs = load i64, i64* %lnOr, !tbaa !5 | |
%lnOt = inttoptr i64 %lnOs to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnOu = load i64*, i64** %Sp_Var | |
%lnOv = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnOt( i64* %Base_Arg, i64* %lnOu, i64* %Hp_Arg, i64 %lnOv, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
cNT: | |
%lnOw = load i64, i64* %l01D | |
store i64 %lnOw, i64* %R1_Var | |
%lnOx = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%lnOy = bitcast i64* %lnOx to i64* | |
%lnOz = load i64, i64* %lnOy, !tbaa !4 | |
%lnOA = inttoptr i64 %lnOz to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%lnOB = load i64*, i64** %Sp_Var | |
%lnOC = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %lnOA( i64* %Base_Arg, i64* %lnOB, i64* %Hp_Arg, i64 %lnOC, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%cOD_str_struct = type <{[5 x i8]}> | |
%rBM_closure_struct = type <{i64, i64}> | |
@cOD_str$def = internal constant %cOD_str_struct<{[5 x i8] [i8 109, i8 97, i8 105, i8 110, i8 0]}> | |
@cOD_str = internal alias i8* bitcast (%cOD_str_struct* @cOD_str$def to i8*) | |
@rBM_closure$def = internal global %rBM_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_static_info to i64), i64 ptrtoint (i8* @cOD_str to i64)}> | |
@rBM_closure = internal alias i8* bitcast (%rBM_closure_struct* @rBM_closure$def to i8*) | |
%cOE_str_struct = type <{[5 x i8]}> | |
%rC0_closure_struct = type <{i64, i64}> | |
@cOE_str$def = internal constant %cOE_str_struct<{[5 x i8] [i8 77, i8 97, i8 105, i8 110, i8 0]}> | |
@cOE_str = internal alias i8* bitcast (%cOE_str_struct* @cOE_str$def to i8*) | |
@rC0_closure$def = internal global %rC0_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_static_info to i64), i64 ptrtoint (i8* @cOE_str to i64)}> | |
@rC0_closure = internal alias i8* bitcast (%rC0_closure_struct* @rC0_closure$def to i8*) | |
%Main_zdtrModule_closure_struct = type <{i64, i64, i64, i64}> | |
@Main_zdtrModule_closure$def = internal global %Main_zdtrModule_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Module_static_info to i64), i64 add (i64 ptrtoint (%rBM_closure_struct* @rBM_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%rC0_closure_struct* @rC0_closure$def to i64),i64 1), i64 3}> | |
@Main_zdtrModule_closure = alias i8* bitcast (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i8*) | |
%SLC_srt_struct = type <{i64, i64, i64, i64, i64}> | |
@SLC_srt$def = internal constant %SLC_srt_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziCString_unpackCStringzh_closure to i64), i64 ptrtoint (i8* @base_SystemziIO_putStrLn_closure to i64), i64 ptrtoint (%sLr_closure_struct* @sLr_closure$def to i64), i64 ptrtoint (i8* @base_GHCziTopHandler_runMainIO_closure to i64), i64 ptrtoint (%Main_main_closure_struct* @Main_main_closure$def to i64)}> | |
@SLC_srt = internal alias i8* bitcast (%SLC_srt_struct* @SLC_srt$def to i8*) | |
@newCAF = external global i8 | |
@stg_bh_upd_frame_info = external global i8 | |
@ghczmprim_GHCziCString_unpackCStringzh_closure = external global i8 | |
@stg_ap_n_fast = external global i8 | |
@base_SystemziIO_putStrLn_closure = external global i8 | |
@stg_ap_p_fast = external global i8 | |
@base_GHCziTopHandler_runMainIO_closure = external global i8 | |
@ghczmprim_GHCziTypes_TrNameS_static_info = external global i8 | |
@ghczmprim_GHCziTypes_Module_static_info = external global i8 | |
@llvm.used = appending constant [11 x i8*] [i8* bitcast (%SLC_srt_struct* @SLC_srt$def to i8*), i8* bitcast (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i8*), i8* bitcast (%rC0_closure_struct* @rC0_closure$def to i8*), i8* bitcast (%cOE_str_struct* @cOE_str$def to i8*), i8* bitcast (%rBM_closure_struct* @rBM_closure$def to i8*), i8* bitcast (%cOD_str_struct* @cOD_str$def to i8*), i8* bitcast (%ZCMain_main_closure_struct* @ZCMain_main_closure$def to i8*), i8* bitcast (%Main_main_closure_struct* @Main_main_closure$def to i8*), i8* bitcast (%cM9_str_struct* @cM9_str$def to i8*), i8* bitcast (%sLr_closure_struct* @sLr_closure$def to i8*), i8* bitcast (%__stginit_Main_struct* @__stginit_Main$def to i8*)], section "llvm.metadata" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment