Ticket #8974: T8947.ll

File T8947.ll, 19.2 KB (added by awson, 5 years ago)
Line 
1
2declare ccc i8* @memcpy(i8*, i8*, i64)
3declare ccc i8* @memmove(i8*, i8*, i64)
4declare ccc i8* @memset(i8*, i64, i64)
5declare ccc i64 @newSpark(i8*, i8*)
6!0 = metadata !{metadata !"top", i8* null}
7!1 = metadata !{metadata !"stack", metadata !0}
8!2 = metadata !{metadata !"heap", metadata !0}
9!3 = metadata !{metadata !"rx", metadata !2}
10!4 = metadata !{metadata !"base", metadata !0}
11!5 = metadata !{metadata !"other", metadata !0}
12%__stginit_T8947_struct = type <{}>
13@__stginit_T8947 = global %__stginit_T8947_struct<{}>
14%T8947_t2_closure_struct = type <{i64, i64, i64, i64}>
15%c1el_str_struct = type <{[5 x i8]}>
16@T8947_t2_closure = global %T8947_t2_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @T8947_t2_info to i64), i64 0, i64 0, i64 0}>
17@c1el_str = internal constant %c1el_str_struct<{[5 x i8] [i8 68, i8 111, i8 110, i8 101, i8 0]}>
18%T8947_t2_entry_struct = type <{i64, i64}>
19@T8947_t2_info_itable = constant %T8947_t2_entry_struct<{i64 0, i64 22}>, section "X98A__STRIP,__me1", align 8
20define cc 10 void @T8947_t2_info(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 section "X98A__STRIP,__me2"
21{
22c1em:
23  %R5_Var = alloca i64, i32 1
24  store i64 undef, i64* %R5_Var
25  %R6_Var = alloca i64, i32 1
26  store i64 undef, i64* %R6_Var
27  %F1_Var = alloca float, i32 1
28  store float undef, float* %F1_Var
29  %D1_Var = alloca double, i32 1
30  store double undef, double* %D1_Var
31  %F2_Var = alloca float, i32 1
32  store float undef, float* %F2_Var
33  %D2_Var = alloca double, i32 1
34  store double undef, double* %D2_Var
35  %F3_Var = alloca float, i32 1
36  store float undef, float* %F3_Var
37  %D3_Var = alloca double, i32 1
38  store double undef, double* %D3_Var
39  %F4_Var = alloca float, i32 1
40  store float undef, float* %F4_Var
41  %D4_Var = alloca double, i32 1
42  store double undef, double* %D4_Var
43  %F5_Var = alloca float, i32 1
44  store float undef, float* %F5_Var
45  %D5_Var = alloca double, i32 1
46  store double undef, double* %D5_Var
47  %lc1ei = alloca i64, i32 1
48  %R2_Var = alloca i64, i32 1
49  store i64 undef, i64* %R2_Var
50  %Sp_Var = alloca i64*, i32 1
51  store i64* %Sp_Arg, i64** %Sp_Var
52  %R1_Var = alloca i64, i32 1
53  store i64 %R1_Arg, i64* %R1_Var
54  %ln1ep = load i64** %Sp_Var
55  %ln1eq = getelementptr inbounds i64* %ln1ep, i32 -2
56  %ln1er = ptrtoint i64* %ln1eq to i64
57  %ln1es = icmp ult i64 %ln1er, %SpLim_Arg
58  br i1 %ln1es, label %c1en, label %c1eo
59c1eo:
60  %ln1et = ptrtoint i64* %Base_Arg to i64
61  %ln1eu = inttoptr i64 %ln1et to i8*
62  %ln1ev = load i64* %R1_Var
63  %ln1ew = inttoptr i64 %ln1ev to i8*
64  %ln1ex = bitcast i8* @newCAF$alias to i8* (i8*, i8*)*
65  store i64 undef, i64* %R5_Var
66  store i64 undef, i64* %R6_Var
67  store float undef, float* %F1_Var
68  store double undef, double* %D1_Var
69  store float undef, float* %F2_Var
70  store double undef, double* %D2_Var
71  store float undef, float* %F3_Var
72  store double undef, double* %D3_Var
73  store float undef, float* %F4_Var
74  store double undef, double* %D4_Var
75  store float undef, float* %F5_Var
76  store double undef, double* %D5_Var
77  %ln1ey = call ccc i8* (i8*, i8*)* %ln1ex( i8* %ln1eu, i8* %ln1ew ) nounwind
78  %ln1ez = ptrtoint i8* %ln1ey to i64
79  store i64 %ln1ez, i64* %lc1ei
80  %ln1eA = load i64* %lc1ei
81  %ln1eB = icmp eq i64 %ln1eA, 0
82  br i1 %ln1eB, label %c1ek, label %c1ej
83c1ej:
84  %ln1eD = ptrtoint i8* @stg_bh_upd_frame_info$alias to i64
85  %ln1eC = load i64** %Sp_Var
86  %ln1eE = getelementptr inbounds i64* %ln1eC, i32 -2
87  store i64 %ln1eD, i64* %ln1eE, !tbaa !1
88  %ln1eG = load i64* %lc1ei
89  %ln1eF = load i64** %Sp_Var
90  %ln1eH = getelementptr inbounds i64* %ln1eF, i32 -1
91  store i64 %ln1eG, i64* %ln1eH, !tbaa !1
92  %ln1eI = ptrtoint %c1el_str_struct* @c1el_str to i64
93  store i64 %ln1eI, i64* %R2_Var
94  %ln1eJ = load i64** %Sp_Var
95  %ln1eK = getelementptr inbounds i64* %ln1eJ, i32 -2
96  %ln1eL = ptrtoint i64* %ln1eK to i64
97  %ln1eM = inttoptr i64 %ln1eL to i64*
98  store i64* %ln1eM, i64** %Sp_Var
99  %ln1eN = bitcast i8* @ghczmprim_GHCziCString_unpackCStringzh_info$alias to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
100  %ln1eO = load i64** %Sp_Var
101  %ln1eP = load i64* %R1_Var
102  %ln1eQ = load i64* %R2_Var
103  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1eN( i64* %Base_Arg, i64* %ln1eO, i64* %Hp_Arg, i64 %ln1eP, i64 %ln1eQ, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
104  ret void
105c1ek:
106  %ln1eS = load i64* %R1_Var
107  %ln1eT = inttoptr i64 %ln1eS to i64*
108  %ln1eU = load i64* %ln1eT, !tbaa !3
109  %ln1eV = inttoptr i64 %ln1eU to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
110  %ln1eW = load i64** %Sp_Var
111  %ln1eX = load i64* %R1_Var
112  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1eV( i64* %Base_Arg, i64* %ln1eW, i64* %Hp_Arg, i64 %ln1eX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
113  ret void
114c1en:
115  %ln1eY = load i64* %R1_Var
116  store i64 %ln1eY, i64* %R1_Var
117  %ln1eZ = getelementptr inbounds i64* %Base_Arg, i32 -2
118  %ln1f0 = bitcast i64* %ln1eZ to i64*
119  %ln1f1 = load i64* %ln1f0, !tbaa !4
120  %ln1f2 = inttoptr i64 %ln1f1 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
121  %ln1f3 = load i64** %Sp_Var
122  %ln1f4 = load i64* %R1_Var
123  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1f2( i64* %Base_Arg, i64* %ln1f3, i64* %Hp_Arg, i64 %ln1f4, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
124  ret void
125}
126%T8947_t1_closure_struct = type <{i64, i64}>
127@T8947_t1_closure = global %T8947_t1_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @T8947_t1_info to i64), i64 0}>
128%T8947_t1_entry_struct = type <{i64, i64, i64, i64}>
129@T8947_t1_info_itable = constant %T8947_t1_entry_struct<{i64 add (i64 sub (i64 ptrtoint (i8* @S1fm_srt$alias to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @T8947_t1_info to i64)),i64 0), i64 4294967299, i64 0, i64 64424509455}>, section "X98A__STRIP,__me3", align 8
130define cc 10 void @T8947_t1_info(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 section "X98A__STRIP,__me4"
131{
132c1fd:
133  %Sp_Var = alloca i64*, i32 1
134  store i64* %Sp_Arg, i64** %Sp_Var
135  %R5_Var = alloca i64, i32 1
136  store i64 undef, i64* %R5_Var
137  %R6_Var = alloca i64, i32 1
138  store i64 undef, i64* %R6_Var
139  %F1_Var = alloca float, i32 1
140  store float undef, float* %F1_Var
141  %D1_Var = alloca double, i32 1
142  store double undef, double* %D1_Var
143  %F2_Var = alloca float, i32 1
144  store float undef, float* %F2_Var
145  %D2_Var = alloca double, i32 1
146  store double undef, double* %D2_Var
147  %F3_Var = alloca float, i32 1
148  store float undef, float* %F3_Var
149  %D3_Var = alloca double, i32 1
150  store double undef, double* %D3_Var
151  %F4_Var = alloca float, i32 1
152  store float undef, float* %F4_Var
153  %D4_Var = alloca double, i32 1
154  store double undef, double* %D4_Var
155  %F5_Var = alloca float, i32 1
156  store float undef, float* %F5_Var
157  %D5_Var = alloca double, i32 1
158  store double undef, double* %D5_Var
159  %lu1fh = alloca i64, i32 1
160  %lu1fi = alloca i64, i32 1
161  %Base_Var = alloca i64*, i32 1
162  store i64* %Base_Arg, i64** %Base_Var
163  %lu1fk = alloca i64, i32 1
164  %SpLim_Var = alloca i64, i32 1
165  store i64 %SpLim_Arg, i64* %SpLim_Var
166  %Hp_Var = alloca i64*, i32 1
167  store i64* %Hp_Arg, i64** %Hp_Var
168  %R1_Var = alloca i64, i32 1
169  store i64 %R1_Arg, i64* %R1_Var
170  %ln1fn = load i64** %Sp_Var
171  %ln1fo = getelementptr inbounds i64* %ln1fn, i32 -1
172  %ln1fp = ptrtoint i64* %ln1fo to i64
173  %ln1fq = load i64* %SpLim_Var
174  %ln1fr = icmp ult i64 %ln1fp, %ln1fq
175  br i1 %ln1fr, label %c1ff, label %c1fg
176c1fg:
177  %ln1ft = ptrtoint void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @c1fb_info to i64
178  %ln1fs = load i64** %Sp_Var
179  %ln1fu = getelementptr inbounds i64* %ln1fs, i32 -1
180  store i64 %ln1ft, i64* %ln1fu, !tbaa !1
181  %ln1fv = load i64** %Sp_Var
182  %ln1fw = getelementptr inbounds i64* %ln1fv, i32 -1
183  %ln1fx = ptrtoint i64* %ln1fw to i64
184  %ln1fy = inttoptr i64 %ln1fx to i64*
185  store i64* %ln1fy, i64** %Sp_Var
186  %ln1fz = load i64** %Base_Var
187  %ln1fA = getelementptr inbounds i64* %ln1fz, i32 109
188  %ln1fB = bitcast i64* %ln1fA to i64*
189  %ln1fC = load i64* %ln1fB, !tbaa !4
190  %ln1fD = add i64 %ln1fC, 24
191  %ln1fE = inttoptr i64 %ln1fD to i64*
192  %ln1fF = load i64* %ln1fE, !tbaa !5
193  %ln1fG = add i64 %ln1fF, 16
194  %ln1fH = load i64** %Sp_Var
195  %ln1fI = ptrtoint i64* %ln1fH to i64
196  %ln1fJ = inttoptr i64 %ln1fG to i64*
197  store i64 %ln1fI, i64* %ln1fJ, !tbaa !5
198  %ln1fK = load i64** %Base_Var
199  %ln1fL = getelementptr inbounds i64* %ln1fK, i32 111
200  %ln1fM = bitcast i64* %ln1fL to i64*
201  %ln1fN = load i64* %ln1fM, !tbaa !4
202  %ln1fO = add i64 %ln1fN, 8
203  %ln1fP = load i64** %Hp_Var
204  %ln1fQ = getelementptr inbounds i64* %ln1fP, i32 1
205  %ln1fR = ptrtoint i64* %ln1fQ to i64
206  %ln1fS = inttoptr i64 %ln1fO to i64*
207  store i64 %ln1fR, i64* %ln1fS, !tbaa !5
208  %ln1fT = load i64** %Base_Var
209  %ln1fU = ptrtoint i64* %ln1fT to i64
210  %ln1fV = inttoptr i64 %ln1fU to i8*
211  %ln1fW = bitcast i8* @suspendThread$alias to i8* (i8*, i64)*
212  store i64 undef, i64* %R5_Var
213  store i64 undef, i64* %R6_Var
214  store float undef, float* %F1_Var
215  store double undef, double* %D1_Var
216  store float undef, float* %F2_Var
217  store double undef, double* %D2_Var
218  store float undef, float* %F3_Var
219  store double undef, double* %D3_Var
220  store float undef, float* %F4_Var
221  store double undef, double* %D4_Var
222  store float undef, float* %F5_Var
223  store double undef, double* %D5_Var
224  %ln1fX = call ccc i8* (i8*, i64)* %ln1fW( i8* %ln1fV, i64 0 ) nounwind
225  %ln1fY = ptrtoint i8* %ln1fX to i64
226  store i64 %ln1fY, i64* %lu1fh
227  %ln1fZ = bitcast i8* @performMajorGC$alias to void ()*
228  store i64 undef, i64* %R5_Var
229  store i64 undef, i64* %R6_Var
230  store float undef, float* %F1_Var
231  store double undef, double* %D1_Var
232  store float undef, float* %F2_Var
233  store double undef, double* %D2_Var
234  store float undef, float* %F3_Var
235  store double undef, double* %D3_Var
236  store float undef, float* %F4_Var
237  store double undef, double* %D4_Var
238  store float undef, float* %F5_Var
239  store double undef, double* %D5_Var
240  call ccc void ()* %ln1fZ( ) nounwind
241  %ln1g0 = load i64* %lu1fh
242  %ln1g1 = inttoptr i64 %ln1g0 to i8*
243  %ln1g2 = bitcast i8* @resumeThread$alias to i8* (i8*)*
244  store i64 undef, i64* %R5_Var
245  store i64 undef, i64* %R6_Var
246  store float undef, float* %F1_Var
247  store double undef, double* %D1_Var
248  store float undef, float* %F2_Var
249  store double undef, double* %D2_Var
250  store float undef, float* %F3_Var
251  store double undef, double* %D3_Var
252  store float undef, float* %F4_Var
253  store double undef, double* %D4_Var
254  store float undef, float* %F5_Var
255  store double undef, double* %D5_Var
256  %ln1g3 = call ccc i8* (i8*)* %ln1g2( i8* %ln1g1 ) nounwind
257  %ln1g4 = ptrtoint i8* %ln1g3 to i64
258  store i64 %ln1g4, i64* %lu1fi
259  %ln1g5 = load i64* %lu1fi
260  %ln1g6 = inttoptr i64 %ln1g5 to i64*
261  store i64* %ln1g6, i64** %Base_Var
262  %ln1g7 = load i64** %Base_Var
263  %ln1g8 = getelementptr inbounds i64* %ln1g7, i32 109
264  %ln1g9 = bitcast i64* %ln1g8 to i64*
265  %ln1ga = load i64* %ln1g9, !tbaa !4
266  %ln1gb = add i64 %ln1ga, 24
267  %ln1gc = inttoptr i64 %ln1gb to i64*
268  %ln1gd = load i64* %ln1gc, !tbaa !5
269  store i64 %ln1gd, i64* %lu1fk
270  %ln1ge = load i64* %lu1fk
271  %ln1gf = add i64 %ln1ge, 16
272  %ln1gg = inttoptr i64 %ln1gf to i64*
273  %ln1gh = load i64* %ln1gg, !tbaa !5
274  %ln1gi = inttoptr i64 %ln1gh to i64*
275  store i64* %ln1gi, i64** %Sp_Var
276  %ln1gj = load i64* %lu1fk
277  %ln1gk = add i64 %ln1gj, 192
278  store i64 %ln1gk, i64* %SpLim_Var
279  %ln1gl = load i64** %Base_Var
280  %ln1gm = getelementptr inbounds i64* %ln1gl, i32 113
281  store i64 0, i64* %ln1gm, !tbaa !4
282  %ln1gn = load i64** %Base_Var
283  %ln1go = getelementptr inbounds i64* %ln1gn, i32 111
284  %ln1gp = bitcast i64* %ln1go to i64*
285  %ln1gq = load i64* %ln1gp, !tbaa !4
286  %ln1gr = add i64 %ln1gq, 8
287  %ln1gs = inttoptr i64 %ln1gr to i64*
288  %ln1gt = load i64* %ln1gs, !tbaa !5
289  %ln1gu = add i64 %ln1gt, -8
290  %ln1gv = inttoptr i64 %ln1gu to i64*
291  store i64* %ln1gv, i64** %Hp_Var
292  %ln1gx = load i64** %Base_Var
293  %ln1gy = getelementptr inbounds i64* %ln1gx, i32 111
294  %ln1gz = bitcast i64* %ln1gy to i64*
295  %ln1gA = load i64* %ln1gz, !tbaa !4
296  %ln1gB = inttoptr i64 %ln1gA to i64*
297  %ln1gC = load i64* %ln1gB, !tbaa !5
298  %ln1gD = load i64** %Base_Var
299  %ln1gE = getelementptr inbounds i64* %ln1gD, i32 111
300  %ln1gF = bitcast i64* %ln1gE to i64*
301  %ln1gG = load i64* %ln1gF, !tbaa !4
302  %ln1gH = add i64 %ln1gG, 48
303  %ln1gI = inttoptr i64 %ln1gH to i32*
304  %ln1gJ = load i32* %ln1gI, !tbaa !5
305  %ln1gK = sext i32 %ln1gJ to i64
306  %ln1gL = shl i64 %ln1gK, 12
307  %ln1gM = add i64 %ln1gL, -1
308  %ln1gN = add i64 %ln1gC, %ln1gM
309  %ln1gw = load i64** %Base_Var
310  %ln1gO = getelementptr inbounds i64* %ln1gw, i32 107
311  store i64 %ln1gN, i64* %ln1gO, !tbaa !4
312  %ln1gP = load i64** %Sp_Var
313  %ln1gQ = getelementptr inbounds i64* %ln1gP, i32 0
314  %ln1gR = bitcast i64* %ln1gQ to i64*
315  %ln1gS = load i64* %ln1gR, !tbaa !1
316  %ln1gT = inttoptr i64 %ln1gS to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
317  %ln1gU = load i64** %Base_Var
318  %ln1gV = load i64** %Sp_Var
319  %ln1gW = load i64** %Hp_Var
320  %ln1gX = load i64* %R1_Var
321  %ln1gY = load i64* %SpLim_Var
322  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1gT( i64* %ln1gU, i64* %ln1gV, i64* %ln1gW, i64 %ln1gX, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %ln1gY ) nounwind
323  ret void
324c1ff:
325  %ln1gZ = ptrtoint %T8947_t1_closure_struct* @T8947_t1_closure to i64
326  store i64 %ln1gZ, i64* %R1_Var
327  %ln1h0 = load i64** %Base_Var
328  %ln1h1 = getelementptr inbounds i64* %ln1h0, i32 -1
329  %ln1h2 = bitcast i64* %ln1h1 to i64*
330  %ln1h3 = load i64* %ln1h2, !tbaa !4
331  %ln1h4 = inttoptr i64 %ln1h3 to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
332  %ln1h5 = load i64** %Base_Var
333  %ln1h6 = load i64** %Sp_Var
334  %ln1h7 = load i64** %Hp_Var
335  %ln1h8 = load i64* %R1_Var
336  %ln1h9 = load i64* %SpLim_Var
337  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1h4( i64* %ln1h5, i64* %ln1h6, i64* %ln1h7, i64 %ln1h8, i64 undef, i64 undef, i64 undef, i64 undef, i64 undef, i64 %ln1h9 ) nounwind
338  ret void
339}
340%c1fb_entry_struct = type <{i64, i64, i64}>
341@c1fb_info_itable = internal constant %c1fb_entry_struct<{i64 add (i64 sub (i64 ptrtoint (i8* @S1fm_srt$alias to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @c1fb_info to i64)),i64 0), i64 0, i64 47244640288}>, section "X98A__STRIP,__me5", align 8
342define internal cc 10 void @c1fb_info(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 section "X98A__STRIP,__me6"
343{
344c1fb:
345  %R4_Var = alloca i64, i32 1
346  store i64 undef, i64* %R4_Var
347  %R3_Var = alloca i64, i32 1
348  store i64 undef, i64* %R3_Var
349  %R2_Var = alloca i64, i32 1
350  store i64 undef, i64* %R2_Var
351  %Sp_Var = alloca i64*, i32 1
352  store i64* %Sp_Arg, i64** %Sp_Var
353  %ln1ha = ptrtoint i8* @ghczmprim_GHCziTypes_True_closure$alias to i64
354  %ln1hb = add i64 %ln1ha, 2
355  store i64 %ln1hb, i64* %R4_Var
356  %ln1hc = ptrtoint %T8947_t2_closure_struct* @T8947_t2_closure to i64
357  store i64 %ln1hc, i64* %R3_Var
358  %ln1hd = ptrtoint i8* @base_GHCziIOziHandleziFD_stdout_closure$alias to i64
359  store i64 %ln1hd, i64* %R2_Var
360  %ln1he = load i64** %Sp_Var
361  %ln1hf = getelementptr inbounds i64* %ln1he, i32 1
362  %ln1hg = ptrtoint i64* %ln1hf to i64
363  %ln1hh = inttoptr i64 %ln1hg to i64*
364  store i64* %ln1hh, i64** %Sp_Var
365  %ln1hi = bitcast i8* @base_GHCziIOziHandleziText_hPutStr2_info$alias to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
366  %ln1hj = load i64** %Sp_Var
367  %ln1hk = load i64* %R2_Var
368  %ln1hl = load i64* %R3_Var
369  %ln1hm = load i64* %R4_Var
370  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1hi( i64* %Base_Arg, i64* %ln1hj, i64* %Hp_Arg, i64 %R1_Arg, i64 %ln1hk, i64 %ln1hl, i64 %ln1hm, i64 undef, i64 undef, i64 %SpLim_Arg ) nounwind
371  ret void
372}
373%T8947_t8947_closure_struct = type <{i64, i64}>
374@T8947_t8947_closure = global %T8947_t8947_closure_struct<{i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @T8947_t8947_info to i64), i64 0}>
375%T8947_t8947_entry_struct = type <{i64, i64, i64, i64}>
376@T8947_t8947_info_itable = constant %T8947_t8947_entry_struct<{i64 add (i64 sub (i64 ptrtoint (i8* @S1fm_srt$alias to i64),i64 ptrtoint (void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @T8947_t8947_info to i64)),i64 16), i64 4294967299, i64 0, i64 4294967311}>, section "X98A__STRIP,__me7", align 8
377define cc 10 void @T8947_t8947_info(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 section "X98A__STRIP,__me8"
378{
379c1hs:
380  %ln1hv = bitcast void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* @T8947_t1_info to void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)*
381  tail call cc 10 void (i64*, i64*, i64*, i64, i64, i64, i64, i64, i64, i64)* %ln1hv( 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
382  ret void
383}
384%S1fm_srt_struct = type <{i64, i64, i64, i64}>
385@S1fm_srt = internal constant %S1fm_srt_struct<{i64 ptrtoint (i8* @base_GHCziIOziHandleziText_hPutStr2_closure$alias to i64), i64 ptrtoint (i8* @base_GHCziIOziHandleziFD_stdout_closure$alias to i64), i64 ptrtoint (%T8947_t1_closure_struct* @T8947_t1_closure to i64), i64 ptrtoint (%T8947_t2_closure_struct* @T8947_t2_closure to i64)}>
386@performMajorGC = external global i8
387@performMajorGC$alias = alias private i8* @performMajorGC
388@newCAF = external global i8
389@newCAF$alias = alias private i8* @newCAF
390@stg_bh_upd_frame_info = external global i8
391@stg_bh_upd_frame_info$alias = alias private i8* @stg_bh_upd_frame_info
392@ghczmprim_GHCziCString_unpackCStringzh_info = external global i8
393@ghczmprim_GHCziCString_unpackCStringzh_info$alias = alias private i8* @ghczmprim_GHCziCString_unpackCStringzh_info
394@suspendThread = external global i8
395@suspendThread$alias = alias private i8* @suspendThread
396@resumeThread = external global i8
397@resumeThread$alias = alias private i8* @resumeThread
398@S1fm_srt$alias = alias private i8* bitcast (%S1fm_srt_struct* @S1fm_srt to i8*)
399@ghczmprim_GHCziTypes_True_closure = external global i8
400@ghczmprim_GHCziTypes_True_closure$alias = alias private i8* @ghczmprim_GHCziTypes_True_closure
401@base_GHCziIOziHandleziFD_stdout_closure = external global i8
402@base_GHCziIOziHandleziFD_stdout_closure$alias = alias private i8* @base_GHCziIOziHandleziFD_stdout_closure
403@base_GHCziIOziHandleziText_hPutStr2_info = external global i8
404@base_GHCziIOziHandleziText_hPutStr2_info$alias = alias private i8* @base_GHCziIOziHandleziText_hPutStr2_info
405@base_GHCziIOziHandleziText_hPutStr2_closure = external global i8
406@base_GHCziIOziHandleziText_hPutStr2_closure$alias = alias private i8* @base_GHCziIOziHandleziText_hPutStr2_closure
407@llvm.used = appending constant [1 x i8*] [i8* bitcast (%c1fb_entry_struct* @c1fb_info_itable to i8*)], section "llvm.metadata"