Skip to content

Instantly share code, notes, and snippets.

@angerman

angerman/Test.ll Secret

Created August 18, 2016 02:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save angerman/32ce9395e73cfea3348fcc7da108cd0a to your computer and use it in GitHub Desktop.
Save angerman/32ce9395e73cfea3348fcc7da108cd0a to your computer and use it in GitHub Desktop.
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