Created
November 28, 2017 12:39
-
-
Save angerman/3e7361bc0f70c170b109d4576053306e to your computer and use it in GitHub Desktop.
This file contains hidden or 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
; ModuleID = '<stdin>' | |
source_filename = "Main.ll" | |
target datalayout = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" | |
target triple = "arm-unknown-linux-gnueabihf" | |
@r2Pd_bytes = private global { [5 x i8] } { [5 x i8] c"main\00" } | |
@r2Ps_closure = private global { i32, i32 } { i32 ptrtoint (i32* @ghczmprim_GHCziTypes_TrNameS_con_info to i32), i32 ptrtoint ({ [5 x i8] }* @r2Pd_bytes to i32) } | |
@r2Pt_bytes = private global { [5 x i8] } { [5 x i8] c"Main\00" } | |
@r2Pu_closure = private global { i32, i32 } { i32 ptrtoint (i32* @ghczmprim_GHCziTypes_TrNameS_con_info to i32), i32 ptrtoint ({ [5 x i8] }* @r2Pt_bytes to i32) } | |
@Main_zdtrModule_closure = local_unnamed_addr global { i32, i32, i32, i32 } { i32 ptrtoint (i32* @ghczmprim_GHCziTypes_Module_con_info to i32), i32 add (i32 ptrtoint ({ i32, i32 }* @r2Ps_closure to i32), i32 1), i32 add (i32 ptrtoint ({ i32, i32 }* @r2Pu_closure to i32), i32 1), i32 3 } | |
@s2PA_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PA_info to i32), i32 0, i32 0, i32 0 } | |
@ro_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @ro_info to i32), i32 0, i32 0, i32 0 } | |
@s2PD_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PD_info to i32), i32 0, i32 0, i32 0 } | |
@rqy_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @rqy_info to i32), i32 0, i32 0, i32 0 } | |
@s2PF_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PF_info to i32), i32 0, i32 0, i32 0 } | |
@s2PE_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PE_info to i32), i32 0, i32 0, i32 0 } | |
@r2Pv_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @r2Pv_info to i32), i32 0, i32 0, i32 0 } | |
@s2PJ_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PJ_info to i32), i32 0, i32 0, i32 0 } | |
@s2PI_closure = private global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PI_info to i32), i32 0, i32 0, i32 0 } | |
@Main_main_closure = global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @Main_main_info to i32), i32 0, i32 0, i32 0 } | |
@ZCMain_main_closure = local_unnamed_addr global { i32, i32, i32, i32 } { i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @ZCMain_main_info to i32), i32 0, i32 0, i32 0 } | |
@S2Q4_srt = private global { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 } { i32 ptrtoint (i32* @integerzmsimple_GHCziIntegerziType_mkInteger_closure to i32), i32 ptrtoint (i32* @base_GHCziWord_zdfNumWord64_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PA_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PD_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @ro_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @rqy_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PE_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PF_closure to i32), i32 ptrtoint (i32* @base_SystemziIO_print_closure to i32), i32 ptrtoint (i32* @base_GHCziWord_zdfShowWord64_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @r2Pv_closure to i32), i32 ptrtoint (i32* @base_GHCziWord_zdfEqWord64_closure to i32), i32 ptrtoint (i32* @base_GHCziShow_zdfShowBool_closure to i32), i32 ptrtoint (i32* @base_GHCziBase_zdfMonadIO_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PI_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PJ_closure to i32), i32 ptrtoint (i32* @base_GHCziTopHandler_runMainIO_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @Main_main_closure to i32) } | |
@base_GHCziBase_zdfMonadIO_closure = external constant i32 | |
@base_GHCziShow_zdfShowBool_closure = external constant i32 | |
@base_GHCziTopHandler_runMainIO_closure = external constant i32 | |
@base_GHCziWord_zdfEqWord64_closure = external constant i32 | |
@base_GHCziWord_zdfNumWord64_closure = external constant i32 | |
@base_GHCziWord_zdfShowWord64_closure = external constant i32 | |
@base_SystemziIO_print_closure = external constant i32 | |
@ghczmprim_GHCziTypes_Izh_con_info = external constant i32 | |
@ghczmprim_GHCziTypes_Module_con_info = external constant i32 | |
@ghczmprim_GHCziTypes_TrNameS_con_info = external constant i32 | |
@ghczmprim_GHCziTypes_True_closure = external constant i32 | |
@ghczmprim_GHCziTypes_ZC_con_info = external constant i32 | |
@ghczmprim_GHCziTypes_ZMZN_closure = external constant i32 | |
@integerzmsimple_GHCziIntegerziType_mkInteger_closure = external constant i32 | |
@stg_ap_p_info = external constant i32 | |
@stg_ap_pp_info = external constant i32 | |
@stg_bh_upd_frame_info = external constant i32 | |
@stg_upd_frame_info = external constant i32 | |
declare ghccc void @base_GHCziBase_zgzg_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
declare ghccc void @base_GHCziNum_fromInteger_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
declare ghccc void @base_GHCziNum_zp_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
declare ghccc void @ghczmprim_GHCziClasses_zeze_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
declare i8* @newCAF(i8*, i8*) local_unnamed_addr | |
declare ghccc void @stg_ap_0_fast(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
declare ghccc void @stg_ap_p_fast(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
declare ghccc void @stg_ap_pp_fast(i32*, i32*, i32*, i32, i32, i32, i32, i32) local_unnamed_addr | |
define private ghccc void @s2PA_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PA_info to i32)), i32 0, i32 65557 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %39, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = getelementptr inbounds i32, i32* %2, i32 5 | |
%15 = ptrtoint i32* %14 to i32 | |
%16 = getelementptr inbounds i32, i32* %0, i32 201 | |
%17 = load i32, i32* %16, align 4 | |
%18 = icmp ult i32 %17, %15 | |
br i1 %18, label %37, label %19 | |
; <label>:19: ; preds = %13 | |
%20 = bitcast i32* %0 to i8* | |
%21 = inttoptr i32 %3 to i8* | |
%22 = tail call i8* @newCAF(i8* %20, i8* %21) | |
%23 = icmp eq i8* %22, null | |
br i1 %23, label %34, label %24 | |
; <label>:24: ; preds = %19 | |
%25 = ptrtoint i8* %22 to i32 | |
%26 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %26, align 4 | |
%27 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %25, i32* %27, align 4 | |
%28 = getelementptr inbounds i32, i32* %2, i32 1 | |
store i32 ptrtoint (i32* @ghczmprim_GHCziTypes_Izh_con_info to i32), i32* %28, align 4 | |
%29 = getelementptr inbounds i32, i32* %2, i32 2 | |
store i32 128, i32* %29, align 4 | |
%30 = add i32 %15, -15 | |
%31 = getelementptr inbounds i32, i32* %2, i32 3 | |
store i32 ptrtoint (i32* @ghczmprim_GHCziTypes_ZC_con_info to i32), i32* %31, align 4 | |
%32 = getelementptr inbounds i32, i32* %2, i32 4 | |
store i32 %30, i32* %32, align 4 | |
store i32 add (i32 ptrtoint (i32* @ghczmprim_GHCziTypes_ZMZN_closure to i32), i32 1), i32* %14, align 4 | |
%33 = add i32 %15, -6 | |
tail call ghccc void @stg_ap_pp_fast(i32* nonnull %0, i32* %26, i32* %14, i32 ptrtoint (i32* @integerzmsimple_GHCziIntegerziType_mkInteger_closure to i32), i32 add (i32 ptrtoint (i32* @ghczmprim_GHCziTypes_True_closure to i32), i32 2), i32 %33, i32 undef, i32 %7) | |
ret void | |
; <label>:34: ; preds = %19 | |
%35 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%36 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %35, align 4 | |
tail call ghccc void %36(i32* nonnull %0, i32* %1, i32* %14, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:37: ; preds = %13 | |
%38 = getelementptr inbounds i32, i32* %0, i32 207 | |
store i32 20, i32* %38, align 4 | |
br label %39 | |
; <label>:39: ; preds = %37, %8 | |
%.0 = phi i32* [ %2, %8 ], [ %14, %37 ] | |
%40 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%41 = bitcast i32* %40 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%42 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %41, align 4 | |
tail call ghccc void %42(i32* %0, i32* %1, i32* %.0, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @ro_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @ro_info to i32)), i32 4), i32 0, i32 196629 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -20 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %27, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %24, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
%22 = getelementptr inbounds i32, i32* %1, i32 -4 | |
store i32 ptrtoint (i32* @stg_ap_p_info to i32), i32* %22, align 4 | |
%23 = getelementptr inbounds i32, i32* %1, i32 -3 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PA_closure to i32), i32* %23, align 4 | |
tail call ghccc void @base_GHCziNum_fromInteger_info(i32* %0, i32* %22, i32* %2, i32 %3, i32 ptrtoint (i32* @base_GHCziWord_zdfNumWord64_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:24: ; preds = %13 | |
%25 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%26 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %25, align 4 | |
tail call ghccc void %26(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:27: ; preds = %8 | |
%28 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%29 = bitcast i32* %28 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%30 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %29, align 4 | |
tail call ghccc void %30(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PD_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PD_info to i32)), i32 0, i32 65557 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %39, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = getelementptr inbounds i32, i32* %2, i32 5 | |
%15 = ptrtoint i32* %14 to i32 | |
%16 = getelementptr inbounds i32, i32* %0, i32 201 | |
%17 = load i32, i32* %16, align 4 | |
%18 = icmp ult i32 %17, %15 | |
br i1 %18, label %37, label %19 | |
; <label>:19: ; preds = %13 | |
%20 = bitcast i32* %0 to i8* | |
%21 = inttoptr i32 %3 to i8* | |
%22 = tail call i8* @newCAF(i8* %20, i8* %21) | |
%23 = icmp eq i8* %22, null | |
br i1 %23, label %34, label %24 | |
; <label>:24: ; preds = %19 | |
%25 = ptrtoint i8* %22 to i32 | |
%26 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %26, align 4 | |
%27 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %25, i32* %27, align 4 | |
%28 = getelementptr inbounds i32, i32* %2, i32 1 | |
store i32 ptrtoint (i32* @ghczmprim_GHCziTypes_Izh_con_info to i32), i32* %28, align 4 | |
%29 = getelementptr inbounds i32, i32* %2, i32 2 | |
store i32 128, i32* %29, align 4 | |
%30 = add i32 %15, -15 | |
%31 = getelementptr inbounds i32, i32* %2, i32 3 | |
store i32 ptrtoint (i32* @ghczmprim_GHCziTypes_ZC_con_info to i32), i32* %31, align 4 | |
%32 = getelementptr inbounds i32, i32* %2, i32 4 | |
store i32 %30, i32* %32, align 4 | |
store i32 add (i32 ptrtoint (i32* @ghczmprim_GHCziTypes_ZMZN_closure to i32), i32 1), i32* %14, align 4 | |
%33 = add i32 %15, -6 | |
tail call ghccc void @stg_ap_pp_fast(i32* nonnull %0, i32* %26, i32* %14, i32 ptrtoint (i32* @integerzmsimple_GHCziIntegerziType_mkInteger_closure to i32), i32 add (i32 ptrtoint (i32* @ghczmprim_GHCziTypes_True_closure to i32), i32 2), i32 %33, i32 undef, i32 %7) | |
ret void | |
; <label>:34: ; preds = %19 | |
%35 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%36 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %35, align 4 | |
tail call ghccc void %36(i32* nonnull %0, i32* %1, i32* %14, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:37: ; preds = %13 | |
%38 = getelementptr inbounds i32, i32* %0, i32 207 | |
store i32 20, i32* %38, align 4 | |
br label %39 | |
; <label>:39: ; preds = %37, %8 | |
%.0 = phi i32* [ %2, %8 ], [ %14, %37 ] | |
%40 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%41 = bitcast i32* %40 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%42 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %41, align 4 | |
tail call ghccc void %42(i32* %0, i32* %1, i32* %.0, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @rqy_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @rqy_info to i32)), i32 4), i32 0, i32 327701 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -20 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %27, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %24, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
%22 = getelementptr inbounds i32, i32* %1, i32 -4 | |
store i32 ptrtoint (i32* @stg_ap_p_info to i32), i32* %22, align 4 | |
%23 = getelementptr inbounds i32, i32* %1, i32 -3 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PD_closure to i32), i32* %23, align 4 | |
tail call ghccc void @base_GHCziNum_fromInteger_info(i32* %0, i32* %22, i32* %2, i32 %3, i32 ptrtoint (i32* @base_GHCziWord_zdfNumWord64_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:24: ; preds = %13 | |
%25 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%26 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %25, align 4 | |
tail call ghccc void %26(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:27: ; preds = %8 | |
%28 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%29 = bitcast i32* %28 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%30 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %29, align 4 | |
tail call ghccc void %30(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PF_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PF_info to i32)), i32 16), i32 0, i32 65557 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %25, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %22, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
tail call ghccc void @stg_ap_0_fast(i32* %0, i32* %20, i32* %2, i32 ptrtoint ({ i32, i32, i32, i32 }* @ro_closure to i32), i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:22: ; preds = %13 | |
%23 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%24 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %23, align 4 | |
tail call ghccc void %24(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:25: ; preds = %8 | |
%26 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%27 = bitcast i32* %26 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%28 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %27, align 4 | |
tail call ghccc void %28(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PE_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PE_info to i32)), i32 20), i32 0, i32 65557 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %25, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %22, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
tail call ghccc void @stg_ap_0_fast(i32* %0, i32* %20, i32* %2, i32 ptrtoint ({ i32, i32, i32, i32 }* @rqy_closure to i32), i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:22: ; preds = %13 | |
%23 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%24 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %23, align 4 | |
tail call ghccc void %24(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:25: ; preds = %8 | |
%26 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%27 = bitcast i32* %26 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%28 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %27, align 4 | |
tail call ghccc void %28(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @r2Pv_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @r2Pv_info to i32)), i32 4), i32 0, i32 6357013 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -24 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %28, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %25, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
%22 = getelementptr inbounds i32, i32* %1, i32 -5 | |
store i32 ptrtoint (i32* @stg_ap_pp_info to i32), i32* %22, align 4 | |
%23 = getelementptr inbounds i32, i32* %1, i32 -4 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PE_closure to i32), i32* %23, align 4 | |
%24 = getelementptr inbounds i32, i32* %1, i32 -3 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PF_closure to i32), i32* %24, align 4 | |
tail call ghccc void @base_GHCziNum_zp_info(i32* %0, i32* %22, i32* %2, i32 %3, i32 ptrtoint (i32* @base_GHCziWord_zdfNumWord64_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:25: ; preds = %13 | |
%26 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%27 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %26, align 4 | |
tail call ghccc void %27(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:28: ; preds = %8 | |
%29 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%30 = bitcast i32* %29 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%31 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %30, align 4 | |
tail call ghccc void %31(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PJ_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PJ_info to i32)), i32 32), i32 0, i32 458773 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %25, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %22, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
tail call ghccc void @stg_ap_pp_fast(i32* %0, i32* %20, i32* %2, i32 ptrtoint (i32* @base_SystemziIO_print_closure to i32), i32 ptrtoint (i32* @base_GHCziWord_zdfShowWord64_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @r2Pv_closure to i32), i32 undef, i32 %7) | |
ret void | |
; <label>:22: ; preds = %13 | |
%23 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%24 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %23, align 4 | |
tail call ghccc void %24(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:25: ; preds = %8 | |
%26 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%27 = bitcast i32* %26 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%28 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %27, align 4 | |
tail call ghccc void %28(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PG_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PG_info to i32)), i32 4), i32 0, i32 1638415 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -24 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %19, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_upd_frame_info to i32), i32* %14, align 4 | |
%15 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %3, i32* %15, align 4 | |
%16 = getelementptr inbounds i32, i32* %1, i32 -5 | |
store i32 ptrtoint (i32* @stg_ap_pp_info to i32), i32* %16, align 4 | |
%17 = getelementptr inbounds i32, i32* %1, i32 -4 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @rqy_closure to i32), i32* %17, align 4 | |
%18 = getelementptr inbounds i32, i32* %1, i32 -3 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @ro_closure to i32), i32* %18, align 4 | |
tail call ghccc void @base_GHCziNum_zp_info(i32* %0, i32* %16, i32* %2, i32 %3, i32 ptrtoint (i32* @base_GHCziWord_zdfNumWord64_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:19: ; preds = %8 | |
%20 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%21 = bitcast i32* %20 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%22 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %21, align 4 | |
tail call ghccc void %22(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PH_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PH_info to i32)), i32 4), i32 0, i32 102301711 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -24 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %29, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = getelementptr inbounds i32, i32* %2, i32 2 | |
%15 = ptrtoint i32* %14 to i32 | |
%16 = getelementptr inbounds i32, i32* %0, i32 201 | |
%17 = load i32, i32* %16, align 4 | |
%18 = icmp ult i32 %17, %15 | |
br i1 %18, label %27, label %19 | |
; <label>:19: ; preds = %13 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %3, i32* %21, align 4 | |
%22 = getelementptr inbounds i32, i32* %2, i32 1 | |
%23 = ptrtoint i32* %22 to i32 | |
store i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PG_info to i32), i32* %22, align 4 | |
%24 = getelementptr inbounds i32, i32* %1, i32 -5 | |
store i32 ptrtoint (i32* @stg_ap_pp_info to i32), i32* %24, align 4 | |
%25 = getelementptr inbounds i32, i32* %1, i32 -4 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @r2Pv_closure to i32), i32* %25, align 4 | |
%26 = getelementptr inbounds i32, i32* %1, i32 -3 | |
store i32 %23, i32* %26, align 4 | |
tail call ghccc void @ghczmprim_GHCziClasses_zeze_info(i32* nonnull %0, i32* %24, i32* %14, i32 %3, i32 ptrtoint (i32* @base_GHCziWord_zdfEqWord64_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:27: ; preds = %13 | |
%28 = getelementptr inbounds i32, i32* %0, i32 207 | |
store i32 8, i32* %28, align 4 | |
br label %29 | |
; <label>:29: ; preds = %27, %8 | |
%.0 = phi i32* [ %2, %8 ], [ %14, %27 ] | |
%30 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%31 = bitcast i32* %30 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%32 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %31, align 4 | |
tail call ghccc void %32(i32* %0, i32* %1, i32* %.0, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define private ghccc void @s2PI_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PI_info to i32)), i32 4), i32 0, i32 244908053 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %35, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = getelementptr inbounds i32, i32* %2, i32 2 | |
%15 = ptrtoint i32* %14 to i32 | |
%16 = getelementptr inbounds i32, i32* %0, i32 201 | |
%17 = load i32, i32* %16, align 4 | |
%18 = icmp ult i32 %17, %15 | |
br i1 %18, label %33, label %19 | |
; <label>:19: ; preds = %13 | |
%20 = bitcast i32* %0 to i8* | |
%21 = inttoptr i32 %3 to i8* | |
%22 = tail call i8* @newCAF(i8* %20, i8* %21) | |
%23 = icmp eq i8* %22, null | |
br i1 %23, label %30, label %24 | |
; <label>:24: ; preds = %19 | |
%25 = ptrtoint i8* %22 to i32 | |
%26 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %26, align 4 | |
%27 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %25, i32* %27, align 4 | |
%28 = getelementptr inbounds i32, i32* %2, i32 1 | |
%29 = ptrtoint i32* %28 to i32 | |
store i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @s2PH_info to i32), i32* %28, align 4 | |
tail call ghccc void @stg_ap_pp_fast(i32* nonnull %0, i32* %26, i32* %14, i32 ptrtoint (i32* @base_SystemziIO_print_closure to i32), i32 ptrtoint (i32* @base_GHCziShow_zdfShowBool_closure to i32), i32 %29, i32 undef, i32 %7) | |
ret void | |
; <label>:30: ; preds = %19 | |
%31 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%32 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %31, align 4 | |
tail call ghccc void %32(i32* nonnull %0, i32* %1, i32* %14, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:33: ; preds = %13 | |
%34 = getelementptr inbounds i32, i32* %0, i32 207 | |
store i32 8, i32* %34, align 4 | |
br label %35 | |
; <label>:35: ; preds = %33, %8 | |
%.0 = phi i32* [ %2, %8 ], [ %14, %33 ] | |
%36 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%37 = bitcast i32* %36 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%38 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %37, align 4 | |
tail call ghccc void %38(i32* %0, i32* %1, i32* %.0, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define ghccc void @Main_main_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @Main_main_info to i32)), i32 52), i32 0, i32 458773 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -24 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %28, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %25, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
%22 = getelementptr inbounds i32, i32* %1, i32 -5 | |
store i32 ptrtoint (i32* @stg_ap_pp_info to i32), i32* %22, align 4 | |
%23 = getelementptr inbounds i32, i32* %1, i32 -4 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PI_closure to i32), i32* %23, align 4 | |
%24 = getelementptr inbounds i32, i32* %1, i32 -3 | |
store i32 ptrtoint ({ i32, i32, i32, i32 }* @s2PJ_closure to i32), i32* %24, align 4 | |
tail call ghccc void @base_GHCziBase_zgzg_info(i32* %0, i32* %22, i32* %2, i32 %3, i32 ptrtoint (i32* @base_GHCziBase_zdfMonadIO_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:25: ; preds = %13 | |
%26 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%27 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %26, align 4 | |
tail call ghccc void %27(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:28: ; preds = %8 | |
%29 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%30 = bitcast i32* %29 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%31 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %30, align 4 | |
tail call ghccc void %31(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} | |
define ghccc void @ZCMain_main_info(i32*, i32*, i32*, i32, i32, i32, i32, i32) prefix { i32, i32, i32 } { i32 add (i32 sub (i32 ptrtoint ({ i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }* @S2Q4_srt to i32), i32 ptrtoint (void (i32*, i32*, i32*, i32, i32, i32, i32, i32)* @ZCMain_main_info to i32)), i32 64), i32 0, i32 196629 } { | |
%9 = getelementptr inbounds i32, i32* %1, i32 1 | |
%10 = ptrtoint i32* %9 to i32 | |
%11 = add i32 %10, -12 | |
%12 = icmp ult i32 %11, %7 | |
br i1 %12, label %25, label %13 | |
; <label>:13: ; preds = %8 | |
%14 = bitcast i32* %0 to i8* | |
%15 = inttoptr i32 %3 to i8* | |
%16 = tail call i8* @newCAF(i8* %14, i8* %15) | |
%17 = icmp eq i8* %16, null | |
br i1 %17, label %22, label %18 | |
; <label>:18: ; preds = %13 | |
%19 = ptrtoint i8* %16 to i32 | |
%20 = getelementptr inbounds i32, i32* %1, i32 -2 | |
store i32 ptrtoint (i32* @stg_bh_upd_frame_info to i32), i32* %20, align 4 | |
%21 = getelementptr inbounds i32, i32* %1, i32 -1 | |
store i32 %19, i32* %21, align 4 | |
tail call ghccc void @stg_ap_p_fast(i32* %0, i32* %20, i32* %2, i32 ptrtoint (i32* @base_GHCziTopHandler_runMainIO_closure to i32), i32 ptrtoint ({ i32, i32, i32, i32 }* @Main_main_closure to i32), i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:22: ; preds = %13 | |
%23 = inttoptr i32 %3 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%24 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %23, align 4 | |
tail call ghccc void %24(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
; <label>:25: ; preds = %8 | |
%26 = getelementptr inbounds i32, i32* %0, i32 -3 | |
%27 = bitcast i32* %26 to void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** | |
%28 = load void (i32*, i32*, i32*, i32, i32, i32, i32, i32)*, void (i32*, i32*, i32*, i32, i32, i32, i32, i32)** %27, align 4 | |
tail call ghccc void %28(i32* %0, i32* %1, i32* %2, i32 %3, i32 undef, i32 undef, i32 undef, i32 %7) | |
ret void | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment