Advertisement
Guest User

Untitled

a guest
Jul 9th, 2018
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
LLVM 22.38 KB | None | 0 0
  1. target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
  2. target triple = "x86_64-apple-darwin"
  3. declare ccc i8* @memcpy$def(i8*, i8*, i64)
  4. declare ccc i8* @memmove$def(i8*, i8*, i64)
  5. declare ccc i8* @memset$def(i8*, i64, i64)
  6. declare ccc i64 @newSpark$def(i8*, i8*)
  7. !0 = !{!"root"}
  8. !1 = !{!"top", !0}
  9. !2 = !{!"stack", !1}
  10. !3 = !{!"heap", !1}
  11. !4 = !{!"rx", !3}
  12. !5 = !{!"base", !1}
  13.  
  14. %S1dD_srt_struct = type <{i64}>
  15. %s1ds_closure_struct = type <{i64, i64, i64, i64}>
  16. %c1dz_str_struct = type <{[2 x i8]}>
  17. @S1dD_srt$def = internal constant %S1dD_srt_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziCString_unpackCStringzh_closure to i64)}>
  18. @S1dD_srt = internal alias i8, bitcast (%S1dD_srt_struct* @S1dD_srt$def to i8*)
  19. @s1ds_closure$def = internal global %s1ds_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @s1ds_info$def to i64), i64 0, i64 0, i64 0}>
  20. @s1ds_closure = internal alias i8, bitcast (%s1ds_closure_struct* @s1ds_closure$def to i8*)
  21. @c1dz_str$def = internal constant %c1dz_str_struct<{[2 x i8] [i8 97, i8 0]}>, align 1
  22. @c1dz_str = internal alias i8, bitcast (%c1dz_str_struct* @c1dz_str$def to i8*)
  23. @s1ds_info = internal alias i8, bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @s1ds_info$def to i8*)
  24. define internal ghccc void @s1ds_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (%S1dD_srt_struct* @S1dD_srt$def to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @s1ds_info$def to i64)),i64 0), i64 0, i64 4294967317}>
  25. {
  26. c1dA:
  27.   %ls1ds = alloca i64, i32 1
  28.   %R3_Var = alloca i64, i32 1
  29.   store i64 undef, i64* %R3_Var
  30.   %R4_Var = alloca i64, i32 1
  31.   store i64 undef, i64* %R4_Var
  32.   %R5_Var = alloca i64, i32 1
  33.   store i64 undef, i64* %R5_Var
  34.   %R6_Var = alloca i64, i32 1
  35.   store i64 undef, i64* %R6_Var
  36.   %F1_Var = alloca float, i32 1
  37.   store float undef, float* %F1_Var
  38.   %D1_Var = alloca double, i32 1
  39.   store double undef, double* %D1_Var
  40.   %F2_Var = alloca float, i32 1
  41.   store float undef, float* %F2_Var
  42.   %D2_Var = alloca double, i32 1
  43.   store double undef, double* %D2_Var
  44.   %F3_Var = alloca float, i32 1
  45.   store float undef, float* %F3_Var
  46.   %D3_Var = alloca double, i32 1
  47.   store double undef, double* %D3_Var
  48.   %F4_Var = alloca float, i32 1
  49.   store float undef, float* %F4_Var
  50.   %D4_Var = alloca double, i32 1
  51.   store double undef, double* %D4_Var
  52.   %F5_Var = alloca float, i32 1
  53.   store float undef, float* %F5_Var
  54.   %D5_Var = alloca double, i32 1
  55.   store double undef, double* %D5_Var
  56.   %F6_Var = alloca float, i32 1
  57.   store float undef, float* %F6_Var
  58.   %D6_Var = alloca double, i32 1
  59.   store double undef, double* %D6_Var
  60.   %lc1dw = alloca i64, i32 1
  61.   %R2_Var = alloca i64, i32 1
  62.   store i64 undef, i64* %R2_Var
  63.   %R1_Var = alloca i64, i32 1
  64.   store i64 %R1_Arg, i64* %R1_Var
  65.   %Sp_Var = alloca i64*, i32 1
  66.   store i64* %Sp_Arg, i64** %Sp_Var
  67.   %ln1dE = load i64, i64* %R1_Var
  68.   store i64 %ln1dE, i64* %ls1ds
  69.   %ln1dF = load i64*, i64** %Sp_Var
  70.   %ln1dG = getelementptr inbounds i64, i64* %ln1dF, i32 1
  71.   %ln1dH = ptrtoint i64* %ln1dG to i64
  72.   %ln1dI = sub i64 %ln1dH, 24
  73.   %ln1dJ = icmp ult i64 %ln1dI, %SpLim_Arg
  74.   %ln1dL = call ccc i1 (i1, i1) @llvm.expect.i1( i1 %ln1dJ, i1 0 )
  75.   br i1 %ln1dL, label %c1dB, label %c1dC
  76. c1dC:
  77.   %ln1dM = ptrtoint i64* %Base_Arg to i64
  78.   %ln1dN = inttoptr i64 %ln1dM to i8*
  79.   %ln1dO = load i64, i64* %ls1ds
  80.   %ln1dP = inttoptr i64 %ln1dO to i8*
  81.   %ln1dQ = bitcast i8* @newCAF to i8* (i8*, i8*)*
  82.   store i64 undef, i64* %R3_Var
  83.   store i64 undef, i64* %R4_Var
  84.   store i64 undef, i64* %R5_Var
  85.   store i64 undef, i64* %R6_Var
  86.   store float undef, float* %F1_Var
  87.   store double undef, double* %D1_Var
  88.   store float undef, float* %F2_Var
  89.   store double undef, double* %D2_Var
  90.   store float undef, float* %F3_Var
  91.   store double undef, double* %D3_Var
  92.   store float undef, float* %F4_Var
  93.   store double undef, double* %D4_Var
  94.   store float undef, float* %F5_Var
  95.   store double undef, double* %D5_Var
  96.   store float undef, float* %F6_Var
  97.   store double undef, double* %D6_Var
  98.   %ln1dR = call ccc i8* (i8*, i8*) %ln1dQ( i8* %ln1dN, i8* %ln1dP ) nounwind
  99.   %ln1dS = ptrtoint i8* %ln1dR to i64
  100.   store i64 %ln1dS, i64* %lc1dw
  101.   %ln1dT = load i64, i64* %lc1dw
  102.   %ln1dU = icmp eq i64 %ln1dT, 0
  103.   br i1 %ln1dU, label %c1dy, label %c1dx
  104. c1dx:
  105.   %ln1dW = ptrtoint i8* @stg_bh_upd_frame_info to i64
  106.   %ln1dV = load i64*, i64** %Sp_Var
  107.   %ln1dX = getelementptr inbounds i64, i64* %ln1dV, i32 -2
  108.   store i64 %ln1dW, i64* %ln1dX, !tbaa !2
  109.   %ln1dZ = load i64, i64* %lc1dw
  110.   %ln1dY = load i64*, i64** %Sp_Var
  111.   %ln1e0 = getelementptr inbounds i64, i64* %ln1dY, i32 -1
  112.   store i64 %ln1dZ, i64* %ln1e0, !tbaa !2
  113.   %ln1e1 = ptrtoint %c1dz_str_struct* @c1dz_str$def to i64
  114.   store i64 %ln1e1, i64* %R2_Var
  115.   store i64 %ln1e2, i64* %R1_Var
  116.   %ln1e3 = load i64*, i64** %Sp_Var
  117.   %ln1e4 = getelementptr inbounds i64, i64* %ln1e3, i32 -2
  118.   %ln1e5 = ptrtoint i64* %ln1e4 to i64
  119.   %ln1e6 = inttoptr i64 %ln1e5 to i64*
  120.   store i64* %ln1e6, i64** %Sp_Var
  121.   %ln1e7 = bitcast i8* @stg_ap_n_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  122.   %ln1e8 = load i64*, i64** %Sp_Var
  123.   %ln1e9 = load i64, i64* %R1_Var
  124.   %ln1ea = load i64, i64* %R2_Var
  125.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1e7( i64* %Base_Arg, i64* %ln1e8, i64* %Hp_Arg, i64 %ln1e9, i64 %ln1ea, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  126.   ret void
  127. c1dy:
  128.   %ln1eb = load i64, i64* %ls1ds
  129.   %ln1ec = inttoptr i64 %ln1eb to i64*
  130.   %ln1ed = load i64, i64* %ln1ec, !tbaa !1
  131.   %ln1ee = inttoptr i64 %ln1ed to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  132.   %ln1ef = load i64*, i64** %Sp_Var
  133.   %ln1eg = load i64, i64* %R1_Var
  134.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1ee( i64* %Base_Arg, i64* %ln1ef, i64* %Hp_Arg, i64 %ln1eg, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  135.   ret void
  136. c1dB:
  137.   %ln1eh = load i64, i64* %ls1ds
  138.   store i64 %ln1eh, i64* %R1_Var
  139.   %ln1ei = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
  140.   %ln1ej = bitcast i64* %ln1ei to i64*
  141.   %ln1ek = load i64, i64* %ln1ej, !tbaa !5
  142.   %ln1el = inttoptr i64 %ln1ek to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  143.   %ln1em = load i64*, i64** %Sp_Var
  144.   %ln1en = load i64, i64* %R1_Var
  145.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1el( i64* %Base_Arg, i64* %ln1em, i64* %Hp_Arg, i64 %ln1en, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  146.   ret void
  147. }
  148. declare ccc i1 @llvm.expect.i1(i1, i1)
  149. %S1ey_srt_struct = type <{i64, i64}>
  150. %Main_main_closure_struct = type <{i64, i64, i64, i64}>
  151. @S1ey_srt$def = internal constant %S1ey_srt_struct<{i64 ptrtoint (i8* @base_SystemziIO_putStrLn_closure to i64), i64 ptrtoint (%s1ds_closure_struct* @s1ds_closure$def to i64)}>
  152. @S1ey_srt = internal alias i8, bitcast (%S1ey_srt_struct* @S1ey_srt$def to i8*)
  153. @Main_main_closure$def = internal global %Main_main_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main_info$def to i64), i64 0, i64 0, i64 0}>
  154. @Main_main_closure = alias i8, bitcast (%Main_main_closure_struct* @Main_main_closure$def to i8*)
  155. @Main_main_info = alias i8, bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main_info$def to i8*)
  156. define ghccc void @Main_main_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (%S1ey_srt_struct* @S1ey_srt$def to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @Main_main_info$def to i64)),i64 0), i64 0, i64 12884901909}>
  157. {
  158. c1ev:
  159.   %lr1 = alloca i64, i32 1
  160.   %R3_Var = alloca i64, i32 1
  161.   store i64 undef, i64* %R3_Var
  162.   %R4_Var = alloca i64, i32 1
  163.   store i64 undef, i64* %R4_Var
  164.   %R5_Var = alloca i64, i32 1
  165.   store i64 undef, i64* %R5_Var
  166.   %R6_Var = alloca i64, i32 1
  167.   store i64 undef, i64* %R6_Var
  168.   %F1_Var = alloca float, i32 1
  169.   store float undef, float* %F1_Var
  170.   %D1_Var = alloca double, i32 1
  171.   store double undef, double* %D1_Var
  172.   %F2_Var = alloca float, i32 1
  173.   store float undef, float* %F2_Var
  174.   %D2_Var = alloca double, i32 1
  175.   store double undef, double* %D2_Var
  176.   %F3_Var = alloca float, i32 1
  177.   store float undef, float* %F3_Var
  178.   %D3_Var = alloca double, i32 1
  179.   store double undef, double* %D3_Var
  180.   %F4_Var = alloca float, i32 1
  181.   store float undef, float* %F4_Var
  182.   %D4_Var = alloca double, i32 1
  183.   store double undef, double* %D4_Var
  184.   %F5_Var = alloca float, i32 1
  185.   store float undef, float* %F5_Var
  186.   %D5_Var = alloca double, i32 1
  187.   store double undef, double* %D5_Var
  188.   %F6_Var = alloca float, i32 1
  189.   store float undef, float* %F6_Var
  190.   %D6_Var = alloca double, i32 1
  191.   store double undef, double* %D6_Var
  192.   %lc1es = alloca i64, i32 1
  193.   %R2_Var = alloca i64, i32 1
  194.   store i64 undef, i64* %R2_Var
  195.   %R1_Var = alloca i64, i32 1
  196.   store i64 %R1_Arg, i64* %R1_Var
  197.   %Sp_Var = alloca i64*, i32 1
  198.   store i64* %Sp_Arg, i64** %Sp_Var
  199.   %ln1ez = load i64, i64* %R1_Var
  200.   store i64 %ln1ez, i64* %lr1
  201.   %ln1eA = load i64*, i64** %Sp_Var
  202.   %ln1eB = getelementptr inbounds i64, i64* %ln1eA, i32 1
  203.   %ln1eC = ptrtoint i64* %ln1eB to i64
  204.   %ln1eD = sub i64 %ln1eC, 24
  205.   %ln1eE = icmp ult i64 %ln1eD, %SpLim_Arg
  206.   %ln1eF = call ccc i1 (i1, i1) @llvm.expect.i1( i1 %ln1eE, i1 0 )
  207.   br i1 %ln1eF, label %c1ew, label %c1ex
  208. c1ex:
  209.   %ln1eG = ptrtoint i64* %Base_Arg to i64
  210.   %ln1eH = inttoptr i64 %ln1eG to i8*
  211.   %ln1eI = load i64, i64* %lr1
  212.   %ln1eJ = inttoptr i64 %ln1eI to i8*
  213.   %ln1eK = bitcast i8* @newCAF to i8* (i8*, i8*)*
  214.   store i64 undef, i64* %R3_Var
  215.   store i64 undef, i64* %R4_Var
  216.   store i64 undef, i64* %R5_Var
  217.   store i64 undef, i64* %R6_Var
  218.   store float undef, float* %F1_Var
  219.   store double undef, double* %D1_Var
  220.   store float undef, float* %F2_Var
  221.   store double undef, double* %D2_Var
  222.   store float undef, float* %F3_Var
  223.   store double undef, double* %D3_Var
  224.   store float undef, float* %F4_Var
  225.   store double undef, double* %D4_Var
  226.   store float undef, float* %F5_Var
  227.   store double undef, double* %D5_Var
  228.   store float undef, float* %F6_Var
  229.   store double undef, double* %D6_Var
  230.   %ln1eL = call ccc i8* (i8*, i8*) %ln1eK( i8* %ln1eH, i8* %ln1eJ ) nounwind
  231.   %ln1eM = ptrtoint i8* %ln1eL to i64
  232.   store i64 %ln1eM, i64* %lc1es
  233.   %ln1eN = load i64, i64* %lc1es
  234.   %ln1eO = icmp eq i64 %ln1eN, 0
  235.   br i1 %ln1eO, label %c1eu, label %c1et
  236. c1et:
  237.   %ln1eQ = ptrtoint i8* @stg_bh_upd_frame_info to i64
  238.   %ln1eP = load i64*, i64** %Sp_Var
  239.   %ln1eR = getelementptr inbounds i64, i64* %ln1eP, i32 -2
  240.   store i64 %ln1eQ, i64* %ln1eR, !tbaa !2
  241.   %ln1eT = load i64, i64* %lc1es
  242.   %ln1eS = load i64*, i64** %Sp_Var
  243.   %ln1eU = getelementptr inbounds i64, i64* %ln1eS, i32 -1
  244.   store i64 %ln1eT, i64* %ln1eU, !tbaa !2
  245.   %ln1eV = ptrtoint %s1ds_closure_struct* @s1ds_closure$def to i64
  246.   store i64 %ln1eV, i64* %R2_Var
  247.   %ln1eW = ptrtoint i8* @base_SystemziIO_putStrLn_closure to i64
  248.   store i64 %ln1eW, i64* %R1_Var
  249.   %ln1eX = load i64*, i64** %Sp_Var
  250.   %ln1eY = getelementptr inbounds i64, i64* %ln1eX, i32 -2
  251.   %ln1eZ = ptrtoint i64* %ln1eY to i64
  252.   %ln1f0 = inttoptr i64 %ln1eZ to i64*
  253.   store i64* %ln1f0, i64** %Sp_Var
  254.   %ln1f1 = bitcast i8* @stg_ap_p_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  255.   %ln1f2 = load i64*, i64** %Sp_Var
  256.   %ln1f3 = load i64, i64* %R1_Var
  257.   %ln1f4 = load i64, i64* %R2_Var
  258.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1f1( i64* %Base_Arg, i64* %ln1f2, i64* %Hp_Arg, i64 %ln1f3, i64 %ln1f4, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  259.   ret void
  260. c1eu:
  261.   %ln1f5 = load i64, i64* %lr1
  262.   %ln1f6 = inttoptr i64 %ln1f5 to i64*
  263.   %ln1f7 = load i64, i64* %ln1f6, !tbaa !1
  264.   %ln1f8 = inttoptr i64 %ln1f7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  265.   %ln1f9 = load i64*, i64** %Sp_Var
  266.   %ln1fa = load i64, i64* %R1_Var
  267.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1f8( i64* %Base_Arg, i64* %ln1f9, i64* %Hp_Arg, i64 %ln1fa, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  268.   ret void
  269. c1ew:
  270.   %ln1fb = load i64, i64* %lr1
  271.   store i64 %ln1fb, i64* %R1_Var
  272.   %ln1fc = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
  273.   %ln1fd = bitcast i64* %ln1fc to i64*
  274.   %ln1fe = load i64, i64* %ln1fd, !tbaa !5
  275.   %ln1ff = inttoptr i64 %ln1fe to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  276.   %ln1fg = load i64*, i64** %Sp_Var
  277.   %ln1fh = load i64, i64* %R1_Var
  278.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1ff( i64* %Base_Arg, i64* %ln1fg, i64* %Hp_Arg, i64 %ln1fh, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  279.   ret void
  280. }
  281. %S1fr_srt_struct = type <{i64, i64}>
  282. %ZCMain_main_closure_struct = type <{i64, i64, i64, i64}>
  283. @S1fr_srt$def = internal constant %S1fr_srt_struct<{i64 ptrtoint (i8* @base_GHCziTopHandler_runMainIO_closure to i64), i64 ptrtoint (%Main_main_closure_struct* @Main_main_closure$def to i64)}>
  284. @S1fr_srt = internal alias i8, bitcast (%S1fr_srt_struct* @S1fr_srt$def to i8*)
  285. @ZCMain_main_closure$def = internal global %ZCMain_main_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i64), i64 0, i64 0, i64 0}>
  286. @ZCMain_main_closure = alias i8, bitcast (%ZCMain_main_closure_struct* @ZCMain_main_closure$def to i8*)
  287. @ZCMain_main_info = alias i8, bitcast (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i8*)
  288. define ghccc void @ZCMain_main_info$def(i64* noalias nocapture %Base_Arg, i64* noalias nocapture %Sp_Arg, i64* noalias nocapture %Hp_Arg, i64 %R1_Arg, i64 %R2_Arg, i64 %R3_Arg, i64 %R4_Arg, i64 %R5_Arg, i64 %R6_Arg, i64 %SpLim_Arg) align 8 nounwind prefix <{i64, i64, i64}><{i64 add (i64 sub (i64 ptrtoint (%S1fr_srt_struct* @S1fr_srt$def to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @ZCMain_main_info$def to i64)),i64 0), i64 0, i64 12884901909}>
  289. {
  290. c1fo:
  291.   %l01D = alloca i64, i32 1
  292.   %R3_Var = alloca i64, i32 1
  293.   store i64 undef, i64* %R3_Var
  294.   %R4_Var = alloca i64, i32 1
  295.   store i64 undef, i64* %R4_Var
  296.   %R5_Var = alloca i64, i32 1
  297.   store i64 undef, i64* %R5_Var
  298.   %R6_Var = alloca i64, i32 1
  299.   store i64 undef, i64* %R6_Var
  300.   %F1_Var = alloca float, i32 1
  301.   store float undef, float* %F1_Var
  302.   %D1_Var = alloca double, i32 1
  303.   store double undef, double* %D1_Var
  304.   %F2_Var = alloca float, i32 1
  305.   store float undef, float* %F2_Var
  306.   %D2_Var = alloca double, i32 1
  307.   store double undef, double* %D2_Var
  308.   %F3_Var = alloca float, i32 1
  309.   store float undef, float* %F3_Var
  310.   %D3_Var = alloca double, i32 1
  311.   store double undef, double* %D3_Var
  312.   %F4_Var = alloca float, i32 1
  313.   store float undef, float* %F4_Var
  314.   %D4_Var = alloca double, i32 1
  315.   store double undef, double* %D4_Var
  316.   %F5_Var = alloca float, i32 1
  317.   store float undef, float* %F5_Var
  318.   %D5_Var = alloca double, i32 1
  319.   store double undef, double* %D5_Var
  320.   %F6_Var = alloca float, i32 1
  321.   store float undef, float* %F6_Var
  322.   %D6_Var = alloca double, i32 1
  323.   store double undef, double* %D6_Var
  324.   %lc1fl = alloca i64, i32 1
  325.   %R2_Var = alloca i64, i32 1
  326.   store i64 undef, i64* %R2_Var
  327.   %R1_Var = alloca i64, i32 1
  328.   store i64 %R1_Arg, i64* %R1_Var
  329.   %Sp_Var = alloca i64*, i32 1
  330.   store i64* %Sp_Arg, i64** %Sp_Var
  331.   %ln1fs = load i64, i64* %R1_Var
  332.   store i64 %ln1fs, i64* %l01D
  333.   %ln1ft = load i64*, i64** %Sp_Var
  334.   %ln1fu = getelementptr inbounds i64, i64* %ln1ft, i32 1
  335.   %ln1fv = ptrtoint i64* %ln1fu to i64
  336.   %ln1fw = sub i64 %ln1fv, 24
  337.   %ln1fx = icmp ult i64 %ln1fw, %SpLim_Arg
  338.   %ln1fy = call ccc i1 (i1, i1) @llvm.expect.i1( i1 %ln1fx, i1 0 )
  339.   br i1 %ln1fy, label %c1fp, label %c1fq
  340. c1fq:
  341.   %ln1fz = ptrtoint i64* %Base_Arg to i64
  342.   %ln1fA = inttoptr i64 %ln1fz to i8*
  343.   %ln1fB = load i64, i64* %l01D
  344.   %ln1fC = inttoptr i64 %ln1fB to i8*
  345.   %ln1fD = bitcast i8* @newCAF to i8* (i8*, i8*)*
  346.   store i64 undef, i64* %R3_Var
  347.   store i64 undef, i64* %R4_Var
  348.   store i64 undef, i64* %R5_Var
  349.   store i64 undef, i64* %R6_Var
  350.   store float undef, float* %F1_Var
  351.   store double undef, double* %D1_Var
  352.   store float undef, float* %F2_Var
  353.   store double undef, double* %D2_Var
  354.   store float undef, float* %F3_Var
  355.   store double undef, double* %D3_Var
  356.   store float undef, float* %F4_Var
  357.   store double undef, double* %D4_Var
  358.   store float undef, float* %F5_Var
  359.   store double undef, double* %D5_Var
  360.   store float undef, float* %F6_Var
  361.   store double undef, double* %D6_Var
  362.   %ln1fE = call ccc i8* (i8*, i8*) %ln1fD( i8* %ln1fA, i8* %ln1fC ) nounwind
  363.   %ln1fF = ptrtoint i8* %ln1fE to i64
  364.   store i64 %ln1fF, i64* %lc1fl
  365.   %ln1fG = load i64, i64* %lc1fl
  366.   %ln1fH = icmp eq i64 %ln1fG, 0
  367.   br i1 %ln1fH, label %c1fn, label %c1fm
  368. c1fm:
  369.   %ln1fJ = ptrtoint i8* @stg_bh_upd_frame_info to i64
  370.   %ln1fI = load i64*, i64** %Sp_Var
  371.   %ln1fK = getelementptr inbounds i64, i64* %ln1fI, i32 -2
  372.   store i64 %ln1fJ, i64* %ln1fK, !tbaa !2
  373.   %ln1fM = load i64, i64* %lc1fl
  374.   %ln1fL = load i64*, i64** %Sp_Var
  375.   %ln1fN = getelementptr inbounds i64, i64* %ln1fL, i32 -1
  376.   store i64 %ln1fM, i64* %ln1fN, !tbaa !2
  377.   %ln1fO = ptrtoint %Main_main_closure_struct* @Main_main_closure$def to i64
  378.   store i64 %ln1fO, i64* %R2_Var
  379.   store i64 %ln1fP, i64* %R1_Var
  380.   %ln1fQ = load i64*, i64** %Sp_Var
  381.   %ln1fR = getelementptr inbounds i64, i64* %ln1fQ, i32 -2
  382.   %ln1fS = ptrtoint i64* %ln1fR to i64
  383.   %ln1fT = inttoptr i64 %ln1fS to i64*
  384.   store i64* %ln1fT, i64** %Sp_Var
  385.   %ln1fU = bitcast i8* @stg_ap_p_fast to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  386.   %ln1fV = load i64*, i64** %Sp_Var
  387.   %ln1fW = load i64, i64* %R1_Var
  388.   %ln1fX = load i64, i64* %R2_Var
  389.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1fU( i64* %Base_Arg, i64* %ln1fV, i64* %Hp_Arg, i64 %ln1fW, i64 %ln1fX, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  390.   ret void
  391. c1fn:
  392.   %ln1fY = load i64, i64* %l01D
  393.   %ln1fZ = inttoptr i64 %ln1fY to i64*
  394.   %ln1g0 = load i64, i64* %ln1fZ, !tbaa !1
  395.   %ln1g1 = inttoptr i64 %ln1g0 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  396.   %ln1g2 = load i64*, i64** %Sp_Var
  397.   %ln1g3 = load i64, i64* %R1_Var
  398.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1g1( i64* %Base_Arg, i64* %ln1g2, i64* %Hp_Arg, i64 %ln1g3, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  399.   ret void
  400. c1fp:
  401.   %ln1g4 = load i64, i64* %l01D
  402.   store i64 %ln1g4, i64* %R1_Var
  403.   %ln1g5 = getelementptr inbounds i64, i64* %Base_Arg, i32 -2
  404.   %ln1g6 = bitcast i64* %ln1g5 to i64*
  405.   %ln1g7 = load i64, i64* %ln1g6, !tbaa !5
  406.   %ln1g8 = inttoptr i64 %ln1g7 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
  407.   %ln1g9 = load i64*, i64** %Sp_Var
  408.   %ln1ga = load i64, i64* %R1_Var
  409.   tail call ghccc void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64) %ln1g8( i64* %Base_Arg, i64* %ln1g9, i64* %Hp_Arg, i64 %ln1ga, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
  410.   ret void
  411. }
  412. %r12I_bytes_struct = type <{[5 x i8]}>
  413. @r12I_bytes$def = internal constant %r12I_bytes_struct<{[5 x i8] [i8 109, i8 97, i8 105, i8 110, i8 0]}>, align 1
  414. @r12I_bytes = internal alias i8, bitcast (%r12I_bytes_struct* @r12I_bytes$def to i8*)
  415. %r130_closure_struct = type <{i64, i64}>
  416. @r130_closure$def = internal global %r130_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_con_info to i64), i64 ptrtoint (%r12I_bytes_struct* @r12I_bytes$def to i64)}>
  417. @r130_closure = internal alias i8, bitcast (%r130_closure_struct* @r130_closure$def to i8*)
  418. %r131_bytes_struct = type <{[5 x i8]}>
  419. @r131_bytes$def = internal constant %r131_bytes_struct<{[5 x i8] [i8 77, i8 97, i8 105, i8 110, i8 0]}>, align 1
  420. @r131_bytes = internal alias i8, bitcast (%r131_bytes_struct* @r131_bytes$def to i8*)
  421. %r132_closure_struct = type <{i64, i64}>
  422. @r132_closure$def = internal global %r132_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_TrNameS_con_info to i64), i64 ptrtoint (%r131_bytes_struct* @r131_bytes$def to i64)}>
  423. @r132_closure = internal alias i8, bitcast (%r132_closure_struct* @r132_closure$def to i8*)
  424. %Main_zdtrModule_closure_struct = type <{i64, i64, i64, i64}>
  425. @Main_zdtrModule_closure$def = internal global %Main_zdtrModule_closure_struct<{i64 ptrtoint (i8* @ghczmprim_GHCziTypes_Module_con_info to i64), i64 add (i64 ptrtoint (%r130_closure_struct* @r130_closure$def to i64),i64 1), i64 add (i64 ptrtoint (%r132_closure_struct* @r132_closure$def to i64),i64 1), i64 3}>
  426. @Main_zdtrModule_closure = alias i8, bitcast (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i8*)
  427. @newCAF = external global i8
  428. @stg_bh_upd_frame_info = external global i8
  429. @stg_ap_n_fast = external global i8
  430. @stg_ap_p_fast = external global i8
  431. @llvm.used = appending constant [12 x i8*] [i8* bitcast (%Main_zdtrModule_closure_struct* @Main_zdtrModule_closure$def to i8*), i8* bitcast (%r132_closure_struct* @r132_closure$def to i8*), i8* bitcast (%r131_bytes_struct* @r131_bytes$def to i8*), i8* bitcast (%r130_closure_struct* @r130_closure$def to i8*), i8* bitcast (%r12I_bytes_struct* @r12I_bytes$def to i8*), i8* bitcast (%ZCMain_main_closure_struct* @ZCMain_main_closure$def to i8*), i8* bitcast (%S1fr_srt_struct* @S1fr_srt$def to i8*), i8* bitcast (%Main_main_closure_struct* @Main_main_closure$def to i8*), i8* bitcast (%S1ey_srt_struct* @S1ey_srt$def to i8*), i8* bitcast (%c1dz_str_struct* @c1dz_str$def to i8*), i8* bitcast (%s1ds_closure_struct* @s1ds_closure$def to i8*), i8* bitcast (%S1dD_srt_struct* @S1dD_srt$def to i8*)], section "llvm.metadata"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement