Mercurial > hg > Members > tobaru > cbc > CbC_llvm
comparison test/CodeGen/AArch64/aarch64-deferred-spilling.ll @ 95:afa8332a0e37
LLVM 3.8
author | Kaito Tokumori <e105711@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 13 Oct 2015 17:48:58 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
84:f3e34b893a5f | 95:afa8332a0e37 |
---|---|
1 ;RUN: llc < %s -mtriple=aarch64--linux-android -regalloc=greedy -enable-deferred-spilling=true -mcpu=cortex-a57 | FileCheck %s --check-prefix=CHECK --check-prefix=DEFERRED | |
2 ;RUN: llc < %s -mtriple=aarch64--linux-android -regalloc=greedy -enable-deferred-spilling=false -mcpu=cortex-a57 | FileCheck %s --check-prefix=CHECK --check-prefix=REGULAR | |
3 | |
4 ; Check that we do not end up with useless spill code. | |
5 ; | |
6 ; Move to the basic block we are interested in. | |
7 ; | |
8 ; CHECK: // %if.then.120 | |
9 ; | |
10 ; REGULAR: str w21, [sp, #[[OFFSET:[0-9]+]]] // 4-byte Folded Spill | |
11 ; Check that w21 wouldn't need to be spilled since it is never reused. | |
12 ; REGULAR-NOT: {{[wx]}}21{{,?}} | |
13 ; | |
14 ; Check that w22 is used to carry a value through the call. | |
15 ; DEFERRED-NOT: str {{[wx]}}22, | |
16 ; DEFERRED: mov {{[wx]}}22, | |
17 ; DEFERRED-NOT: str {{[wx]}}22, | |
18 ; | |
19 ; CHECK: bl fprintf | |
20 ; | |
21 ; DEFERRED-NOT: ldr {{[wx]}}22, | |
22 ; DEFERRED: mov {{[wx][0-9]+}}, {{[wx]}}22 | |
23 ; DEFERRED-NOT: ldr {{[wx]}}22, | |
24 ; | |
25 ; REGULAR-NOT: {{[wx]}}21{{,?}} | |
26 ; REGULAR: ldr w21, [sp, #[[OFFSET]]] // 4-byte Folded Reload | |
27 ; | |
28 ; End of the basic block we are interested in. | |
29 ; CHECK: b | |
30 ; CHECK: {{[^:]+}}: // %sw.bb.123 | |
31 | |
32 %struct.__sFILE = type { i8*, i32, i32, i32, i32, %struct.__sbuf, i32, i8*, i32 (i8*)*, i32 (i8*, i8*, i32)*, i64 (i8*, i64, i32)*, i32 (i8*, i8*, i32)*, %struct.__sbuf, i8*, i32, [3 x i8], [1 x i8], %struct.__sbuf, i32, i64 } | |
33 %struct.__sbuf = type { i8*, i64 } | |
34 %struct.DState = type { %struct.bz_stream*, i32, i8, i32, i8, i32, i32, i32, i32, i32, i8, i32, i32, i32, i32, i32, [256 x i32], i32, [257 x i32], [257 x i32], i32*, i16*, i8*, i32, i32, i32, i32, i32, [256 x i8], [16 x i8], [256 x i8], [4096 x i8], [16 x i32], [18002 x i8], [18002 x i8], [6 x [258 x i8]], [6 x [258 x i32]], [6 x [258 x i32]], [6 x [258 x i32]], [6 x i32], i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32*, i32*, i32* } | |
35 %struct.bz_stream = type { i8*, i32, i32, i32, i8*, i32, i32, i32, i8*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i8* } | |
36 | |
37 @__sF = external global [0 x %struct.__sFILE], align 8 | |
38 @.str = private unnamed_addr constant [20 x i8] c"\0A [%d: stuff+mf \00", align 1 | |
39 | |
40 declare i32 @fprintf(%struct.__sFILE* nocapture, i8* nocapture readonly, ...) | |
41 | |
42 declare void @bar(i32) | |
43 | |
44 declare void @llvm.memset.p0i8.i64(i8* nocapture, i8, i64, i32, i1) | |
45 | |
46 define i32 @foo(%struct.DState* %s) { | |
47 entry: | |
48 %state = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 1 | |
49 %tmp = load i32, i32* %state, align 4 | |
50 %cmp = icmp eq i32 %tmp, 10 | |
51 %save_i = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 40 | |
52 br i1 %cmp, label %if.end.thread, label %if.end | |
53 | |
54 if.end.thread: ; preds = %entry | |
55 %save_j = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 41 | |
56 %save_t = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 42 | |
57 %save_alphaSize = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 43 | |
58 %save_nGroups = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 44 | |
59 %save_nSelectors = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 45 | |
60 %save_EOB = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 46 | |
61 %save_groupNo = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 47 | |
62 %save_groupPos = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 48 | |
63 %save_nextSym = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 49 | |
64 %save_nblockMAX = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 50 | |
65 %save_nblock = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 51 | |
66 %save_es = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 52 | |
67 %save_N = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 53 | |
68 %save_curr = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 54 | |
69 %save_zt = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 55 | |
70 %save_zn = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 56 | |
71 %save_zvec = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 57 | |
72 %save_zj = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 58 | |
73 %tmp1 = bitcast i32* %save_i to i8* | |
74 call void @llvm.memset.p0i8.i64(i8* %tmp1, i8 0, i64 108, i32 4, i1 false) | |
75 br label %sw.default | |
76 | |
77 if.end: ; preds = %entry | |
78 %.pre = load i32, i32* %save_i, align 4 | |
79 %save_j3.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 41 | |
80 %.pre406 = load i32, i32* %save_j3.phi.trans.insert, align 4 | |
81 %save_t4.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 42 | |
82 %.pre407 = load i32, i32* %save_t4.phi.trans.insert, align 4 | |
83 %save_alphaSize5.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 43 | |
84 %.pre408 = load i32, i32* %save_alphaSize5.phi.trans.insert, align 4 | |
85 %save_nGroups6.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 44 | |
86 %.pre409 = load i32, i32* %save_nGroups6.phi.trans.insert, align 4 | |
87 %save_nSelectors7.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 45 | |
88 %.pre410 = load i32, i32* %save_nSelectors7.phi.trans.insert, align 4 | |
89 %save_EOB8.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 46 | |
90 %.pre411 = load i32, i32* %save_EOB8.phi.trans.insert, align 4 | |
91 %save_groupNo9.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 47 | |
92 %.pre412 = load i32, i32* %save_groupNo9.phi.trans.insert, align 4 | |
93 %save_groupPos10.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 48 | |
94 %.pre413 = load i32, i32* %save_groupPos10.phi.trans.insert, align 4 | |
95 %save_nextSym11.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 49 | |
96 %.pre414 = load i32, i32* %save_nextSym11.phi.trans.insert, align 4 | |
97 %save_nblockMAX12.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 50 | |
98 %.pre415 = load i32, i32* %save_nblockMAX12.phi.trans.insert, align 4 | |
99 %save_nblock13.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 51 | |
100 %.pre416 = load i32, i32* %save_nblock13.phi.trans.insert, align 4 | |
101 %save_es14.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 52 | |
102 %.pre417 = load i32, i32* %save_es14.phi.trans.insert, align 4 | |
103 %save_N15.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 53 | |
104 %.pre418 = load i32, i32* %save_N15.phi.trans.insert, align 4 | |
105 %save_curr16.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 54 | |
106 %.pre419 = load i32, i32* %save_curr16.phi.trans.insert, align 4 | |
107 %save_zt17.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 55 | |
108 %.pre420 = load i32, i32* %save_zt17.phi.trans.insert, align 4 | |
109 %save_zn18.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 56 | |
110 %.pre421 = load i32, i32* %save_zn18.phi.trans.insert, align 4 | |
111 %save_zvec19.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 57 | |
112 %.pre422 = load i32, i32* %save_zvec19.phi.trans.insert, align 4 | |
113 %save_zj20.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 58 | |
114 %.pre423 = load i32, i32* %save_zj20.phi.trans.insert, align 4 | |
115 switch i32 %tmp, label %sw.default [ | |
116 i32 13, label %sw.bb | |
117 i32 14, label %if.end.sw.bb.65_crit_edge | |
118 i32 25, label %if.end.sw.bb.123_crit_edge | |
119 ] | |
120 | |
121 if.end.sw.bb.123_crit_edge: ; preds = %if.end | |
122 %.pre433 = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 8 | |
123 br label %sw.bb.123 | |
124 | |
125 if.end.sw.bb.65_crit_edge: ; preds = %if.end | |
126 %bsLive69.phi.trans.insert = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 8 | |
127 %.pre426 = load i32, i32* %bsLive69.phi.trans.insert, align 4 | |
128 br label %sw.bb.65 | |
129 | |
130 sw.bb: ; preds = %if.end | |
131 %sunkaddr = ptrtoint %struct.DState* %s to i64 | |
132 %sunkaddr485 = add i64 %sunkaddr, 8 | |
133 %sunkaddr486 = inttoptr i64 %sunkaddr485 to i32* | |
134 store i32 13, i32* %sunkaddr486, align 4 | |
135 %bsLive = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 8 | |
136 %tmp2 = load i32, i32* %bsLive, align 4 | |
137 %cmp28.400 = icmp sgt i32 %tmp2, 7 | |
138 br i1 %cmp28.400, label %sw.bb.if.then.29_crit_edge, label %if.end.33.lr.ph | |
139 | |
140 sw.bb.if.then.29_crit_edge: ; preds = %sw.bb | |
141 %sunkaddr487 = ptrtoint %struct.DState* %s to i64 | |
142 %sunkaddr488 = add i64 %sunkaddr487, 32 | |
143 %sunkaddr489 = inttoptr i64 %sunkaddr488 to i32* | |
144 %.pre425 = load i32, i32* %sunkaddr489, align 4 | |
145 br label %if.then.29 | |
146 | |
147 if.end.33.lr.ph: ; preds = %sw.bb | |
148 %tmp3 = bitcast %struct.DState* %s to %struct.bz_stream** | |
149 %.pre424 = load %struct.bz_stream*, %struct.bz_stream** %tmp3, align 8 | |
150 %avail_in.phi.trans.insert = getelementptr inbounds %struct.bz_stream, %struct.bz_stream* %.pre424, i64 0, i32 1 | |
151 %.pre430 = load i32, i32* %avail_in.phi.trans.insert, align 4 | |
152 %tmp4 = add i32 %.pre430, -1 | |
153 br label %if.end.33 | |
154 | |
155 if.then.29: ; preds = %while.body.backedge, %sw.bb.if.then.29_crit_edge | |
156 %tmp5 = phi i32 [ %.pre425, %sw.bb.if.then.29_crit_edge ], [ %or, %while.body.backedge ] | |
157 %.lcssa393 = phi i32 [ %tmp2, %sw.bb.if.then.29_crit_edge ], [ %add, %while.body.backedge ] | |
158 %sub = add nsw i32 %.lcssa393, -8 | |
159 %shr = lshr i32 %tmp5, %sub | |
160 %and = and i32 %shr, 255 | |
161 %sunkaddr491 = ptrtoint %struct.DState* %s to i64 | |
162 %sunkaddr492 = add i64 %sunkaddr491, 36 | |
163 %sunkaddr493 = inttoptr i64 %sunkaddr492 to i32* | |
164 store i32 %sub, i32* %sunkaddr493, align 4 | |
165 %blockSize100k = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 9 | |
166 store i32 %and, i32* %blockSize100k, align 4 | |
167 %and.off = add nsw i32 %and, -49 | |
168 %tmp6 = icmp ugt i32 %and.off, 8 | |
169 br i1 %tmp6, label %save_state_and_return, label %if.end.62 | |
170 | |
171 if.end.33: ; preds = %while.body.backedge, %if.end.33.lr.ph | |
172 %lsr.iv482 = phi i32 [ %tmp4, %if.end.33.lr.ph ], [ %lsr.iv.next483, %while.body.backedge ] | |
173 %tmp7 = phi i32 [ %tmp2, %if.end.33.lr.ph ], [ %add, %while.body.backedge ] | |
174 %cmp35 = icmp eq i32 %lsr.iv482, -1 | |
175 br i1 %cmp35, label %save_state_and_return, label %if.end.37 | |
176 | |
177 if.end.37: ; preds = %if.end.33 | |
178 %tmp8 = bitcast %struct.bz_stream* %.pre424 to i8** | |
179 %sunkaddr494 = ptrtoint %struct.DState* %s to i64 | |
180 %sunkaddr495 = add i64 %sunkaddr494, 32 | |
181 %sunkaddr496 = inttoptr i64 %sunkaddr495 to i32* | |
182 %tmp9 = load i32, i32* %sunkaddr496, align 4 | |
183 %shl = shl i32 %tmp9, 8 | |
184 %tmp10 = load i8*, i8** %tmp8, align 8 | |
185 %tmp11 = load i8, i8* %tmp10, align 1 | |
186 %conv = zext i8 %tmp11 to i32 | |
187 %or = or i32 %conv, %shl | |
188 store i32 %or, i32* %sunkaddr496, align 4 | |
189 %add = add nsw i32 %tmp7, 8 | |
190 %sunkaddr497 = ptrtoint %struct.DState* %s to i64 | |
191 %sunkaddr498 = add i64 %sunkaddr497, 36 | |
192 %sunkaddr499 = inttoptr i64 %sunkaddr498 to i32* | |
193 store i32 %add, i32* %sunkaddr499, align 4 | |
194 %incdec.ptr = getelementptr inbounds i8, i8* %tmp10, i64 1 | |
195 store i8* %incdec.ptr, i8** %tmp8, align 8 | |
196 %sunkaddr500 = ptrtoint %struct.bz_stream* %.pre424 to i64 | |
197 %sunkaddr501 = add i64 %sunkaddr500, 8 | |
198 %sunkaddr502 = inttoptr i64 %sunkaddr501 to i32* | |
199 store i32 %lsr.iv482, i32* %sunkaddr502, align 4 | |
200 %sunkaddr503 = ptrtoint %struct.bz_stream* %.pre424 to i64 | |
201 %sunkaddr504 = add i64 %sunkaddr503, 12 | |
202 %sunkaddr505 = inttoptr i64 %sunkaddr504 to i32* | |
203 %tmp12 = load i32, i32* %sunkaddr505, align 4 | |
204 %inc = add i32 %tmp12, 1 | |
205 store i32 %inc, i32* %sunkaddr505, align 4 | |
206 %cmp49 = icmp eq i32 %inc, 0 | |
207 br i1 %cmp49, label %if.then.51, label %while.body.backedge | |
208 | |
209 if.then.51: ; preds = %if.end.37 | |
210 %sunkaddr506 = ptrtoint %struct.bz_stream* %.pre424 to i64 | |
211 %sunkaddr507 = add i64 %sunkaddr506, 16 | |
212 %sunkaddr508 = inttoptr i64 %sunkaddr507 to i32* | |
213 %tmp13 = load i32, i32* %sunkaddr508, align 4 | |
214 %inc53 = add i32 %tmp13, 1 | |
215 store i32 %inc53, i32* %sunkaddr508, align 4 | |
216 br label %while.body.backedge | |
217 | |
218 while.body.backedge: ; preds = %if.then.51, %if.end.37 | |
219 %lsr.iv.next483 = add i32 %lsr.iv482, -1 | |
220 %cmp28 = icmp sgt i32 %add, 7 | |
221 br i1 %cmp28, label %if.then.29, label %if.end.33 | |
222 | |
223 if.end.62: ; preds = %if.then.29 | |
224 %sub64 = add nsw i32 %and, -48 | |
225 %sunkaddr509 = ptrtoint %struct.DState* %s to i64 | |
226 %sunkaddr510 = add i64 %sunkaddr509, 40 | |
227 %sunkaddr511 = inttoptr i64 %sunkaddr510 to i32* | |
228 store i32 %sub64, i32* %sunkaddr511, align 4 | |
229 br label %sw.bb.65 | |
230 | |
231 sw.bb.65: ; preds = %if.end.62, %if.end.sw.bb.65_crit_edge | |
232 %bsLive69.pre-phi = phi i32* [ %bsLive69.phi.trans.insert, %if.end.sw.bb.65_crit_edge ], [ %bsLive, %if.end.62 ] | |
233 %tmp14 = phi i32 [ %.pre426, %if.end.sw.bb.65_crit_edge ], [ %sub, %if.end.62 ] | |
234 %sunkaddr512 = ptrtoint %struct.DState* %s to i64 | |
235 %sunkaddr513 = add i64 %sunkaddr512, 8 | |
236 %sunkaddr514 = inttoptr i64 %sunkaddr513 to i32* | |
237 store i32 14, i32* %sunkaddr514, align 4 | |
238 %cmp70.397 = icmp sgt i32 %tmp14, 7 | |
239 br i1 %cmp70.397, label %if.then.72, label %if.end.82.lr.ph | |
240 | |
241 if.end.82.lr.ph: ; preds = %sw.bb.65 | |
242 %tmp15 = bitcast %struct.DState* %s to %struct.bz_stream** | |
243 %.pre427 = load %struct.bz_stream*, %struct.bz_stream** %tmp15, align 8 | |
244 %avail_in84.phi.trans.insert = getelementptr inbounds %struct.bz_stream, %struct.bz_stream* %.pre427, i64 0, i32 1 | |
245 %.pre431 = load i32, i32* %avail_in84.phi.trans.insert, align 4 | |
246 %tmp16 = add i32 %.pre431, -1 | |
247 br label %if.end.82 | |
248 | |
249 if.then.72: ; preds = %while.body.68.backedge, %sw.bb.65 | |
250 %.lcssa390 = phi i32 [ %tmp14, %sw.bb.65 ], [ %add97, %while.body.68.backedge ] | |
251 %sub76 = add nsw i32 %.lcssa390, -8 | |
252 %sunkaddr516 = ptrtoint %struct.DState* %s to i64 | |
253 %sunkaddr517 = add i64 %sunkaddr516, 36 | |
254 %sunkaddr518 = inttoptr i64 %sunkaddr517 to i32* | |
255 store i32 %sub76, i32* %sunkaddr518, align 4 | |
256 %currBlockNo = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 11 | |
257 %tmp17 = load i32, i32* %currBlockNo, align 4 | |
258 %inc117 = add nsw i32 %tmp17, 1 | |
259 store i32 %inc117, i32* %currBlockNo, align 4 | |
260 %verbosity = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 12 | |
261 %tmp18 = load i32, i32* %verbosity, align 4 | |
262 %cmp118 = icmp sgt i32 %tmp18, 1 | |
263 br i1 %cmp118, label %if.then.120, label %sw.bb.123, !prof !0 | |
264 | |
265 if.end.82: ; preds = %while.body.68.backedge, %if.end.82.lr.ph | |
266 %lsr.iv480 = phi i32 [ %tmp16, %if.end.82.lr.ph ], [ %lsr.iv.next481, %while.body.68.backedge ] | |
267 %tmp19 = phi i32 [ %tmp14, %if.end.82.lr.ph ], [ %add97, %while.body.68.backedge ] | |
268 %cmp85 = icmp eq i32 %lsr.iv480, -1 | |
269 br i1 %cmp85, label %save_state_and_return, label %if.end.88 | |
270 | |
271 if.end.88: ; preds = %if.end.82 | |
272 %tmp20 = bitcast %struct.bz_stream* %.pre427 to i8** | |
273 %sunkaddr519 = ptrtoint %struct.DState* %s to i64 | |
274 %sunkaddr520 = add i64 %sunkaddr519, 32 | |
275 %sunkaddr521 = inttoptr i64 %sunkaddr520 to i32* | |
276 %tmp21 = load i32, i32* %sunkaddr521, align 4 | |
277 %shl90 = shl i32 %tmp21, 8 | |
278 %tmp22 = load i8*, i8** %tmp20, align 8 | |
279 %tmp23 = load i8, i8* %tmp22, align 1 | |
280 %conv93 = zext i8 %tmp23 to i32 | |
281 %or94 = or i32 %conv93, %shl90 | |
282 store i32 %or94, i32* %sunkaddr521, align 4 | |
283 %add97 = add nsw i32 %tmp19, 8 | |
284 %sunkaddr522 = ptrtoint %struct.DState* %s to i64 | |
285 %sunkaddr523 = add i64 %sunkaddr522, 36 | |
286 %sunkaddr524 = inttoptr i64 %sunkaddr523 to i32* | |
287 store i32 %add97, i32* %sunkaddr524, align 4 | |
288 %incdec.ptr100 = getelementptr inbounds i8, i8* %tmp22, i64 1 | |
289 store i8* %incdec.ptr100, i8** %tmp20, align 8 | |
290 %sunkaddr525 = ptrtoint %struct.bz_stream* %.pre427 to i64 | |
291 %sunkaddr526 = add i64 %sunkaddr525, 8 | |
292 %sunkaddr527 = inttoptr i64 %sunkaddr526 to i32* | |
293 store i32 %lsr.iv480, i32* %sunkaddr527, align 4 | |
294 %sunkaddr528 = ptrtoint %struct.bz_stream* %.pre427 to i64 | |
295 %sunkaddr529 = add i64 %sunkaddr528, 12 | |
296 %sunkaddr530 = inttoptr i64 %sunkaddr529 to i32* | |
297 %tmp24 = load i32, i32* %sunkaddr530, align 4 | |
298 %inc106 = add i32 %tmp24, 1 | |
299 store i32 %inc106, i32* %sunkaddr530, align 4 | |
300 %cmp109 = icmp eq i32 %inc106, 0 | |
301 br i1 %cmp109, label %if.then.111, label %while.body.68.backedge | |
302 | |
303 if.then.111: ; preds = %if.end.88 | |
304 %sunkaddr531 = ptrtoint %struct.bz_stream* %.pre427 to i64 | |
305 %sunkaddr532 = add i64 %sunkaddr531, 16 | |
306 %sunkaddr533 = inttoptr i64 %sunkaddr532 to i32* | |
307 %tmp25 = load i32, i32* %sunkaddr533, align 4 | |
308 %inc114 = add i32 %tmp25, 1 | |
309 store i32 %inc114, i32* %sunkaddr533, align 4 | |
310 br label %while.body.68.backedge | |
311 | |
312 while.body.68.backedge: ; preds = %if.then.111, %if.end.88 | |
313 %lsr.iv.next481 = add i32 %lsr.iv480, -1 | |
314 %cmp70 = icmp sgt i32 %add97, 7 | |
315 br i1 %cmp70, label %if.then.72, label %if.end.82 | |
316 | |
317 if.then.120: ; preds = %if.then.72 | |
318 %call = tail call i32 (%struct.__sFILE*, i8*, ...) @fprintf(%struct.__sFILE* getelementptr inbounds ([0 x %struct.__sFILE], [0 x %struct.__sFILE]* @__sF, i64 0, i64 2), i8* getelementptr inbounds ([20 x i8], [20 x i8]* @.str, i64 0, i64 0), i32 %inc117) | |
319 br label %sw.bb.123 | |
320 | |
321 sw.bb.123: ; preds = %if.then.120, %if.then.72, %if.end.sw.bb.123_crit_edge | |
322 %bsLive127.pre-phi = phi i32* [ %.pre433, %if.end.sw.bb.123_crit_edge ], [ %bsLive69.pre-phi, %if.then.72 ], [ %bsLive69.pre-phi, %if.then.120 ] | |
323 %sunkaddr534 = ptrtoint %struct.DState* %s to i64 | |
324 %sunkaddr535 = add i64 %sunkaddr534, 8 | |
325 %sunkaddr536 = inttoptr i64 %sunkaddr535 to i32* | |
326 store i32 25, i32* %sunkaddr536, align 4 | |
327 %tmp26 = load i32, i32* %bsLive127.pre-phi, align 4 | |
328 %cmp128.395 = icmp sgt i32 %tmp26, 7 | |
329 br i1 %cmp128.395, label %sw.bb.123.if.then.130_crit_edge, label %if.end.140.lr.ph | |
330 | |
331 sw.bb.123.if.then.130_crit_edge: ; preds = %sw.bb.123 | |
332 %sunkaddr537 = ptrtoint %struct.DState* %s to i64 | |
333 %sunkaddr538 = add i64 %sunkaddr537, 32 | |
334 %sunkaddr539 = inttoptr i64 %sunkaddr538 to i32* | |
335 %.pre429 = load i32, i32* %sunkaddr539, align 4 | |
336 br label %if.then.130 | |
337 | |
338 if.end.140.lr.ph: ; preds = %sw.bb.123 | |
339 %tmp27 = bitcast %struct.DState* %s to %struct.bz_stream** | |
340 %.pre428 = load %struct.bz_stream*, %struct.bz_stream** %tmp27, align 8 | |
341 %avail_in142.phi.trans.insert = getelementptr inbounds %struct.bz_stream, %struct.bz_stream* %.pre428, i64 0, i32 1 | |
342 %.pre432 = load i32, i32* %avail_in142.phi.trans.insert, align 4 | |
343 %tmp28 = add i32 %.pre432, -1 | |
344 br label %if.end.140 | |
345 | |
346 if.then.130: ; preds = %while.body.126.backedge, %sw.bb.123.if.then.130_crit_edge | |
347 %tmp29 = phi i32 [ %.pre429, %sw.bb.123.if.then.130_crit_edge ], [ %or152, %while.body.126.backedge ] | |
348 %.lcssa = phi i32 [ %tmp26, %sw.bb.123.if.then.130_crit_edge ], [ %add155, %while.body.126.backedge ] | |
349 %sub134 = add nsw i32 %.lcssa, -8 | |
350 %shr135 = lshr i32 %tmp29, %sub134 | |
351 store i32 %sub134, i32* %bsLive127.pre-phi, align 4 | |
352 %origPtr = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 13 | |
353 %tmp30 = load i32, i32* %origPtr, align 4 | |
354 %shl175 = shl i32 %tmp30, 8 | |
355 %conv176 = and i32 %shr135, 255 | |
356 %or177 = or i32 %shl175, %conv176 | |
357 store i32 %or177, i32* %origPtr, align 4 | |
358 %nInUse = getelementptr inbounds %struct.DState, %struct.DState* %s, i64 0, i32 27 | |
359 %tmp31 = load i32, i32* %nInUse, align 4 | |
360 %add179 = add nsw i32 %tmp31, 2 | |
361 br label %save_state_and_return | |
362 | |
363 if.end.140: ; preds = %while.body.126.backedge, %if.end.140.lr.ph | |
364 %lsr.iv = phi i32 [ %tmp28, %if.end.140.lr.ph ], [ %lsr.iv.next, %while.body.126.backedge ] | |
365 %tmp32 = phi i32 [ %tmp26, %if.end.140.lr.ph ], [ %add155, %while.body.126.backedge ] | |
366 %cmp143 = icmp eq i32 %lsr.iv, -1 | |
367 br i1 %cmp143, label %save_state_and_return, label %if.end.146 | |
368 | |
369 if.end.146: ; preds = %if.end.140 | |
370 %tmp33 = bitcast %struct.bz_stream* %.pre428 to i8** | |
371 %sunkaddr541 = ptrtoint %struct.DState* %s to i64 | |
372 %sunkaddr542 = add i64 %sunkaddr541, 32 | |
373 %sunkaddr543 = inttoptr i64 %sunkaddr542 to i32* | |
374 %tmp34 = load i32, i32* %sunkaddr543, align 4 | |
375 %shl148 = shl i32 %tmp34, 8 | |
376 %tmp35 = load i8*, i8** %tmp33, align 8 | |
377 %tmp36 = load i8, i8* %tmp35, align 1 | |
378 %conv151 = zext i8 %tmp36 to i32 | |
379 %or152 = or i32 %conv151, %shl148 | |
380 store i32 %or152, i32* %sunkaddr543, align 4 | |
381 %add155 = add nsw i32 %tmp32, 8 | |
382 store i32 %add155, i32* %bsLive127.pre-phi, align 4 | |
383 %incdec.ptr158 = getelementptr inbounds i8, i8* %tmp35, i64 1 | |
384 store i8* %incdec.ptr158, i8** %tmp33, align 8 | |
385 %sunkaddr544 = ptrtoint %struct.bz_stream* %.pre428 to i64 | |
386 %sunkaddr545 = add i64 %sunkaddr544, 8 | |
387 %sunkaddr546 = inttoptr i64 %sunkaddr545 to i32* | |
388 store i32 %lsr.iv, i32* %sunkaddr546, align 4 | |
389 %sunkaddr547 = ptrtoint %struct.bz_stream* %.pre428 to i64 | |
390 %sunkaddr548 = add i64 %sunkaddr547, 12 | |
391 %sunkaddr549 = inttoptr i64 %sunkaddr548 to i32* | |
392 %tmp37 = load i32, i32* %sunkaddr549, align 4 | |
393 %inc164 = add i32 %tmp37, 1 | |
394 store i32 %inc164, i32* %sunkaddr549, align 4 | |
395 %cmp167 = icmp eq i32 %inc164, 0 | |
396 br i1 %cmp167, label %if.then.169, label %while.body.126.backedge | |
397 | |
398 if.then.169: ; preds = %if.end.146 | |
399 %sunkaddr550 = ptrtoint %struct.bz_stream* %.pre428 to i64 | |
400 %sunkaddr551 = add i64 %sunkaddr550, 16 | |
401 %sunkaddr552 = inttoptr i64 %sunkaddr551 to i32* | |
402 %tmp38 = load i32, i32* %sunkaddr552, align 4 | |
403 %inc172 = add i32 %tmp38, 1 | |
404 store i32 %inc172, i32* %sunkaddr552, align 4 | |
405 br label %while.body.126.backedge | |
406 | |
407 while.body.126.backedge: ; preds = %if.then.169, %if.end.146 | |
408 %lsr.iv.next = add i32 %lsr.iv, -1 | |
409 %cmp128 = icmp sgt i32 %add155, 7 | |
410 br i1 %cmp128, label %if.then.130, label %if.end.140 | |
411 | |
412 sw.default: ; preds = %if.end, %if.end.thread | |
413 %tmp39 = phi i32 [ 0, %if.end.thread ], [ %.pre, %if.end ] | |
414 %tmp40 = phi i32 [ 0, %if.end.thread ], [ %.pre406, %if.end ] | |
415 %tmp41 = phi i32 [ 0, %if.end.thread ], [ %.pre407, %if.end ] | |
416 %tmp42 = phi i32 [ 0, %if.end.thread ], [ %.pre408, %if.end ] | |
417 %tmp43 = phi i32 [ 0, %if.end.thread ], [ %.pre409, %if.end ] | |
418 %tmp44 = phi i32 [ 0, %if.end.thread ], [ %.pre410, %if.end ] | |
419 %tmp45 = phi i32 [ 0, %if.end.thread ], [ %.pre411, %if.end ] | |
420 %tmp46 = phi i32 [ 0, %if.end.thread ], [ %.pre412, %if.end ] | |
421 %tmp47 = phi i32 [ 0, %if.end.thread ], [ %.pre413, %if.end ] | |
422 %tmp48 = phi i32 [ 0, %if.end.thread ], [ %.pre414, %if.end ] | |
423 %tmp49 = phi i32 [ 0, %if.end.thread ], [ %.pre415, %if.end ] | |
424 %tmp50 = phi i32 [ 0, %if.end.thread ], [ %.pre416, %if.end ] | |
425 %tmp51 = phi i32 [ 0, %if.end.thread ], [ %.pre417, %if.end ] | |
426 %tmp52 = phi i32 [ 0, %if.end.thread ], [ %.pre418, %if.end ] | |
427 %tmp53 = phi i32 [ 0, %if.end.thread ], [ %.pre419, %if.end ] | |
428 %tmp54 = phi i32 [ 0, %if.end.thread ], [ %.pre420, %if.end ] | |
429 %tmp55 = phi i32 [ 0, %if.end.thread ], [ %.pre421, %if.end ] | |
430 %tmp56 = phi i32 [ 0, %if.end.thread ], [ %.pre422, %if.end ] | |
431 %tmp57 = phi i32 [ 0, %if.end.thread ], [ %.pre423, %if.end ] | |
432 %save_j3.pre-phi469 = phi i32* [ %save_j, %if.end.thread ], [ %save_j3.phi.trans.insert, %if.end ] | |
433 %save_t4.pre-phi467 = phi i32* [ %save_t, %if.end.thread ], [ %save_t4.phi.trans.insert, %if.end ] | |
434 %save_alphaSize5.pre-phi465 = phi i32* [ %save_alphaSize, %if.end.thread ], [ %save_alphaSize5.phi.trans.insert, %if.end ] | |
435 %save_nGroups6.pre-phi463 = phi i32* [ %save_nGroups, %if.end.thread ], [ %save_nGroups6.phi.trans.insert, %if.end ] | |
436 %save_nSelectors7.pre-phi461 = phi i32* [ %save_nSelectors, %if.end.thread ], [ %save_nSelectors7.phi.trans.insert, %if.end ] | |
437 %save_EOB8.pre-phi459 = phi i32* [ %save_EOB, %if.end.thread ], [ %save_EOB8.phi.trans.insert, %if.end ] | |
438 %save_groupNo9.pre-phi457 = phi i32* [ %save_groupNo, %if.end.thread ], [ %save_groupNo9.phi.trans.insert, %if.end ] | |
439 %save_groupPos10.pre-phi455 = phi i32* [ %save_groupPos, %if.end.thread ], [ %save_groupPos10.phi.trans.insert, %if.end ] | |
440 %save_nextSym11.pre-phi453 = phi i32* [ %save_nextSym, %if.end.thread ], [ %save_nextSym11.phi.trans.insert, %if.end ] | |
441 %save_nblockMAX12.pre-phi451 = phi i32* [ %save_nblockMAX, %if.end.thread ], [ %save_nblockMAX12.phi.trans.insert, %if.end ] | |
442 %save_nblock13.pre-phi449 = phi i32* [ %save_nblock, %if.end.thread ], [ %save_nblock13.phi.trans.insert, %if.end ] | |
443 %save_es14.pre-phi447 = phi i32* [ %save_es, %if.end.thread ], [ %save_es14.phi.trans.insert, %if.end ] | |
444 %save_N15.pre-phi445 = phi i32* [ %save_N, %if.end.thread ], [ %save_N15.phi.trans.insert, %if.end ] | |
445 %save_curr16.pre-phi443 = phi i32* [ %save_curr, %if.end.thread ], [ %save_curr16.phi.trans.insert, %if.end ] | |
446 %save_zt17.pre-phi441 = phi i32* [ %save_zt, %if.end.thread ], [ %save_zt17.phi.trans.insert, %if.end ] | |
447 %save_zn18.pre-phi439 = phi i32* [ %save_zn, %if.end.thread ], [ %save_zn18.phi.trans.insert, %if.end ] | |
448 %save_zvec19.pre-phi437 = phi i32* [ %save_zvec, %if.end.thread ], [ %save_zvec19.phi.trans.insert, %if.end ] | |
449 %save_zj20.pre-phi435 = phi i32* [ %save_zj, %if.end.thread ], [ %save_zj20.phi.trans.insert, %if.end ] | |
450 tail call void @bar(i32 4001) | |
451 br label %save_state_and_return | |
452 | |
453 save_state_and_return: ; preds = %sw.default, %if.end.140, %if.then.130, %if.end.82, %if.end.33, %if.then.29 | |
454 %tmp58 = phi i32 [ %tmp39, %sw.default ], [ %.pre, %if.then.29 ], [ %.pre, %if.then.130 ], [ %.pre, %if.end.140 ], [ %.pre, %if.end.82 ], [ %.pre, %if.end.33 ] | |
455 %tmp59 = phi i32 [ %tmp40, %sw.default ], [ %.pre406, %if.then.29 ], [ %.pre406, %if.then.130 ], [ %.pre406, %if.end.140 ], [ %.pre406, %if.end.82 ], [ %.pre406, %if.end.33 ] | |
456 %tmp60 = phi i32 [ %tmp41, %sw.default ], [ %.pre407, %if.then.29 ], [ %.pre407, %if.then.130 ], [ %.pre407, %if.end.140 ], [ %.pre407, %if.end.82 ], [ %.pre407, %if.end.33 ] | |
457 %tmp61 = phi i32 [ %tmp43, %sw.default ], [ %.pre409, %if.then.29 ], [ %.pre409, %if.then.130 ], [ %.pre409, %if.end.140 ], [ %.pre409, %if.end.82 ], [ %.pre409, %if.end.33 ] | |
458 %tmp62 = phi i32 [ %tmp44, %sw.default ], [ %.pre410, %if.then.29 ], [ %.pre410, %if.then.130 ], [ %.pre410, %if.end.140 ], [ %.pre410, %if.end.82 ], [ %.pre410, %if.end.33 ] | |
459 %tmp63 = phi i32 [ %tmp45, %sw.default ], [ %.pre411, %if.then.29 ], [ %.pre411, %if.then.130 ], [ %.pre411, %if.end.140 ], [ %.pre411, %if.end.82 ], [ %.pre411, %if.end.33 ] | |
460 %tmp64 = phi i32 [ %tmp46, %sw.default ], [ %.pre412, %if.then.29 ], [ %.pre412, %if.then.130 ], [ %.pre412, %if.end.140 ], [ %.pre412, %if.end.82 ], [ %.pre412, %if.end.33 ] | |
461 %tmp65 = phi i32 [ %tmp47, %sw.default ], [ %.pre413, %if.then.29 ], [ %.pre413, %if.then.130 ], [ %.pre413, %if.end.140 ], [ %.pre413, %if.end.82 ], [ %.pre413, %if.end.33 ] | |
462 %tmp66 = phi i32 [ %tmp48, %sw.default ], [ %.pre414, %if.then.29 ], [ %.pre414, %if.then.130 ], [ %.pre414, %if.end.140 ], [ %.pre414, %if.end.82 ], [ %.pre414, %if.end.33 ] | |
463 %tmp67 = phi i32 [ %tmp49, %sw.default ], [ %.pre415, %if.then.29 ], [ %.pre415, %if.then.130 ], [ %.pre415, %if.end.140 ], [ %.pre415, %if.end.82 ], [ %.pre415, %if.end.33 ] | |
464 %tmp68 = phi i32 [ %tmp51, %sw.default ], [ %.pre417, %if.then.29 ], [ %.pre417, %if.then.130 ], [ %.pre417, %if.end.140 ], [ %.pre417, %if.end.82 ], [ %.pre417, %if.end.33 ] | |
465 %tmp69 = phi i32 [ %tmp52, %sw.default ], [ %.pre418, %if.then.29 ], [ %.pre418, %if.then.130 ], [ %.pre418, %if.end.140 ], [ %.pre418, %if.end.82 ], [ %.pre418, %if.end.33 ] | |
466 %tmp70 = phi i32 [ %tmp53, %sw.default ], [ %.pre419, %if.then.29 ], [ %.pre419, %if.then.130 ], [ %.pre419, %if.end.140 ], [ %.pre419, %if.end.82 ], [ %.pre419, %if.end.33 ] | |
467 %tmp71 = phi i32 [ %tmp54, %sw.default ], [ %.pre420, %if.then.29 ], [ %.pre420, %if.then.130 ], [ %.pre420, %if.end.140 ], [ %.pre420, %if.end.82 ], [ %.pre420, %if.end.33 ] | |
468 %tmp72 = phi i32 [ %tmp55, %sw.default ], [ %.pre421, %if.then.29 ], [ %.pre421, %if.then.130 ], [ %.pre421, %if.end.140 ], [ %.pre421, %if.end.82 ], [ %.pre421, %if.end.33 ] | |
469 %tmp73 = phi i32 [ %tmp56, %sw.default ], [ %.pre422, %if.then.29 ], [ %.pre422, %if.then.130 ], [ %.pre422, %if.end.140 ], [ %.pre422, %if.end.82 ], [ %.pre422, %if.end.33 ] | |
470 %tmp74 = phi i32 [ %tmp57, %sw.default ], [ %.pre423, %if.then.29 ], [ %.pre423, %if.then.130 ], [ %.pre423, %if.end.140 ], [ %.pre423, %if.end.82 ], [ %.pre423, %if.end.33 ] | |
471 %save_j3.pre-phi468 = phi i32* [ %save_j3.pre-phi469, %sw.default ], [ %save_j3.phi.trans.insert, %if.then.29 ], [ %save_j3.phi.trans.insert, %if.then.130 ], [ %save_j3.phi.trans.insert, %if.end.140 ], [ %save_j3.phi.trans.insert, %if.end.82 ], [ %save_j3.phi.trans.insert, %if.end.33 ] | |
472 %save_t4.pre-phi466 = phi i32* [ %save_t4.pre-phi467, %sw.default ], [ %save_t4.phi.trans.insert, %if.then.29 ], [ %save_t4.phi.trans.insert, %if.then.130 ], [ %save_t4.phi.trans.insert, %if.end.140 ], [ %save_t4.phi.trans.insert, %if.end.82 ], [ %save_t4.phi.trans.insert, %if.end.33 ] | |
473 %save_alphaSize5.pre-phi464 = phi i32* [ %save_alphaSize5.pre-phi465, %sw.default ], [ %save_alphaSize5.phi.trans.insert, %if.then.29 ], [ %save_alphaSize5.phi.trans.insert, %if.then.130 ], [ %save_alphaSize5.phi.trans.insert, %if.end.140 ], [ %save_alphaSize5.phi.trans.insert, %if.end.82 ], [ %save_alphaSize5.phi.trans.insert, %if.end.33 ] | |
474 %save_nGroups6.pre-phi462 = phi i32* [ %save_nGroups6.pre-phi463, %sw.default ], [ %save_nGroups6.phi.trans.insert, %if.then.29 ], [ %save_nGroups6.phi.trans.insert, %if.then.130 ], [ %save_nGroups6.phi.trans.insert, %if.end.140 ], [ %save_nGroups6.phi.trans.insert, %if.end.82 ], [ %save_nGroups6.phi.trans.insert, %if.end.33 ] | |
475 %save_nSelectors7.pre-phi460 = phi i32* [ %save_nSelectors7.pre-phi461, %sw.default ], [ %save_nSelectors7.phi.trans.insert, %if.then.29 ], [ %save_nSelectors7.phi.trans.insert, %if.then.130 ], [ %save_nSelectors7.phi.trans.insert, %if.end.140 ], [ %save_nSelectors7.phi.trans.insert, %if.end.82 ], [ %save_nSelectors7.phi.trans.insert, %if.end.33 ] | |
476 %save_EOB8.pre-phi458 = phi i32* [ %save_EOB8.pre-phi459, %sw.default ], [ %save_EOB8.phi.trans.insert, %if.then.29 ], [ %save_EOB8.phi.trans.insert, %if.then.130 ], [ %save_EOB8.phi.trans.insert, %if.end.140 ], [ %save_EOB8.phi.trans.insert, %if.end.82 ], [ %save_EOB8.phi.trans.insert, %if.end.33 ] | |
477 %save_groupNo9.pre-phi456 = phi i32* [ %save_groupNo9.pre-phi457, %sw.default ], [ %save_groupNo9.phi.trans.insert, %if.then.29 ], [ %save_groupNo9.phi.trans.insert, %if.then.130 ], [ %save_groupNo9.phi.trans.insert, %if.end.140 ], [ %save_groupNo9.phi.trans.insert, %if.end.82 ], [ %save_groupNo9.phi.trans.insert, %if.end.33 ] | |
478 %save_groupPos10.pre-phi454 = phi i32* [ %save_groupPos10.pre-phi455, %sw.default ], [ %save_groupPos10.phi.trans.insert, %if.then.29 ], [ %save_groupPos10.phi.trans.insert, %if.then.130 ], [ %save_groupPos10.phi.trans.insert, %if.end.140 ], [ %save_groupPos10.phi.trans.insert, %if.end.82 ], [ %save_groupPos10.phi.trans.insert, %if.end.33 ] | |
479 %save_nextSym11.pre-phi452 = phi i32* [ %save_nextSym11.pre-phi453, %sw.default ], [ %save_nextSym11.phi.trans.insert, %if.then.29 ], [ %save_nextSym11.phi.trans.insert, %if.then.130 ], [ %save_nextSym11.phi.trans.insert, %if.end.140 ], [ %save_nextSym11.phi.trans.insert, %if.end.82 ], [ %save_nextSym11.phi.trans.insert, %if.end.33 ] | |
480 %save_nblockMAX12.pre-phi450 = phi i32* [ %save_nblockMAX12.pre-phi451, %sw.default ], [ %save_nblockMAX12.phi.trans.insert, %if.then.29 ], [ %save_nblockMAX12.phi.trans.insert, %if.then.130 ], [ %save_nblockMAX12.phi.trans.insert, %if.end.140 ], [ %save_nblockMAX12.phi.trans.insert, %if.end.82 ], [ %save_nblockMAX12.phi.trans.insert, %if.end.33 ] | |
481 %save_nblock13.pre-phi448 = phi i32* [ %save_nblock13.pre-phi449, %sw.default ], [ %save_nblock13.phi.trans.insert, %if.then.29 ], [ %save_nblock13.phi.trans.insert, %if.then.130 ], [ %save_nblock13.phi.trans.insert, %if.end.140 ], [ %save_nblock13.phi.trans.insert, %if.end.82 ], [ %save_nblock13.phi.trans.insert, %if.end.33 ] | |
482 %save_es14.pre-phi446 = phi i32* [ %save_es14.pre-phi447, %sw.default ], [ %save_es14.phi.trans.insert, %if.then.29 ], [ %save_es14.phi.trans.insert, %if.then.130 ], [ %save_es14.phi.trans.insert, %if.end.140 ], [ %save_es14.phi.trans.insert, %if.end.82 ], [ %save_es14.phi.trans.insert, %if.end.33 ] | |
483 %save_N15.pre-phi444 = phi i32* [ %save_N15.pre-phi445, %sw.default ], [ %save_N15.phi.trans.insert, %if.then.29 ], [ %save_N15.phi.trans.insert, %if.then.130 ], [ %save_N15.phi.trans.insert, %if.end.140 ], [ %save_N15.phi.trans.insert, %if.end.82 ], [ %save_N15.phi.trans.insert, %if.end.33 ] | |
484 %save_curr16.pre-phi442 = phi i32* [ %save_curr16.pre-phi443, %sw.default ], [ %save_curr16.phi.trans.insert, %if.then.29 ], [ %save_curr16.phi.trans.insert, %if.then.130 ], [ %save_curr16.phi.trans.insert, %if.end.140 ], [ %save_curr16.phi.trans.insert, %if.end.82 ], [ %save_curr16.phi.trans.insert, %if.end.33 ] | |
485 %save_zt17.pre-phi440 = phi i32* [ %save_zt17.pre-phi441, %sw.default ], [ %save_zt17.phi.trans.insert, %if.then.29 ], [ %save_zt17.phi.trans.insert, %if.then.130 ], [ %save_zt17.phi.trans.insert, %if.end.140 ], [ %save_zt17.phi.trans.insert, %if.end.82 ], [ %save_zt17.phi.trans.insert, %if.end.33 ] | |
486 %save_zn18.pre-phi438 = phi i32* [ %save_zn18.pre-phi439, %sw.default ], [ %save_zn18.phi.trans.insert, %if.then.29 ], [ %save_zn18.phi.trans.insert, %if.then.130 ], [ %save_zn18.phi.trans.insert, %if.end.140 ], [ %save_zn18.phi.trans.insert, %if.end.82 ], [ %save_zn18.phi.trans.insert, %if.end.33 ] | |
487 %save_zvec19.pre-phi436 = phi i32* [ %save_zvec19.pre-phi437, %sw.default ], [ %save_zvec19.phi.trans.insert, %if.then.29 ], [ %save_zvec19.phi.trans.insert, %if.then.130 ], [ %save_zvec19.phi.trans.insert, %if.end.140 ], [ %save_zvec19.phi.trans.insert, %if.end.82 ], [ %save_zvec19.phi.trans.insert, %if.end.33 ] | |
488 %save_zj20.pre-phi434 = phi i32* [ %save_zj20.pre-phi435, %sw.default ], [ %save_zj20.phi.trans.insert, %if.then.29 ], [ %save_zj20.phi.trans.insert, %if.then.130 ], [ %save_zj20.phi.trans.insert, %if.end.140 ], [ %save_zj20.phi.trans.insert, %if.end.82 ], [ %save_zj20.phi.trans.insert, %if.end.33 ] | |
489 %nblock.1 = phi i32 [ %tmp50, %sw.default ], [ %.pre416, %if.then.29 ], [ 0, %if.then.130 ], [ %.pre416, %if.end.140 ], [ %.pre416, %if.end.82 ], [ %.pre416, %if.end.33 ] | |
490 %alphaSize.1 = phi i32 [ %tmp42, %sw.default ], [ %.pre408, %if.then.29 ], [ %add179, %if.then.130 ], [ %.pre408, %if.end.140 ], [ %.pre408, %if.end.82 ], [ %.pre408, %if.end.33 ] | |
491 %retVal.0 = phi i32 [ 0, %sw.default ], [ -5, %if.then.29 ], [ -4, %if.then.130 ], [ 0, %if.end.140 ], [ 0, %if.end.82 ], [ 0, %if.end.33 ] | |
492 store i32 %tmp58, i32* %save_i, align 4 | |
493 store i32 %tmp59, i32* %save_j3.pre-phi468, align 4 | |
494 store i32 %tmp60, i32* %save_t4.pre-phi466, align 4 | |
495 store i32 %alphaSize.1, i32* %save_alphaSize5.pre-phi464, align 4 | |
496 store i32 %tmp61, i32* %save_nGroups6.pre-phi462, align 4 | |
497 store i32 %tmp62, i32* %save_nSelectors7.pre-phi460, align 4 | |
498 store i32 %tmp63, i32* %save_EOB8.pre-phi458, align 4 | |
499 store i32 %tmp64, i32* %save_groupNo9.pre-phi456, align 4 | |
500 store i32 %tmp65, i32* %save_groupPos10.pre-phi454, align 4 | |
501 store i32 %tmp66, i32* %save_nextSym11.pre-phi452, align 4 | |
502 store i32 %tmp67, i32* %save_nblockMAX12.pre-phi450, align 4 | |
503 store i32 %nblock.1, i32* %save_nblock13.pre-phi448, align 4 | |
504 store i32 %tmp68, i32* %save_es14.pre-phi446, align 4 | |
505 store i32 %tmp69, i32* %save_N15.pre-phi444, align 4 | |
506 store i32 %tmp70, i32* %save_curr16.pre-phi442, align 4 | |
507 store i32 %tmp71, i32* %save_zt17.pre-phi440, align 4 | |
508 store i32 %tmp72, i32* %save_zn18.pre-phi438, align 4 | |
509 store i32 %tmp73, i32* %save_zvec19.pre-phi436, align 4 | |
510 store i32 %tmp74, i32* %save_zj20.pre-phi434, align 4 | |
511 ret i32 %retVal.0 | |
512 } | |
513 | |
514 !0 = !{!"branch_weights", i32 10, i32 1} |