Created
December 6, 2018 12:48
-
-
Save mpickering/05296933e37e87533a51d493b46aa48d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
module Main where | |
main = print "Hello World" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" | |
target triple = "x86_64-unknown-linux" | |
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 = !{!"root"} | |
!1 = !{!"top", !0} | |
!2 = !{!"stack", !1} | |
!3 = !{!"heap", !1} | |
!4 = !{!"rx", !3} | |
!5 = !{!"base", !1} | |
%Main_main3_bytes_struct = type <{[12 x i8]}> | |
@Main_main3_bytes$def = internal constant %Main_main3_bytes_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]}>, align 1 | |
@Main_main3_bytes = alias i8, bitcast (%Main_main3_bytes_struct* @Main_main3_bytes$def to i8*) | |
%Main_main2_closure_struct = type <{i64, i64, i64, i64}> | |
@Main_main2_closure$def = internal global %Main_main2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main2_info$def to i64), i64 0, i64 0, i64 0}> | |
@Main_main2_closure = alias i8, bitcast (%Main_main2_closure_struct* @Main_main2_closure$def to i8*) | |
@Main_main2_info = alias i8, bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main2_info$def to i8*) | |
define ghccc void @Main_main2_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 "function-instrument"="xray-always" nounwind prefix <{i64, i32, i32}><{i64 0, i32 21, i32 add (i32 trunc (i64 sub (i64 ptrtoint (i8* @base_GHCziShow_showLitString_closure to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main2_info$def to i64)) to i32),i32 0)}> !dbg !7 | |
{ | |
c38m: | |
%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 | |
%lc38h = alloca i64, i32 1 | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%R1_Var = alloca i64, i32 1 | |
store i64 %R1_Arg, i64* %R1_Var | |
%ln38s = load i64*, i64** %Sp_Var | |
%ln38t = getelementptr inbounds i64, i64* %ln38s, i32 -3 | |
%ln38u = ptrtoint i64* %ln38t to i64 | |
%ln38v = icmp ult i64 %ln38u, %SpLim_Arg | |
%ln38x = call ccc i1 (i1, i1) @llvm.expect.i1( i1 %ln38v, i1 0 ) | |
br i1 %ln38x, label %c38n, label %c38o | |
c38o: | |
%ln38y = ptrtoint i64* %Base_Arg to i64 | |
%ln38z = inttoptr i64 %ln38y to i8* | |
%ln38A = load i64, i64* %R1_Var | |
%ln38B = inttoptr i64 %ln38A to i8* | |
%ln38C = 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 | |
%ln38D = call ccc i8* (i8*, i8*) %ln38C( i8* %ln38z, i8* %ln38B ) nounwind | |
%ln38E = ptrtoint i8* %ln38D to i64 | |
store i64 %ln38E, i64* %lc38h | |
%ln38F = load i64, i64* %lc38h | |
%ln38G = icmp eq i64 %ln38F, 0 | |
br i1 %ln38G, label %c38j, label %c38i | |
c38i: | |
%ln38I = ptrtoint i8* @stg_bh_upd_frame_info to i64 | |
%ln38H = load i64*, i64** %Sp_Var | |
%ln38J = getelementptr inbounds i64, i64* %ln38H, i32 -2 | |
store i64 %ln38I, i64* %ln38J, !tbaa !2 | |
%ln38L = load i64, i64* %lc38h | |
%ln38K = load i64*, i64** %Sp_Var | |
%ln38M = getelementptr inbounds i64, i64* %ln38K, i32 -1 | |
store i64 %ln38L, i64* %ln38M, !tbaa !2 | |
%ln38O = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @c38k_info$def to i64 | |
%ln38N = load i64*, i64** %Sp_Var | |
%ln38P = getelementptr inbounds i64, i64* %ln38N, i32 -3 | |
store i64 %ln38O, i64* %ln38P, !tbaa !2 | |
%ln38Q = ptrtoint %Main_main3_bytes_struct* @Main_main3_bytes$def to i64 | |
store i64 %ln38Q, i64* %R2_Var | |
%ln38R = load i64*, i64** %Sp_Var | |
%ln38S = getelementptr inbounds i64, i64* %ln38R, i32 -3 | |
%ln38T = ptrtoint i64* %ln38S to i64 | |
%ln38U = inttoptr i64 %ln38T to i64* | |
store i64* %ln38U, i64** %Sp_Var | |
%ln38V = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%ln38W = load i64*, i64** %Sp_Var | |
%ln38X = load i64, i64* %R1_Var | |
%ln38Y = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln38V( i64* %Base_Arg, i64* %ln38W, i64* %Hp_Arg, i64 %ln38X, i64 %ln38Y, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
c38j: | |
%ln390 = load i64, i64* %R1_Var | |
%ln391 = inttoptr i64 %ln390 to i64* | |
%ln392 = load i64, i64* %ln391, !tbaa !4 | |
%ln393 = inttoptr i64 %ln392 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%ln394 = load i64*, i64** %Sp_Var | |
%ln395 = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln393( i64* %Base_Arg, i64* %ln394, i64* %Hp_Arg, i64 %ln395, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
c38n: | |
%ln396 = load i64, i64* %R1_Var | |
store i64 %ln396, i64* %R1_Var | |
%ln397 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2 | |
%ln398 = bitcast i64* %ln397 to i64* | |
%ln399 = load i64, i64* %ln398, !tbaa !5 | |
%ln39a = inttoptr i64 %ln399 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%ln39b = load i64*, i64** %Sp_Var | |
%ln39c = load i64, i64* %R1_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln39a( i64* %Base_Arg, i64* %ln39b, i64* %Hp_Arg, i64 %ln39c, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
declare ccc i1 @llvm.expect.i1(i1, i1) | |
@c38k_info = internal alias i8, bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @c38k_info$def to i8*) | |
define internal ghccc void @c38k_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 "function-instrument"="xray-always" nounwind prefix <{i64, i32, i32}><{i64 0, i32 30, i32 add (i32 trunc (i64 sub (i64 ptrtoint (i8* @base_GHCziShow_showLitString_closure to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @c38k_info$def to i64)) to i32),i32 0)}> !dbg !10 | |
{ | |
c38k: | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%Sp_Var = alloca i64*, i32 1 | |
store i64* %Sp_Arg, i64** %Sp_Var | |
%ln39d = ptrtoint i8* @base_GHCziShow_zdfShowZMZN1_closure to i64 | |
store i64 %ln39d, i64* %R3_Var | |
store i64 %R1_Arg, i64* %R2_Var | |
%ln39e = load i64*, i64** %Sp_Var | |
%ln39f = getelementptr inbounds i64, i64* %ln39e, i32 1 | |
%ln39g = ptrtoint i64* %ln39f to i64 | |
%ln39h = inttoptr i64 %ln39g to i64* | |
store i64* %ln39h, i64** %Sp_Var | |
%ln39i = bitcast i8* @base_GHCziShow_showLitString_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%ln39j = load i64*, i64** %Sp_Var | |
%ln39k = load i64, i64* %R2_Var | |
%ln39l = load i64, i64* %R3_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln39i( i64* %Base_Arg, i64* %ln39j, i64* %Hp_Arg, i64 %R1_Arg, i64 %ln39k, i64 %ln39l, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Main_main1_closure_struct = type <{i64, i64, i64, i64}> | |
@Main_main1_closure$def = internal global %Main_main1_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_ZC_con_info to i64), i64 ptrtoint (i8* @base_GHCziShow_zdfShowZLz2cUZR3_closure to i64), i64 ptrtoint (%Main_main2_closure_struct* @Main_main2_closure$def to i64), i64 0}> | |
@Main_main1_closure = alias i8, bitcast (%Main_main1_closure_struct* @Main_main1_closure$def to i8*) | |
%Main_main_closure_struct = type <{i64, 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 ptrtoint (i8* @base_GHCziIOziHandleziText_hPutStrzq_closure to i64), i64 ptrtoint (i8* @base_GHCziIOziHandleziFD_stdout_closure to i64), i64 ptrtoint (%Main_main1_closure_struct* @Main_main1_closure$def to i64), 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 "function-instrument"="xray-always" nounwind prefix <{i64, i64, i32, i32}><{i64 4294967299, i64 3, i32 14, i32 0}> !dbg !13 | |
{ | |
c39q: | |
%R4_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R4_Var | |
%R3_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R3_Var | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%ln39t = ptrtoint i8* @ghczmprim_GHCziTypes_True_closure to i64 | |
%ln39u = add i64 %ln39t, 2 | |
store i64 %ln39u, i64* %R4_Var | |
%ln39v = ptrtoint %Main_main1_closure_struct* @Main_main1_closure$def to i64 | |
%ln39w = add i64 %ln39v, 2 | |
store i64 %ln39w, i64* %R3_Var | |
%ln39x = ptrtoint i8* @base_GHCziIOziHandleziFD_stdout_closure to i64 | |
store i64 %ln39x, i64* %R2_Var | |
%ln39y = bitcast i8* @base_GHCziIOziHandleziText_hPutStrzq_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%ln39z = load i64, i64* %R2_Var | |
%ln39A = load i64, i64* %R3_Var | |
%ln39B = load i64, i64* %R4_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln39y( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 %ln39z, i64 %ln39A, i64 %ln39B, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Main_main4_closure_struct = type <{i64, i64, i64, i64}> | |
@Main_main4_closure$def = internal global %Main_main4_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main4_info$def to i64), i64 ptrtoint (%Main_main_closure_struct* @Main_main_closure$def to i64), i64 ptrtoint (i8* @base_GHCziTopHandler_runMainIO1_closure to i64), i64 0}> | |
@Main_main4_closure = alias i8, bitcast (%Main_main4_closure_struct* @Main_main4_closure$def to i8*) | |
@Main_main4_info = alias i8, bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main4_info$def to i8*) | |
define ghccc void @Main_main4_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 "function-instrument"="xray-always" nounwind prefix <{i64, i64, i32, i32}><{i64 4294967299, i64 2, i32 14, i32 0}> | |
{ | |
c39G: | |
%R2_Var = alloca i64, i32 1 | |
store i64 undef, i64* %R2_Var | |
%ln39J = ptrtoint %Main_main_closure_struct* @Main_main_closure$def to i64 | |
%ln39K = add i64 %ln39J, 1 | |
store i64 %ln39K, i64* %R2_Var | |
%ln39L = bitcast i8* @base_GHCziTopHandler_runMainIO1_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
%ln39M = load i64, i64* %R2_Var | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln39L( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 %ln39M, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%ZCMain_main_closure_struct = type <{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}> | |
@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 "function-instrument"="xray-always" nounwind prefix <{i64, i64, i32, i32}><{i64 4294967299, i64 0, i32 14, i32 add (i32 trunc (i64 sub (i64 ptrtoint (%Main_main4_closure_struct* @Main_main4_closure$def to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i64)) to i32),i32 0)}> | |
{ | |
c39R: | |
%ln39U = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main4_info$def to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* | |
tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln39U( i64* %Base_Arg, i64* %Sp_Arg, i64* %Hp_Arg, i64 %R1_Arg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind | |
ret void | |
} | |
%Main_zdtrModule4_bytes_struct = type <{[5 x i8]}> | |
@Main_zdtrModule4_bytes$def = internal constant %Main_zdtrModule4_bytes_struct<{[5 x i8] [i8 109, i8 97, i8 105, i8 110, i8 0]}>, align 1 | |
@Main_zdtrModule4_bytes = alias i8, bitcast (%Main_zdtrModule4_bytes_struct* @Main_zdtrModule4_bytes$def to i8*) | |
%Main_zdtrModule3_closure_struct = type <{i64, i64}> | |
@Main_zdtrModule3_closure$def = internal global %Main_zdtrModule3_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_con_info to i64), i64 ptrtoint (%Main_zdtrModule4_bytes_struct* @Main_zdtrModule4_bytes$def to i64)}> | |
@Main_zdtrModule3_closure = alias i8, bitcast (%Main_zdtrModule3_closure_struct* @Main_zdtrModule3_closure$def to i8*) | |
%Main_zdtrModule2_bytes_struct = type <{[5 x i8]}> | |
@Main_zdtrModule2_bytes$def = internal constant %Main_zdtrModule2_bytes_struct<{[5 x i8] [i8 77, i8 97, i8 105, i8 110, i8 0]}>, align 1 | |
@Main_zdtrModule2_bytes = alias i8, bitcast (%Main_zdtrModule2_bytes_struct* @Main_zdtrModule2_bytes$def to i8*) | |
%Main_zdtrModule1_closure_struct = type <{i64, i64}> | |
@Main_zdtrModule1_closure$def = internal global %Main_zdtrModule1_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_con_info to i64), i64 ptrtoint (%Main_zdtrModule2_bytes_struct* @Main_zdtrModule2_bytes$def to i64)}> | |
@Main_zdtrModule1_closure = alias i8, bitcast (%Main_zdtrModule1_closure_struct* @Main_zdtrModule1_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_con_info to i64), i64 add (i64 ptrtoint (%Main_zdtrModule3_closure_struct* @Main_zdtrModule3_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%Main_zdtrModule1_closure_struct* @Main_zdtrModule1_closure$def to i64),i64 1), i64 3}> | |
@Main_zdtrModule_closure = alias i8, bitcast (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i8*) | |
@newCAF = external global i8 | |
@stg_bh_upd_frame_info = external global i8 | |
@ghczmprim_GHCziCString_unpackCStringzh_info = external global i8 | |
@base_GHCziShow_showLitString_closure = external global i8 | |
@base_GHCziShow_zdfShowZMZN1_closure = external global i8 | |
@base_GHCziShow_showLitString_info = external global i8 | |
@ghczmprim_GHCziTypes_ZC_con_info = external global i8 | |
@base_GHCziShow_zdfShowZLz2cUZR3_closure = external global i8 | |
@base_GHCziIOziHandleziText_hPutStrzq_closure = external global i8 | |
@base_GHCziIOziHandleziFD_stdout_closure = external global i8 | |
@ghczmprim_GHCziTypes_True_closure = external global i8 | |
@base_GHCziIOziHandleziText_hPutStrzq_info = external global i8 | |
@base_GHCziTopHandler_runMainIO1_closure = external global i8 | |
@base_GHCziTopHandler_runMainIO1_info = external global i8 | |
@ghczmprim_GHCziTypes_TrNameS_con_info = external global i8 | |
@ghczmprim_GHCziTypes_Module_con_info = external global i8 | |
@llvm.used = appending constant [11 x i8*] [i8* bitcast (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i8*), i8* bitcast (%Main_zdtrModule1_closure_struct* @Main_zdtrModule1_closure$def to i8*), i8* bitcast (%Main_zdtrModule2_bytes_struct* @Main_zdtrModule2_bytes$def to i8*), i8* bitcast (%Main_zdtrModule3_closure_struct* @Main_zdtrModule3_closure$def to i8*), i8* bitcast (%Main_zdtrModule4_bytes_struct* @Main_zdtrModule4_bytes$def to i8*), i8* bitcast (%ZCMain_main_closure_struct* @ZCMain_main_closure$def to i8*), i8* bitcast (%Main_main4_closure_struct* @Main_main4_closure$def to i8*), i8* bitcast (%Main_main_closure_struct* @Main_main_closure$def to i8*), i8* bitcast (%Main_main1_closure_struct* @Main_main1_closure$def to i8*), i8* bitcast (%Main_main2_closure_struct* @Main_main2_closure$def to i8*), i8* bitcast (%Main_main3_bytes_struct* @Main_main3_bytes$def to i8*)], section "llvm.metadata" | |
!13 = distinct !DISubprogram(name: "main", linkageName: "Main_main_info$def", scope: !14, file: !14, line: 4, type: !15, isDefinition: true, unit: !6) | |
!15 = !DISubroutineType(types: !{null}) | |
!14 = !DIFile(filename: "hello.hs", directory: "TODO") | |
!10 = distinct !DISubprogram(name: "main", linkageName: "c38k_info$def", scope: !11, file: !11, line: 4, type: !12, isDefinition: true, unit: !6) | |
!12 = !DISubroutineType(types: !{null}) | |
!11 = !DIFile(filename: "hello.hs", directory: "TODO") | |
!7 = distinct !DISubprogram(name: "main", linkageName: "Main_main2_info$def", scope: !8, file: !8, line: 4, type: !9, isDefinition: true, unit: !6) | |
!9 = !DISubroutineType(types: !{null}) | |
!8 = !DIFile(filename: "hello.hs", directory: "TODO") | |
!16 = !DIFile(filename: "hello.hs", directory: "") | |
!6 = distinct !DICompileUnit(language: DW_LANG_Haskell, file: !16, producer: "ghc", isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug) | |
!llvm.dbg.cu = !{!6} | |
!llvm.ident = !{!19} | |
!19 = !{!"Glasgow Haskell Compiler"} | |
!llvm.module.flags = !{!17,!18} | |
!17 = !{i32 2, !"Dwarf Version", i32 4} | |
!18 = !{i32 2, !"Debug Info Version", i32 3} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment