Skip to content

Instantly share code, notes, and snippets.

@TerrorJack
Created December 11, 2017 10:03
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 TerrorJack/f6467a43cdbfcef8b4ec77a8b5624abe to your computer and use it in GitHub Desktop.
Save TerrorJack/f6467a43cdbfcef8b4ec77a8b5624abe to your computer and use it in GitHub Desktop.
/* GHC_PACKAGES base ghc-prim integer-simple
*/
#include "Stg.h"
EB_(Main_zdtrModule4_bytes);
const char Main_zdtrModule4_bytes[] = "main";
ERO_(ghczmprim_GHCziTypes_TrNameS_con_info);
EB_(Main_zdtrModule4_bytes);
EC_(Main_zdtrModule3_closure);
StgWord Main_zdtrModule3_closure[]__attribute__((aligned(8)))= {
(W_)&ghczmprim_GHCziTypes_TrNameS_con_info, (W_)&Main_zdtrModule4_bytes
};
EB_(Main_zdtrModule2_bytes);
const char Main_zdtrModule2_bytes[] = "Main";
ERO_(ghczmprim_GHCziTypes_TrNameS_con_info);
EB_(Main_zdtrModule2_bytes);
EC_(Main_zdtrModule1_closure);
StgWord Main_zdtrModule1_closure[]__attribute__((aligned(8)))= {
(W_)&ghczmprim_GHCziTypes_TrNameS_con_info, (W_)&Main_zdtrModule2_bytes
};
ERO_(ghczmprim_GHCziTypes_Module_con_info);
EC_(Main_zdtrModule1_closure);
EC_(Main_zdtrModule3_closure);
EC_(Main_zdtrModule_closure);
StgWord Main_zdtrModule_closure[]__attribute__((aligned(8)))= {
(W_)&ghczmprim_GHCziTypes_Module_con_info, ((W_)&Main_zdtrModule3_closure+1), ((W_)&Main_zdtrModule1_closure+1), 0x3UL
};
ERO_(Main_zdwfact_info);
EC_(Main_zdwfact_closure);
StgWord Main_zdwfact_closure[]__attribute__((aligned(8)))= {
(W_)&Main_zdwfact_info
};
IRO_(c4Cn_info);
EC_(Main_zdwfact_closure);
EF_(Main_zdwfact_entry);
FN_(Main_zdwfact_entry) {
W_ _s4BX;
_c4Cg:
if ((W_)(((W_)Sp-16) < (W_)SpLim)) goto _c4Ch; else goto _c4Ci;
_c4Ce:
Sp[-1] = (W_)&c4Cn_info;
Sp[-2] = _s4BX-1;
*Sp = _s4BX;
Sp=Sp-2;
JMP_((W_)&Main_zdwfact_entry);
_c4Cf:
R1.w = 0x1UL;
Sp=Sp+1;
JMP_(*((P_)(*Sp)));
_c4Ch:
R1.w = (W_)&Main_zdwfact_closure;
JMP_(stg_gc_fun);
_c4Ci:
_s4BX = *Sp;
switch (_s4BX) {
case 0x0UL: goto _c4Cf;
default: goto _c4Ce;
}
}
EF_(Main_zdwfact_entry);
ERO_(Main_zdwfact_info);
const StgWord Main_zdwfact_info[]__attribute__((aligned(8)))= {
(W_)&Main_zdwfact_entry, 0x0UL, 0xeUL, 0x100000004UL
};
IF_(_c4Cn) {
_c4Cn:
R1.w = (Sp[1]) * R1.w;
Sp=Sp+2;
JMP_(*((P_)(*Sp)));
}
IF_(_c4Cn);
IRO_(c4Cn_info);
static const StgWord c4Cn_info[]__attribute__((aligned(8)))= {
(W_)&_c4Cn, 0x41UL, 0x1eUL
};
ERO_(Main_main2_info);
EC_(Main_main2_closure);
StgWord Main_main2_closure[]__attribute__((aligned(8)))= {
(W_)&Main_main2_info, 0x0UL, 0x0UL, 0x0UL
};
IRO_(c4Cz_info);
EF_(Main_zdwfact_entry);
EFF_(newCAF);
FN_(Main_main2_entry) {
W_ _c4Cw;
W_ _r4BQ;
_c4CB:
_r4BQ = R1.w;
if ((W_)(((W_)Sp-48) < (W_)SpLim)) goto _c4CH; else goto _c4CI;
_c4Cx:
Sp[-2] = (W_)&stg_bh_upd_frame_info;
Sp[-1] = _c4Cw;
Sp[-3] = (W_)&c4Cz_info;
Sp[-4] = 0x5UL;
Sp=Sp-4;
JMP_((W_)&Main_zdwfact_entry);
_c4Cy:
JMP_(*((P_)(*((P_)_r4BQ))));
_c4CH:
R1.w = _r4BQ;
JMP_(stg_gc_enter_1);
_c4CI:
{void * (*ghcFunPtr)(void *, void *);
ghcFunPtr = ((void * (*)(void *, void *))newCAF);
_c4Cw = (W_)ghcFunPtr((void *)(W_)BaseReg, (void *)_r4BQ);;}
if ((W_)(_c4Cw == 0x0UL)) goto _c4Cy; else goto _c4Cx;
}
EF_(Main_main2_entry);
ERO_(Main_main2_info);
const StgWord Main_main2_info[]__attribute__((aligned(8)))= {
(W_)&Main_main2_entry, 0x0UL, 0x15UL
};
EC_(ghczmprim_GHCziTypes_ZMZN_closure);
IRO_(c4CE_info);
EF_(base_GHCziShow_zdwshowSignedInt_entry);
IF_(_c4Cz) {
_c4Cz:
*Sp = (W_)&c4CE_info;
Sp[-3] = 0x0UL;
Sp[-2] = R1.w;
Sp[-1] = (W_)&ghczmprim_GHCziTypes_ZMZN_closure+1;
Sp=Sp-3;
JMP_((W_)&base_GHCziShow_zdwshowSignedInt_entry);
}
IF_(_c4Cz);
IRO_(c4Cz_info);
static const StgWord c4Cz_info[]__attribute__((aligned(8)))= {
(W_)&_c4Cz, 0x0UL, 0x1eUL
};
ERO_(ghczmprim_GHCziTypes_ZC_con_info);
IF_(_c4CE) {
W_ _s4C2;
_c4CE:
Hp=Hp+3;
_s4C2 = R1.w;
if ((W_)((W_)Hp > (W_)HpLim)) goto _c4CM; else goto _c4CL;
_c4CL:
Hp[-2] = (W_)&ghczmprim_GHCziTypes_ZC_con_info;
Hp[-1] = _s4C2;
*Hp = *Sp;
R1.w = (W_)Hp-14;
Sp=Sp+2;
JMP_(*((P_)(*Sp)));
_c4CM:
HpAlloc = 0x18UL;
R1.w = _s4C2;
JMP_((W_)&stg_gc_pp);
}
IF_(_c4CE);
IRO_(c4CE_info);
static const StgWord c4CE_info[]__attribute__((aligned(8)))= {
(W_)&_c4CE, 0x0UL, 0x1eUL
};
EB_(Main_main4_bytes);
const char Main_main4_bytes[] = "Hello fact";
ERO_(Main_main3_info);
EC_(Main_main3_closure);
StgWord Main_main3_closure[]__attribute__((aligned(8)))= {
(W_)&Main_main3_info, 0x0UL, 0x0UL, 0x0UL
};
EF_(ghczmprim_GHCziCString_unpackCStringzh_entry);
EB_(Main_main4_bytes);
EFF_(newCAF);
FN_(Main_main3_entry) {
W_ _c4CQ;
W_ _r4BS;
_c4CT:
_r4BS = R1.w;
if ((W_)(((W_)Sp-24) < (W_)SpLim)) goto _c4CU; else goto _c4CV;
_c4CR:
Sp[-2] = (W_)&stg_bh_upd_frame_info;
Sp[-1] = _c4CQ;
Sp[-3] = (W_)&Main_main4_bytes;
Sp=Sp-3;
JMP_((W_)&ghczmprim_GHCziCString_unpackCStringzh_entry);
_c4CS:
JMP_(*((P_)(*((P_)_r4BS))));
_c4CU:
R1.w = _r4BS;
JMP_(stg_gc_enter_1);
_c4CV:
{void * (*ghcFunPtr)(void *, void *);
ghcFunPtr = ((void * (*)(void *, void *))newCAF);
_c4CQ = (W_)ghcFunPtr((void *)(W_)BaseReg, (void *)_r4BS);;}
if ((W_)(_c4CQ == 0x0UL)) goto _c4CS; else goto _c4CR;
}
EF_(Main_main3_entry);
ERO_(Main_main3_info);
const StgWord Main_main3_info[]__attribute__((aligned(8)))= {
(W_)&Main_main3_entry, 0x0UL, 0x15UL
};
ERO_(Main_main1_info);
EC_(Main_main1_closure);
StgWord Main_main1_closure[]__attribute__((aligned(8)))= {
(W_)&Main_main1_info, 0x0UL
};
EC_(ghczmprim_GHCziTypes_True_closure);
IRO_(c4D0_info);
EC_(base_GHCziIOziHandleziFD_stdout_closure);
EF_(base_GHCziIOziHandleziText_hPutStr2_entry);
EC_(Main_main1_closure);
EC_(Main_main3_closure);
FN_(Main_main1_entry) {
_c4D2:
if ((W_)(((W_)Sp-32) < (W_)SpLim)) goto _c4D3; else goto _c4D4;
_c4D3:
R1.w = (W_)&Main_main1_closure;
JMP_(stg_gc_fun);
_c4D4:
Sp[-1] = (W_)&c4D0_info;
Sp[-4] = (W_)&base_GHCziIOziHandleziFD_stdout_closure;
Sp[-3] = (W_)&Main_main3_closure;
Sp[-2] = (W_)&ghczmprim_GHCziTypes_True_closure+2;
Sp=Sp-4;
JMP_((W_)&base_GHCziIOziHandleziText_hPutStr2_entry);
}
EF_(Main_main1_entry);
IRO_(S4D6_srt);
ERO_(Main_main1_info);
const StgWord Main_main1_info[]__attribute__((aligned(8)))= {
(W_)&Main_main1_entry, 0x0UL, 0x1f0000000eUL, 0x100000003UL, (W_)&S4D6_srt
};
EC_(ghczmprim_GHCziTypes_True_closure);
EC_(base_GHCziIOziHandleziFD_stdout_closure);
EF_(base_GHCziIOziHandleziText_hPutStr2_entry);
EC_(Main_main2_closure);
IF_(_c4D0) {
_c4D0:
Sp[-2] = (W_)&base_GHCziIOziHandleziFD_stdout_closure;
Sp[-1] = (W_)&Main_main2_closure;
*Sp = (W_)&ghczmprim_GHCziTypes_True_closure+2;
Sp=Sp-2;
JMP_((W_)&base_GHCziIOziHandleziText_hPutStr2_entry);
}
IF_(_c4D0);
IRO_(S4D6_srt);
IRO_(c4D0_info);
static const StgWord c4D0_info[]__attribute__((aligned(8)))= {
(W_)&_c4D0, 0x0UL, 0xb0000001eUL, (W_)&S4D6_srt
};
ERO_(Main_main_info);
EC_(Main_main_closure);
StgWord Main_main_closure[]__attribute__((aligned(8)))= {
(W_)&Main_main_info, 0x0UL
};
EF_(Main_main1_entry);
FN_(Main_main_entry) {
_c4Db:
JMP_((W_)&Main_main1_entry);
}
EF_(Main_main_entry);
IRO_(S4D6_srt);
ERO_(Main_main_info);
const StgWord Main_main_info[]__attribute__((aligned(8)))= {
(W_)&Main_main_entry, 0x0UL, 0x10000000eUL, 0x100000003UL, ((W_)&S4D6_srt+16)
};
ERO_(Main_main5_info);
EC_(Main_main5_closure);
StgWord Main_main5_closure[]__attribute__((aligned(8)))= {
(W_)&Main_main5_info, 0x0UL
};
EF_(base_GHCziTopHandler_runMainIO1_entry);
EC_(Main_main1_closure);
EC_(Main_main5_closure);
FN_(Main_main5_entry) {
_c4Di:
if ((W_)(((W_)Sp-8) < (W_)SpLim)) goto _c4Dj; else goto _c4Dk;
_c4Dj:
R1.w = (W_)&Main_main5_closure;
JMP_(stg_gc_fun);
_c4Dk:
Sp[-1] = (W_)&Main_main1_closure+1;
Sp=Sp-1;
JMP_((W_)&base_GHCziTopHandler_runMainIO1_entry);
}
EF_(Main_main5_entry);
IRO_(S4D6_srt);
ERO_(Main_main5_info);
const StgWord Main_main5_info[]__attribute__((aligned(8)))= {
(W_)&Main_main5_entry, 0x0UL, 0x190000000eUL, 0x100000003UL, ((W_)&S4D6_srt+16)
};
ERO_(ZCMain_main_info);
EC_(ZCMain_main_closure);
StgWord ZCMain_main_closure[]__attribute__((aligned(8)))= {
(W_)&ZCMain_main_info, 0x0UL
};
EF_(Main_main5_entry);
FN_(ZCMain_main_entry) {
_c4Dp:
JMP_((W_)&Main_main5_entry);
}
EF_(ZCMain_main_entry);
IRO_(S4D6_srt);
ERO_(ZCMain_main_info);
const StgWord ZCMain_main_info[]__attribute__((aligned(8)))= {
(W_)&ZCMain_main_entry, 0x0UL, 0x10000000eUL, 0x100000003UL, ((W_)&S4D6_srt+48)
};
EC_(base_GHCziIOziHandleziFD_stdout_closure);
EC_(base_GHCziIOziHandleziText_hPutStr2_closure);
EC_(base_GHCziTopHandler_runMainIO1_closure);
EC_(Main_main1_closure);
EC_(Main_main2_closure);
EC_(Main_main3_closure);
EC_(Main_main5_closure);
IRO_(S4D6_srt);
static const StgWord S4D6_srt[]__attribute__((aligned(8)))= {
(W_)&base_GHCziIOziHandleziFD_stdout_closure, (W_)&base_GHCziIOziHandleziText_hPutStr2_closure, (W_)&Main_main1_closure, (W_)&Main_main2_closure, (W_)&Main_main3_closure, (W_)&base_GHCziTopHandler_runMainIO1_closure, (W_)&Main_main5_closure
};
==================== Raw Cmm ====================
2017-12-11 08:58:30.2994579 UTC
[]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3016602 UTC
[section ""cstring" . Main.$trModule4_bytes" {
Main.$trModule4_bytes:
I8[] [109,97,105,110]
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3031015 UTC
[section ""data" . Main.$trModule3_closure" {
Main.$trModule3_closure:
const GHC.Types.TrNameS_con_info;
const Main.$trModule4_bytes;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3050049 UTC
[section ""cstring" . Main.$trModule2_bytes" {
Main.$trModule2_bytes:
I8[] [77,97,105,110]
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3066185 UTC
[section ""data" . Main.$trModule1_closure" {
Main.$trModule1_closure:
const GHC.Types.TrNameS_con_info;
const Main.$trModule2_bytes;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3081104 UTC
[section ""data" . Main.$trModule_closure" {
Main.$trModule_closure:
const GHC.Types.Module_con_info;
const Main.$trModule3_closure+1;
const Main.$trModule1_closure+1;
const 3;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3106549 UTC
[section ""data" . Main.$wfact_closure" {
Main.$wfact_closure:
const Main.$wfact_info;
},
Main.$wfact_entry() // [R1]
{ []
}
{offset
c4Cg: // global
if ((Sp + -16) < SpLim) (likely: False) goto c4Ch; else goto c4Ci;
c4Ch: // global
R1 = Main.$wfact_closure;
call (stg_gc_fun)(R1) args: 16, res: 0, upd: 8;
c4Ci: // global
_s4BX::I64 = I64[Sp];
switch [-9223372036854775808 .. 9223372036854775807] _s4BX::I64 {
case 0 : goto c4Cf;
default: goto c4Ce;
}
c4Cf: // global
R1 = 1;
Sp = Sp + 8;
call (I64[P64[Sp]])(R1) args: 8, res: 0, upd: 8;
c4Ce: // global
I64[Sp - 8] = block_c4Cn_info;
I64[Sp - 16] = _s4BX::I64 - 1;
I64[Sp] = _s4BX::I64;
Sp = Sp - 16;
call Main.$wfact_entry() args: 16, res: 8, upd: 8;
}
},
section ""relreadonly" . Main.$wfact_info" {
Main.$wfact_info:
const Main.$wfact_entry;
const 0;
const 14;
const 4294967300;
},
_c4Cn() // [R1]
{ []
}
{offset
c4Cn: // global
R1 = I64[Sp + 8] * R1;
Sp = Sp + 16;
call (I64[P64[Sp]])(R1) args: 8, res: 0, upd: 8;
}
},
section ""relreadonly" . block_c4Cn_info" {
block_c4Cn_info:
const _c4Cn;
const 65;
const 30;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3139996 UTC
[section ""data" . Main.main2_closure" {
Main.main2_closure:
const Main.main2_info;
const 0;
const 0;
const 0;
},
Main.main2_entry() // [R1]
{ []
}
{offset
c4CB: // global
_r4BQ::P64 = R1;
if ((Sp + -48) < SpLim) (likely: False) goto c4CH; else goto c4CI;
c4CH: // global
R1 = _r4BQ::P64;
call (stg_gc_enter_1)(R1) args: 8, res: 0, upd: 8;
c4CI: // global
(_c4Cw::I64) = call "ccall" arg hints: [PtrHint,
PtrHint] result hints: [PtrHint] newCAF(BaseReg, _r4BQ::P64);
if (_c4Cw::I64 == 0) goto c4Cy; else goto c4Cx;
c4Cy: // global
call (I64[I64[_r4BQ::P64]])() args: 8, res: 0, upd: 8;
c4Cx: // global
I64[Sp - 16] = stg_bh_upd_frame_info;
I64[Sp - 8] = _c4Cw::I64;
I64[Sp - 24] = block_c4Cz_info;
I64[Sp - 32] = 5;
Sp = Sp - 32;
call Main.$wfact_entry() args: 16, res: 8, upd: 24;
}
},
section ""relreadonly" . Main.main2_info" {
Main.main2_info:
const Main.main2_entry;
const 0;
const 21;
},
_c4Cz() // [R1]
{ []
}
{offset
c4Cz: // global
I64[Sp] = block_c4CE_info;
I64[Sp - 24] = 0;
I64[Sp - 16] = R1;
P64[Sp - 8] = GHC.Types.[]_closure+1;
Sp = Sp - 24;
call GHC.Show.$wshowSignedInt_entry() args: 32, res: 16, upd: 24;
}
},
section ""relreadonly" . block_c4Cz_info" {
block_c4Cz_info:
const _c4Cz;
const 0;
const 30;
},
_c4CE() // [R1]
{ []
}
{offset
c4CE: // global
Hp = Hp + 24;
_s4C2::P64 = R1;
if (Hp > HpLim) (likely: False) goto c4CM; else goto c4CL;
c4CM: // global
HpAlloc = 24;
R1 = _s4C2::P64;
call stg_gc_pp(R1) args: 16, res: 16, upd: 24;
c4CL: // global
I64[Hp - 16] = :_con_info;
P64[Hp - 8] = _s4C2::P64;
P64[Hp] = P64[Sp];
R1 = Hp - 14;
Sp = Sp + 16;
call (I64[P64[Sp]])(R1) args: 24, res: 0, upd: 24;
}
},
section ""relreadonly" . block_c4CE_info" {
block_c4CE_info:
const _c4CE;
const 0;
const 30;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3166699 UTC
[section ""cstring" . Main.main4_bytes" {
Main.main4_bytes:
I8[] [72,101,108,108,111,32,102,97,99,116]
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3181723 UTC
[section ""data" . Main.main3_closure" {
Main.main3_closure:
const Main.main3_info;
const 0;
const 0;
const 0;
},
Main.main3_entry() // [R1]
{ []
}
{offset
c4CT: // global
_r4BS::P64 = R1;
if ((Sp + -24) < SpLim) (likely: False) goto c4CU; else goto c4CV;
c4CU: // global
R1 = _r4BS::P64;
call (stg_gc_enter_1)(R1) args: 8, res: 0, upd: 8;
c4CV: // global
(_c4CQ::I64) = call "ccall" arg hints: [PtrHint,
PtrHint] result hints: [PtrHint] newCAF(BaseReg, _r4BS::P64);
if (_c4CQ::I64 == 0) goto c4CS; else goto c4CR;
c4CS: // global
call (I64[I64[_r4BS::P64]])() args: 8, res: 0, upd: 8;
c4CR: // global
I64[Sp - 16] = stg_bh_upd_frame_info;
I64[Sp - 8] = _c4CQ::I64;
I64[Sp - 24] = Main.main4_bytes;
Sp = Sp - 24;
call GHC.CString.unpackCString#_entry() args: 32, res: 0, upd: 24;
}
},
section ""relreadonly" . Main.main3_info" {
Main.main3_info:
const Main.main3_entry;
const 0;
const 21;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3215791 UTC
[section ""data" . Main.main1_closure" {
Main.main1_closure:
const Main.main1_info;
const 0;
},
Main.main1_entry() // []
{ []
}
{offset
c4D2: // global
if ((Sp + -32) < SpLim) (likely: False) goto c4D3; else goto c4D4;
c4D3: // global
R1 = Main.main1_closure;
call (stg_gc_fun)(R1) args: 8, res: 0, upd: 8;
c4D4: // global
I64[Sp - 8] = block_c4D0_info;
P64[Sp - 32] = GHC.IO.Handle.FD.stdout_closure;
P64[Sp - 24] = Main.main3_closure;
P64[Sp - 16] = GHC.Types.True_closure+2;
Sp = Sp - 32;
call GHC.IO.Handle.Text.hPutStr2_entry() args: 32, res: 8, upd: 8;
}
},
section ""relreadonly" . Main.main1_info" {
Main.main1_info:
const Main.main1_entry;
const 0;
const 133143986190;
const 4294967299;
const S4D6_srt;
},
_c4D0() // []
{ []
}
{offset
c4D0: // global
P64[Sp - 16] = GHC.IO.Handle.FD.stdout_closure;
P64[Sp - 8] = Main.main2_closure;
P64[Sp] = GHC.Types.True_closure+2;
Sp = Sp - 16;
call GHC.IO.Handle.Text.hPutStr2_entry() args: 32, res: 0, upd: 8;
}
},
section ""relreadonly" . block_c4D0_info" {
block_c4D0_info:
const _c4D0;
const 0;
const 47244640286;
const S4D6_srt;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3248373 UTC
[section ""data" . Main.main_closure" {
Main.main_closure:
const Main.main_info;
const 0;
},
Main.main_entry() // []
{ []
}
{offset
c4Db: // global
call Main.main1_entry() args: 8, res: 0, upd: 8;
}
},
section ""relreadonly" . Main.main_info" {
Main.main_info:
const Main.main_entry;
const 0;
const 4294967310;
const 4294967299;
const S4D6_srt+16;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3265868 UTC
[section ""data" . Main.main5_closure" {
Main.main5_closure:
const Main.main5_info;
const 0;
},
Main.main5_entry() // []
{ []
}
{offset
c4Di: // global
if ((Sp + -8) < SpLim) (likely: False) goto c4Dj; else goto c4Dk;
c4Dj: // global
R1 = Main.main5_closure;
call (stg_gc_fun)(R1) args: 8, res: 0, upd: 8;
c4Dk: // global
P64[Sp - 8] = Main.main1_closure+1;
Sp = Sp - 8;
call GHC.TopHandler.runMainIO1_entry() args: 16, res: 0, upd: 8;
}
},
section ""relreadonly" . Main.main5_info" {
Main.main5_info:
const Main.main5_entry;
const 0;
const 107374182414;
const 4294967299;
const S4D6_srt+16;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3289089 UTC
[section ""data" . :Main.main_closure" {
:Main.main_closure:
const :Main.main_info;
const 0;
},
:Main.main_entry() // []
{ []
}
{offset
c4Dp: // global
call Main.main5_entry() args: 8, res: 0, upd: 8;
}
},
section ""relreadonly" . :Main.main_info" {
:Main.main_info:
const :Main.main_entry;
const 0;
const 4294967310;
const 4294967299;
const S4D6_srt+48;
}]
==================== Raw Cmm ====================
2017-12-11 08:58:30.3302482 UTC
[section ""relreadonly" . S4D6_srt" {
S4D6_srt:
const GHC.IO.Handle.FD.stdout_closure;
const GHC.IO.Handle.Text.hPutStr2_closure;
const Main.main1_closure;
const Main.main2_closure;
const Main.main3_closure;
const GHC.TopHandler.runMainIO1_closure;
const Main.main5_closure;
}]
fact :: Int -> Int
fact 0 = 1
fact n = n * fact (n - 1)
main :: IO ()
main = do
putStrLn "Hello fact"
print $ fact 5
[ []
, [ CmmData
(Section CString (CLabel "Main_zdtrModule4_bytes"))
(Statics
(CLabel "Main_zdtrModule4_bytes")
[ CmmString [ 109 , 97 , 105 , 110 ] ])
]
, [ CmmData
(Section Data (CLabel "Main_zdtrModule3_closure"))
(Statics
(CLabel "Main_zdtrModule3_closure")
[ CmmStaticLit
(CmmLabel (CLabel "ghczmprim_GHCziTypes_TrNameS_con_info"))
, CmmStaticLit (CmmLabel (CLabel "Main_zdtrModule4_bytes"))
])
]
, [ CmmData
(Section CString (CLabel "Main_zdtrModule2_bytes"))
(Statics
(CLabel "Main_zdtrModule2_bytes")
[ CmmString [ 77 , 97 , 105 , 110 ] ])
]
, [ CmmData
(Section Data (CLabel "Main_zdtrModule1_closure"))
(Statics
(CLabel "Main_zdtrModule1_closure")
[ CmmStaticLit
(CmmLabel (CLabel "ghczmprim_GHCziTypes_TrNameS_con_info"))
, CmmStaticLit (CmmLabel (CLabel "Main_zdtrModule2_bytes"))
])
]
, [ CmmData
(Section Data (CLabel "Main_zdtrModule_closure"))
(Statics
(CLabel "Main_zdtrModule_closure")
[ CmmStaticLit
(CmmLabel (CLabel "ghczmprim_GHCziTypes_Module_con_info"))
, CmmStaticLit (CmmLabelOff (CLabel "Main_zdtrModule3_closure") 1)
, CmmStaticLit (CmmLabelOff (CLabel "Main_zdtrModule1_closure") 1)
, CmmStaticLit (CmmInt 3 W64)
])
]
, [ CmmData
(Section Data (CLabel "Main_zdwfact_closure"))
(Statics
(CLabel "Main_zdwfact_closure")
[ CmmStaticLit (CmmLabel (CLabel "Main_zdwfact_info")) ])
, CmmProc
(LM (UM (fromList [])))
(CLabel "Main_zdwfact_entry")
[ VanillaReg 1 VNonGcPtr ]
CmmGraph
{ g_entry = L7133701809754883494
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883492
, BlockCC
(CmmEntry L7133701809754883492 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmLit (CmmLabel (CLabel "c4DH_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-16))
(CmmRegOff
(CmmLocal (LocalReg s4BX (CmmType "I64"))) (-1))))
(CmmStore
(CmmReg (CmmGlobal Sp))
(CmmReg (CmmLocal (LocalReg s4BX (CmmType "I64"))))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-16))))
CmmCall
{ cml_target = CmmLit (CmmLabel (CLabel "Main_zdwfact_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 16
, cml_ret_args = 8
, cml_ret_off = 8
}
)
, ( 7133701809754883493
, BlockCC
(CmmEntry L7133701809754883493 GlobalScope)
(BSnoc
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VNonGcPtr)) (CmmLit (CmmInt 1 W64))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) 8)))
CmmCall
{ cml_target =
CmmLoad
(CmmLoad (CmmReg (CmmGlobal Sp)) (CmmType "P64"))
(CmmType "I64")
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VNonGcPtr ]
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883494
, BlockCC
(CmmEntry L7133701809754883494 GlobalScope)
BNil
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_U_Lt W64)
[ CmmRegOff (CmmGlobal Sp) (-16) , CmmReg (CmmGlobal SpLim) ]
, cml_true = L7133701809754883495
, cml_false = L7133701809754883496
, cml_likely = Just False
}
)
, ( 7133701809754883495
, BlockCC
(CmmEntry L7133701809754883495 GlobalScope)
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmLit (CmmLabel (CLabel "Main_zdwfact_closure")))))
CmmCall
{ cml_target = CmmReg (CmmGlobal GCFun)
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 16
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883496
, BlockCC
(CmmEntry L7133701809754883496 GlobalScope)
(BMiddle
(CmmAssign
(CmmLocal (LocalReg s4BX (CmmType "I64")))
(CmmLoad (CmmReg (CmmGlobal Sp)) (CmmType "I64"))))
(CmmSwitch
(CmmReg (CmmLocal (LocalReg s4BX (CmmType "I64"))))
(SwitchTargets
True
( -9223372036854775808 , 9223372036854775807 )
(Just L7133701809754883492)
(fromList [ ( 0 , L7133701809754883493 ) ])))
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "Main_zdwfact_info"))
(Statics
(CLabel "Main_zdwfact_info")
[ CmmStaticLit (CmmLabel (CLabel "Main_zdwfact_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 14 W64)
, CmmStaticLit (CmmInt 4294967300 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "_c4DH")
[ VanillaReg 1 VNonGcPtr ]
CmmGraph
{ g_entry = L7133701809754883501
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883501
, BlockCC
(CmmEntry L7133701809754883501 GlobalScope)
(BSnoc
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VNonGcPtr))
(CmmMachOp
(MO_Mul W64)
[ CmmLoad (CmmRegOff (CmmGlobal Sp) 8) (CmmType "I64")
, CmmReg (CmmGlobal (VanillaReg 1 VNonGcPtr))
])))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) 16)))
CmmCall
{ cml_target =
CmmLoad
(CmmLoad (CmmReg (CmmGlobal Sp)) (CmmType "P64"))
(CmmType "I64")
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VNonGcPtr ]
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "c4DH_info"))
(Statics
(CLabel "c4DH_info")
[ CmmStaticLit (CmmLabel (CLabel "_c4DH"))
, CmmStaticLit (CmmInt 65 W64)
, CmmStaticLit (CmmInt 30 W64)
])
]
, [ CmmData
(Section Data (CLabel "Main_main2_closure"))
(Statics
(CLabel "Main_main2_closure")
[ CmmStaticLit (CmmLabel (CLabel "Main_main2_info"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 0 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "Main_main2_entry")
[ VanillaReg 1 VGcPtr ]
CmmGraph
{ g_entry = L7133701809754883515
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883511
, BlockCC
(CmmEntry L7133701809754883511 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-16))
(CmmLit
(CmmLabel (CLabel "stg_bh_upd_frame_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmReg (CmmLocal (LocalReg c4DQ (CmmType "I64"))))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-24))
(CmmLit (CmmLabel (CLabel "c4DT_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-32)) (CmmLit (CmmInt 5 W64))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-32))))
CmmCall
{ cml_target = CmmLit (CmmLabel (CLabel "Main_zdwfact_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 16
, cml_ret_args = 8
, cml_ret_off = 24
}
)
, ( 7133701809754883512
, BlockCC
(CmmEntry L7133701809754883512 GlobalScope)
BNil
CmmCall
{ cml_target =
CmmLoad
(CmmLoad
(CmmReg (CmmLocal (LocalReg r4BQ (CmmType "P64"))))
(CmmType "I64"))
(CmmType "I64")
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883515
, BlockCC
(CmmEntry L7133701809754883515 GlobalScope)
(BMiddle
(CmmAssign
(CmmLocal (LocalReg r4BQ (CmmType "P64")))
(CmmReg (CmmGlobal (VanillaReg 1 VGcPtr)))))
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_U_Lt W64)
[ CmmRegOff (CmmGlobal Sp) (-48) , CmmReg (CmmGlobal SpLim) ]
, cml_true = L7133701809754883521
, cml_false = L7133701809754883522
, cml_likely = Just False
}
)
, ( 7133701809754883521
, BlockCC
(CmmEntry L7133701809754883521 GlobalScope)
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmReg (CmmLocal (LocalReg r4BQ (CmmType "P64"))))))
CmmCall
{ cml_target = CmmReg (CmmGlobal GCEnter1)
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883522
, BlockCC
(CmmEntry L7133701809754883522 GlobalScope)
(BMiddle
(CmmUnsafeForeignCall
(ForeignTarget
(CmmLit (CmmLabel (CLabel "newCAF")))
(ForeignConvention
CCallConv
[ AddrHint , AddrHint ]
[ AddrHint ]
CmmMayReturn))
[ LocalReg c4DQ (CmmType "I64") ]
[ CmmReg (CmmGlobal BaseReg)
, CmmReg (CmmLocal (LocalReg r4BQ (CmmType "P64")))
]))
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_Eq W64)
[ CmmReg (CmmLocal (LocalReg c4DQ (CmmType "I64")))
, CmmLit (CmmInt 0 W64)
]
, cml_true = L7133701809754883512
, cml_false = L7133701809754883511
, cml_likely = Nothing
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "Main_main2_info"))
(Statics
(CLabel "Main_main2_info")
[ CmmStaticLit (CmmLabel (CLabel "Main_main2_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 21 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "_c4DT")
[ VanillaReg 1 VNonGcPtr ]
CmmGraph
{ g_entry = L7133701809754883513
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883513
, BlockCC
(CmmEntry L7133701809754883513 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmReg (CmmGlobal Sp))
(CmmLit (CmmLabel (CLabel "c4DY_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-24))
(CmmLit (CmmInt 0 W64))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-16))
(CmmReg (CmmGlobal (VanillaReg 1 VNonGcPtr)))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmLit
(CmmLabelOff
(CLabel "ghczmprim_GHCziTypes_ZMZN_closure") 1))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-24))))
CmmCall
{ cml_target =
CmmLit
(CmmLabel (CLabel "base_GHCziShow_zdwshowSignedInt_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 32
, cml_ret_args = 16
, cml_ret_off = 24
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "c4DT_info"))
(Statics
(CLabel "c4DT_info")
[ CmmStaticLit (CmmLabel (CLabel "_c4DT"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 30 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "_c4DY")
[ VanillaReg 1 VGcPtr ]
CmmGraph
{ g_entry = L7133701809754883518
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883518
, BlockCC
(CmmEntry L7133701809754883518 GlobalScope)
(BSnoc
(BMiddle (CmmAssign (CmmGlobal Hp) (CmmRegOff (CmmGlobal Hp) 24)))
(CmmAssign
(CmmLocal (LocalReg s4C2 (CmmType "P64")))
(CmmReg (CmmGlobal (VanillaReg 1 VGcPtr)))))
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_U_Gt W64)
[ CmmReg (CmmGlobal Hp) , CmmReg (CmmGlobal HpLim) ]
, cml_true = L7133701809754883526
, cml_false = L7133701809754883525
, cml_likely = Just False
}
)
, ( 7133701809754883525
, BlockCC
(CmmEntry L7133701809754883525 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Hp) (-16))
(CmmLit
(CmmLabel
(CLabel "ghczmprim_GHCziTypes_ZC_con_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Hp) (-8))
(CmmReg (CmmLocal (LocalReg s4C2 (CmmType "P64"))))))
(CmmStore
(CmmReg (CmmGlobal Hp))
(CmmLoad (CmmReg (CmmGlobal Sp)) (CmmType "P64"))))
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmRegOff (CmmGlobal Hp) (-14))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) 16)))
CmmCall
{ cml_target =
CmmLoad
(CmmLoad (CmmReg (CmmGlobal Sp)) (CmmType "P64"))
(CmmType "I64")
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 24
, cml_ret_args = 0
, cml_ret_off = 24
}
)
, ( 7133701809754883526
, BlockCC
(CmmEntry L7133701809754883526 GlobalScope)
(BSnoc
(BMiddle (CmmAssign (CmmGlobal HpAlloc) (CmmLit (CmmInt 24 W64))))
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmReg (CmmLocal (LocalReg s4C2 (CmmType "P64"))))))
CmmCall
{ cml_target = CmmLit (CmmLabel (CLabel "stg_gc_pp"))
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 16
, cml_ret_args = 16
, cml_ret_off = 24
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "c4DY_info"))
(Statics
(CLabel "c4DY_info")
[ CmmStaticLit (CmmLabel (CLabel "_c4DY"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 30 W64)
])
]
, [ CmmData
(Section CString (CLabel "Main_main4_bytes"))
(Statics
(CLabel "Main_main4_bytes")
[ CmmString
[ 72 , 101 , 108 , 108 , 111 , 32 , 102 , 97 , 99 , 116 ]
])
]
, [ CmmData
(Section Data (CLabel "Main_main3_closure"))
(Statics
(CLabel "Main_main3_closure")
[ CmmStaticLit (CmmLabel (CLabel "Main_main3_info"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 0 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "Main_main3_entry")
[ VanillaReg 1 VGcPtr ]
CmmGraph
{ g_entry = L7133701809754883533
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883531
, BlockCC
(CmmEntry L7133701809754883531 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-16))
(CmmLit (CmmLabel (CLabel "stg_bh_upd_frame_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmReg (CmmLocal (LocalReg c4Ea (CmmType "I64"))))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-24))
(CmmLit (CmmLabel (CLabel "Main_main4_bytes")))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-24))))
CmmCall
{ cml_target =
CmmLit
(CmmLabel
(CLabel "ghczmprim_GHCziCString_unpackCStringzh_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 32
, cml_ret_args = 0
, cml_ret_off = 24
}
)
, ( 7133701809754883532
, BlockCC
(CmmEntry L7133701809754883532 GlobalScope)
BNil
CmmCall
{ cml_target =
CmmLoad
(CmmLoad
(CmmReg (CmmLocal (LocalReg r4BS (CmmType "P64"))))
(CmmType "I64"))
(CmmType "I64")
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883533
, BlockCC
(CmmEntry L7133701809754883533 GlobalScope)
(BMiddle
(CmmAssign
(CmmLocal (LocalReg r4BS (CmmType "P64")))
(CmmReg (CmmGlobal (VanillaReg 1 VGcPtr)))))
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_U_Lt W64)
[ CmmRegOff (CmmGlobal Sp) (-24) , CmmReg (CmmGlobal SpLim) ]
, cml_true = L7133701809754883534
, cml_false = L7133701809754883535
, cml_likely = Just False
}
)
, ( 7133701809754883534
, BlockCC
(CmmEntry L7133701809754883534 GlobalScope)
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmReg (CmmLocal (LocalReg r4BS (CmmType "P64"))))))
CmmCall
{ cml_target = CmmReg (CmmGlobal GCEnter1)
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883535
, BlockCC
(CmmEntry L7133701809754883535 GlobalScope)
(BMiddle
(CmmUnsafeForeignCall
(ForeignTarget
(CmmLit (CmmLabel (CLabel "newCAF")))
(ForeignConvention
CCallConv
[ AddrHint , AddrHint ]
[ AddrHint ]
CmmMayReturn))
[ LocalReg c4Ea (CmmType "I64") ]
[ CmmReg (CmmGlobal BaseReg)
, CmmReg (CmmLocal (LocalReg r4BS (CmmType "P64")))
]))
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_Eq W64)
[ CmmReg (CmmLocal (LocalReg c4Ea (CmmType "I64")))
, CmmLit (CmmInt 0 W64)
]
, cml_true = L7133701809754883532
, cml_false = L7133701809754883531
, cml_likely = Nothing
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "Main_main3_info"))
(Statics
(CLabel "Main_main3_info")
[ CmmStaticLit (CmmLabel (CLabel "Main_main3_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 21 W64)
])
]
, [ CmmData
(Section Data (CLabel "Main_main1_closure"))
(Statics
(CLabel "Main_main1_closure")
[ CmmStaticLit (CmmLabel (CLabel "Main_main1_info"))
, CmmStaticLit (CmmInt 0 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "Main_main1_entry")
[]
CmmGraph
{ g_entry = L7133701809754883542
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883542
, BlockCC
(CmmEntry L7133701809754883542 GlobalScope)
BNil
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_U_Lt W64)
[ CmmRegOff (CmmGlobal Sp) (-32) , CmmReg (CmmGlobal SpLim) ]
, cml_true = L7133701809754883543
, cml_false = L7133701809754883544
, cml_likely = Just False
}
)
, ( 7133701809754883543
, BlockCC
(CmmEntry L7133701809754883543 GlobalScope)
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmLit (CmmLabel (CLabel "Main_main1_closure")))))
CmmCall
{ cml_target = CmmReg (CmmGlobal GCFun)
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883544
, BlockCC
(CmmEntry L7133701809754883544 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmLit (CmmLabel (CLabel "c4Ek_info")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-32))
(CmmLit
(CmmLabel
(CLabel
"base_GHCziIOziHandleziFD_stdout_closure")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-24))
(CmmLit (CmmLabel (CLabel "Main_main3_closure")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-16))
(CmmLit
(CmmLabelOff
(CLabel "ghczmprim_GHCziTypes_True_closure") 2))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-32))))
CmmCall
{ cml_target =
CmmLit
(CmmLabel (CLabel "base_GHCziIOziHandleziText_hPutStr2_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 32
, cml_ret_args = 8
, cml_ret_off = 8
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "Main_main1_info"))
(Statics
(CLabel "Main_main1_info")
[ CmmStaticLit (CmmLabel (CLabel "Main_main1_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 133143986190 W64)
, CmmStaticLit (CmmInt 4294967299 W64)
, CmmStaticLit (CmmLabel (CLabel "S4D6_srt"))
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "_c4Ek")
[]
CmmGraph
{ g_entry = L7133701809754883540
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883540
, BlockCC
(CmmEntry L7133701809754883540 GlobalScope)
(BSnoc
(BSnoc
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-16))
(CmmLit
(CmmLabel
(CLabel
"base_GHCziIOziHandleziFD_stdout_closure")))))
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmLit (CmmLabel (CLabel "Main_main2_closure")))))
(CmmStore
(CmmReg (CmmGlobal Sp))
(CmmLit
(CmmLabelOff
(CLabel "ghczmprim_GHCziTypes_True_closure") 2))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-16))))
CmmCall
{ cml_target =
CmmLit
(CmmLabel (CLabel "base_GHCziIOziHandleziText_hPutStr2_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 32
, cml_ret_args = 0
, cml_ret_off = 8
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "c4Ek_info"))
(Statics
(CLabel "c4Ek_info")
[ CmmStaticLit (CmmLabel (CLabel "_c4Ek"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 47244640286 W64)
, CmmStaticLit (CmmLabel (CLabel "S4D6_srt"))
])
]
, [ CmmData
(Section Data (CLabel "Main_main_closure"))
(Statics
(CLabel "Main_main_closure")
[ CmmStaticLit (CmmLabel (CLabel "Main_main_info"))
, CmmStaticLit (CmmInt 0 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "Main_main_entry")
[]
CmmGraph
{ g_entry = L7133701809754883550
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883550
, BlockCC
(CmmEntry L7133701809754883550 GlobalScope)
BNil
CmmCall
{ cml_target = CmmLit (CmmLabel (CLabel "Main_main1_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "Main_main_info"))
(Statics
(CLabel "Main_main_info")
[ CmmStaticLit (CmmLabel (CLabel "Main_main_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 4294967310 W64)
, CmmStaticLit (CmmInt 4294967299 W64)
, CmmStaticLit (CmmLabelOff (CLabel "S4D6_srt") 16)
])
]
, [ CmmData
(Section Data (CLabel "Main_main5_closure"))
(Statics
(CLabel "Main_main5_closure")
[ CmmStaticLit (CmmLabel (CLabel "Main_main5_info"))
, CmmStaticLit (CmmInt 0 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "Main_main5_entry")
[]
CmmGraph
{ g_entry = L7133701809754883557
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883557
, BlockCC
(CmmEntry L7133701809754883557 GlobalScope)
BNil
CmmCondBranch
{ cml_pred =
CmmMachOp
(MO_U_Lt W64)
[ CmmRegOff (CmmGlobal Sp) (-8) , CmmReg (CmmGlobal SpLim) ]
, cml_true = L7133701809754883558
, cml_false = L7133701809754883559
, cml_likely = Just False
}
)
, ( 7133701809754883558
, BlockCC
(CmmEntry L7133701809754883558 GlobalScope)
(BMiddle
(CmmAssign
(CmmGlobal (VanillaReg 1 VGcPtr))
(CmmLit (CmmLabel (CLabel "Main_main5_closure")))))
CmmCall
{ cml_target = CmmReg (CmmGlobal GCFun)
, cml_cont = Nothing
, cml_args_regs = [ VanillaReg 1 VGcPtr ]
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
, ( 7133701809754883559
, BlockCC
(CmmEntry L7133701809754883559 GlobalScope)
(BSnoc
(BMiddle
(CmmStore
(CmmRegOff (CmmGlobal Sp) (-8))
(CmmLit (CmmLabelOff (CLabel "Main_main1_closure") 1))))
(CmmAssign (CmmGlobal Sp) (CmmRegOff (CmmGlobal Sp) (-8))))
CmmCall
{ cml_target =
CmmLit
(CmmLabel (CLabel "base_GHCziTopHandler_runMainIO1_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 16
, cml_ret_args = 0
, cml_ret_off = 8
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "Main_main5_info"))
(Statics
(CLabel "Main_main5_info")
[ CmmStaticLit (CmmLabel (CLabel "Main_main5_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 107374182414 W64)
, CmmStaticLit (CmmInt 4294967299 W64)
, CmmStaticLit (CmmLabelOff (CLabel "S4D6_srt") 16)
])
]
, [ CmmData
(Section Data (CLabel "ZCMain_main_closure"))
(Statics
(CLabel "ZCMain_main_closure")
[ CmmStaticLit (CmmLabel (CLabel "ZCMain_main_info"))
, CmmStaticLit (CmmInt 0 W64)
])
, CmmProc
(LM (UM (fromList [])))
(CLabel "ZCMain_main_entry")
[]
CmmGraph
{ g_entry = L7133701809754883564
, g_graph =
GMany
NothingO
(LM
(UM
(fromList
[ ( 7133701809754883564
, BlockCC
(CmmEntry L7133701809754883564 GlobalScope)
BNil
CmmCall
{ cml_target = CmmLit (CmmLabel (CLabel "Main_main5_entry"))
, cml_cont = Nothing
, cml_args_regs = []
, cml_args = 8
, cml_ret_args = 0
, cml_ret_off = 8
}
)
])))
NothingO
}
, CmmData
(Section RelocatableReadOnlyData (CLabel "ZCMain_main_info"))
(Statics
(CLabel "ZCMain_main_info")
[ CmmStaticLit (CmmLabel (CLabel "ZCMain_main_entry"))
, CmmStaticLit (CmmInt 0 W64)
, CmmStaticLit (CmmInt 4294967310 W64)
, CmmStaticLit (CmmInt 4294967299 W64)
, CmmStaticLit (CmmLabelOff (CLabel "S4D6_srt") 48)
])
]
, [ CmmData
(Section RelocatableReadOnlyData (CLabel "S4D6_srt"))
(Statics
(CLabel "S4D6_srt")
[ CmmStaticLit
(CmmLabel (CLabel "base_GHCziIOziHandleziFD_stdout_closure"))
, CmmStaticLit
(CmmLabel (CLabel "base_GHCziIOziHandleziText_hPutStr2_closure"))
, CmmStaticLit (CmmLabel (CLabel "Main_main1_closure"))
, CmmStaticLit (CmmLabel (CLabel "Main_main2_closure"))
, CmmStaticLit (CmmLabel (CLabel "Main_main3_closure"))
, CmmStaticLit
(CmmLabel (CLabel "base_GHCziTopHandler_runMainIO1_closure"))
, CmmStaticLit (CmmLabel (CLabel "Main_main5_closure"))
])
]
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment