llvm.org GIT mirror llvm / 5445ecd
more tests not making the jump into the brave new world. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134820 91177308-0d34-0410-b5e6-96231b3b80d8 Chris Lattner 9 years ago
16 changed file(s) with 0 addition(s) and 1522 deletion(s). Raw diff Collapse all Expand all
+0
-3
test/Assembler/2002-02-19-TypeParsing.ll less more
None ; RUN: llvm-as %s -o /dev/null
1
2 %Hosp = type { i32, i32, i32, { \2*, { i32, i32, i32, { [4 x \3], \2, \5, %Hosp, i32, i32 }* }*, \2* }, { \2*, { i32, i32, i32, { [4 x \3], \2, \5, %Hosp, i32, i32 }* }*, \2* }, { \2*, { i32, i32, i32, { [4 x \3], \2, \5, %Hosp, i32, i32 }* }*, \2* }, { \2*, { i32, i32, i32, { [4 x \3], \2, \5, %Hosp, i32, i32 }* }*, \2* } }
+0
-19
test/CodeGen/Blackfin/burg.ll less more
None ; RUN: llc < %s -march=bfin -verify-machineinstrs > %t
1
2 %IntList = type %struct.intlist*
3 %ReadFn = type i32 ()*
4 %YYSTYPE = type { %IntList }
5 %struct.intlist = type { i32, %IntList }
6 @yyval = external global %YYSTYPE ; <%YYSTYPE*> [#uses=1]
7
8 define i32 @yyparse() {
9 bb0:
10 %reg254 = load i16* null ; [#uses=1]
11 %reg254-idxcast = sext i16 %reg254 to i64 ; [#uses=1]
12 %reg254-idxcast-scale = mul i64 %reg254-idxcast, -1 ; [#uses=1]
13 %reg254-idxcast-scale-offset = add i64 %reg254-idxcast-scale, 1 ; [#uses=1]
14 %reg261.idx1 = getelementptr %YYSTYPE* null, i64 %reg254-idxcast-scale-offset, i32 0 ; <%IntList*> [#uses=1]
15 %reg261 = load %IntList* %reg261.idx1 ; <%IntList> [#uses=1]
16 store %IntList %reg261, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
17 unreachable
18 }
+0
-3
test/CodeGen/CBackend/2002-08-20-RecursiveTypes.ll less more
None ; RUN: llc < %s -march=c
1
2 @MyIntList = external global { \2*, i32 }
+0
-6
test/CodeGen/CBackend/2002-10-15-OpaqueTypeProblem.ll less more
None ; RUN: llc < %s -march=c
1
2 %MPI_Comm = type %struct.Comm*
3 %struct.Comm = type opaque
4 @thing = global %MPI_Comm* null ; <%MPI_Comm**> [#uses=0]
5
+0
-10
test/CodeGen/CBackend/2002-10-30-FunctionPointerAlloca.ll less more
None ; RUN: llc < %s -march=c
1
2 %BitField = type i32
3 %tokenptr = type i32*
4
5 define void @test() {
6 %pmf1 = alloca %tokenptr (%tokenptr, i8*)* ; <%tokenptr (%tokenptr, i8*)**> [#uses=0]
7 ret void
8 }
9
+0
-5
test/CodeGen/CBackend/2005-03-08-RecursiveTypeCrash.ll less more
None ; RUN: llc < %s -march=c
1
2 %JNIEnv = type %struct.JNINa*
3 %struct.JNINa = type { i8*, i8*, i8*, void (%JNIEnv*)* }
4
+0
-11
test/CodeGen/CBackend/2007-01-15-NamedArrayType.ll less more
None ; PR918
1 ; RUN: llc < %s -march=c | not grep {l_structtype_s l_fixarray_array3}
2
3 %structtype_s = type { i32 }
4 %fixarray_array3 = type [3 x %structtype_s]
5
6 define i32 @witness(%fixarray_array3* %p) {
7 %q = getelementptr %fixarray_array3* %p, i32 0, i32 0, i32 0
8 %v = load i32* %q
9 ret i32 %v
10 }
+0
-829
test/CodeGen/Generic/BurgBadRegAlloc.ll less more
None ; RUN: llc < %s
1
2 ;; Register allocation is doing a very poor job on this routine from yyparse
3 ;; in Burg:
4 ;; -- at least two long-lived values are being allocated to %o? registers
5 ;; -- even worse, those registers are being saved and restored repeatedly
6 ;; at function calls, even though there are no intervening uses.
7 ;; -- outgoing args of some function calls have to be swapped, causing
8 ;; another write/read from stack to do the exchange (use -dregalloc=y).
9 ;;
10 %Arity = type %struct.arity*
11 %Binding = type %struct.binding*
12 %DeltaCost = type [4 x i16]
13 %Dimension = type %struct.dimension*
14 %Index_Map = type { i32, %Item_Set* }
15 %IntList = type %struct.intlist*
16 %Item = type { %DeltaCost, %Rule }
17 %ItemArray = type %Item*
18 %Item_Set = type %struct.item_set*
19 %List = type %struct.list*
20 %Mapping = type %struct.mapping*
21 %NonTerminal = type %struct.nonterminal*
22 %Operator = type %struct.operator*
23 %Pattern = type %struct.pattern*
24 %PatternAST = type %struct.patternAST*
25 %Plank = type %struct.plank*
26 %PlankMap = type %struct.plankMap*
27 %ReadFn = type i32 ()*
28 %Rule = type %struct.rule*
29 %RuleAST = type %struct.ruleAST*
30 %StateMap = type %struct.stateMap*
31 %StrTableElement = type %struct.strTableElement*
32 %Symbol = type %struct.symbol*
33 %Table = type %struct.table*
34 %YYSTYPE = type { %IntList }
35 %struct.arity = type { i32, %List }
36 %struct.binding = type { i8*, i32 }
37 %struct.dimension = type { i16*, %Index_Map, %Mapping, i32, %PlankMap }
38 %struct.index_map = type { i32, %Item_Set* }
39 %struct.intlist = type { i32, %IntList }
40 %struct.item = type { %DeltaCost, %Rule }
41 %struct.item_set = type { i32, i32, %Operator, [2 x %Item_Set], %Item_Set, i16*, %ItemArray, %ItemArray }
42 %struct.list = type { i8*, %List }
43 %struct.mapping = type { %List*, i32, i32, i32, %Item_Set* }
44 %struct.nonterminal = type { i8*, i32, i32, i32, %PlankMap, %Rule }
45 %struct.operator = type { i8*, i32, i32, i32, i32, i32, %Table }
46 %struct.pattern = type { %NonTerminal, %Operator, [2 x %NonTerminal] }
47 %struct.patternAST = type { %Symbol, i8*, %List }
48 %struct.plank = type { i8*, %List, i32 }
49 %struct.plankMap = type { %List, i32, %StateMap }
50 %struct.rule = type { %DeltaCost, i32, i32, i32, %NonTerminal, %Pattern, i32 }
51 %struct.ruleAST = type { i8*, %PatternAST, i32, %IntList, %Rule, %StrTableElement, %StrTableElement }
52 %struct.stateMap = type { i8*, %Plank, i32, i16* }
53 %struct.strTableElement = type { i8*, %IntList, i8* }
54 %struct.symbol = type { i8*, i32, { %Operator } }
55 %struct.table = type { %Operator, %List, i16*, [2 x %Dimension], %Item_Set* }
56 @yylval = external global %YYSTYPE ; <%YYSTYPE*> [#uses=1]
57 @yylhs = external global [25 x i16] ; <[25 x i16]*> [#uses=1]
58 @yylen = external global [25 x i16] ; <[25 x i16]*> [#uses=1]
59 @yydefred = external global [43 x i16] ; <[43 x i16]*> [#uses=1]
60 @yydgoto = external global [12 x i16] ; <[12 x i16]*> [#uses=1]
61 @yysindex = external global [43 x i16] ; <[43 x i16]*> [#uses=2]
62 @yyrindex = external global [43 x i16] ; <[43 x i16]*> [#uses=1]
63 @yygindex = external global [12 x i16] ; <[12 x i16]*> [#uses=1]
64 @yytable = external global [263 x i16] ; <[263 x i16]*> [#uses=4]
65 @yycheck = external global [263 x i16] ; <[263 x i16]*> [#uses=4]
66 @yynerrs = external global i32 ; [#uses=3]
67 @yyerrflag = external global i32 ; [#uses=6]
68 @yychar = external global i32 ; [#uses=15]
69 @yyssp = external global i16* ; [#uses=15]
70 @yyvsp = external global %YYSTYPE* ; <%YYSTYPE**> [#uses=30]
71 @yyval = external global %YYSTYPE ; <%YYSTYPE*> [#uses=1]
72 @yyss = external global i16* ; [#uses=3]
73 @yysslim = external global i16* ; [#uses=3]
74 @yyvs = external global %YYSTYPE* ; <%YYSTYPE**> [#uses=1]
75 @.LC01 = external global [13 x i8] ; <[13 x i8]*> [#uses=1]
76 @.LC1 = external global [20 x i8] ; <[20 x i8]*> [#uses=1]
77
78 define i32 @yyparse() {
79 bb0:
80 store i32 0, i32* @yynerrs
81 store i32 0, i32* @yyerrflag
82 store i32 -1, i32* @yychar
83 %reg113 = load i16** @yyss ; [#uses=1]
84 %cond581 = icmp ne i16* %reg113, null ; [#uses=1]
85 br i1 %cond581, label %bb3, label %bb2
86
87 bb2: ; preds = %bb0
88 %reg584 = call i32 @yygrowstack( ) ; [#uses=1]
89 %cond584 = icmp ne i32 %reg584, 0 ; [#uses=1]
90 br i1 %cond584, label %bb113, label %bb3
91
92 bb3: ; preds = %bb2, %bb0
93 %reg115 = load i16** @yyss ; [#uses=1]
94 store i16* %reg115, i16** @yyssp
95 %reg116 = load %YYSTYPE** @yyvs ; <%YYSTYPE*> [#uses=1]
96 store %YYSTYPE* %reg116, %YYSTYPE** @yyvsp
97 %reg117 = load i16** @yyssp ; [#uses=1]
98 store i16 0, i16* %reg117
99 br label %bb4
100
101 bb4: ; preds = %bb112, %bb102, %bb35, %bb31, %bb15, %bb14, %bb3
102 %reg458 = phi i32 [ %reg476, %bb112 ], [ 1, %bb102 ], [ %reg458, %bb35 ], [ %cast768, %bb31 ], [ %cast658, %bb15 ], [ %cast658, %bb14 ], [ 0, %bb3 ] ; [#uses=2]
103 %reg458-idxcast = zext i32 %reg458 to i64 ; [#uses=3]
104 %reg594 = getelementptr [43 x i16]* @yydefred, i64 0, i64 %reg458-idxcast ; [#uses=1]
105 %reg125 = load i16* %reg594 ; [#uses=1]
106 %cast599 = sext i16 %reg125 to i32 ; [#uses=2]
107 %cond600 = icmp ne i32 %cast599, 0 ; [#uses=1]
108 br i1 %cond600, label %bb36, label %bb5
109
110 bb5: ; preds = %bb4
111 %reg127 = load i32* @yychar ; [#uses=1]
112 %cond603 = icmp sge i32 %reg127, 0 ; [#uses=1]
113 br i1 %cond603, label %bb8, label %bb6
114
115 bb6: ; preds = %bb5
116 %reg607 = call i32 @yylex( ) ; [#uses=1]
117 store i32 %reg607, i32* @yychar
118 %reg129 = load i32* @yychar ; [#uses=1]
119 %cond609 = icmp sge i32 %reg129, 0 ; [#uses=1]
120 br i1 %cond609, label %bb8, label %bb7
121
122 bb7: ; preds = %bb6
123 store i32 0, i32* @yychar
124 br label %bb8
125
126 bb8: ; preds = %bb7, %bb6, %bb5
127 %reg615 = getelementptr [43 x i16]* @yysindex, i64 0, i64 %reg458-idxcast ; [#uses=1]
128 %reg137 = load i16* %reg615 ; [#uses=1]
129 %cast620 = sext i16 %reg137 to i32 ; [#uses=2]
130 %cond621 = icmp eq i32 %cast620, 0 ; [#uses=1]
131 br i1 %cond621, label %bb16, label %bb9
132
133 bb9: ; preds = %bb8
134 %reg139 = load i32* @yychar ; [#uses=2]
135 %reg460 = add i32 %cast620, %reg139 ; [#uses=3]
136 %cond624 = icmp slt i32 %reg460, 0 ; [#uses=1]
137 br i1 %cond624, label %bb16, label %bb10
138
139 bb10: ; preds = %bb9
140 %cond627 = icmp sgt i32 %reg460, 262 ; [#uses=1]
141 br i1 %cond627, label %bb16, label %bb11
142
143 bb11: ; preds = %bb10
144 %reg460-idxcast = sext i32 %reg460 to i64 ; [#uses=2]
145 %reg632 = getelementptr [263 x i16]* @yycheck, i64 0, i64 %reg460-idxcast ; [#uses=1]
146 %reg148 = load i16* %reg632 ; [#uses=1]
147 %cast637 = sext i16 %reg148 to i32 ; [#uses=1]
148 %cond639 = icmp ne i32 %cast637, %reg139 ; [#uses=1]
149 br i1 %cond639, label %bb16, label %bb12
150
151 bb12: ; preds = %bb11
152 %reg150 = load i16** @yyssp ; [#uses=1]
153 %cast640 = bitcast i16* %reg150 to i8* ; [#uses=1]
154 %reg151 = load i16** @yysslim ; [#uses=1]
155 %cast641 = bitcast i16* %reg151 to i8* ; [#uses=1]
156 %cond642 = icmp ult i8* %cast640, %cast641 ; [#uses=1]
157 br i1 %cond642, label %bb14, label %bb13
158
159 bb13: ; preds = %bb12
160 %reg644 = call i32 @yygrowstack( ) ; [#uses=1]
161 %cond644 = icmp ne i32 %reg644, 0 ; [#uses=1]
162 br i1 %cond644, label %bb113, label %bb14
163
164 bb14: ; preds = %bb13, %bb12
165 %reg153 = load i16** @yyssp ; [#uses=1]
166 %reg647 = getelementptr i16* %reg153, i64 1 ; [#uses=2]
167 store i16* %reg647, i16** @yyssp
168 %reg653 = getelementptr [263 x i16]* @yytable, i64 0, i64 %reg460-idxcast ; [#uses=1]
169 %reg162 = load i16* %reg653 ; [#uses=2]
170 %cast658 = sext i16 %reg162 to i32 ; [#uses=2]
171 store i16 %reg162, i16* %reg647
172 %reg164 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
173 %reg661 = getelementptr %YYSTYPE* %reg164, i64 1 ; <%YYSTYPE*> [#uses=1]
174 store %YYSTYPE* %reg661, %YYSTYPE** @yyvsp
175 %reg167 = load %IntList* getelementptr (%YYSTYPE* @yylval, i64 0, i32 0) ; <%IntList> [#uses=1]
176 %reg661.idx1 = getelementptr %YYSTYPE* %reg164, i64 1, i32 0 ; <%IntList*> [#uses=1]
177 store %IntList %reg167, %IntList* %reg661.idx1
178 store i32 -1, i32* @yychar
179 %reg169 = load i32* @yyerrflag ; [#uses=2]
180 %cond669 = icmp sle i32 %reg169, 0 ; [#uses=1]
181 br i1 %cond669, label %bb4, label %bb15
182
183 bb15: ; preds = %bb14
184 %reg171 = add i32 %reg169, -1 ; [#uses=1]
185 store i32 %reg171, i32* @yyerrflag
186 br label %bb4
187
188 bb16: ; preds = %bb11, %bb10, %bb9, %bb8
189 %reg677 = getelementptr [43 x i16]* @yyrindex, i64 0, i64 %reg458-idxcast ; [#uses=1]
190 %reg178 = load i16* %reg677 ; [#uses=1]
191 %cast682 = sext i16 %reg178 to i32 ; [#uses=2]
192 %cond683 = icmp eq i32 %cast682, 0 ; [#uses=1]
193 br i1 %cond683, label %bb21, label %bb17
194
195 bb17: ; preds = %bb16
196 %reg180 = load i32* @yychar ; [#uses=2]
197 %reg463 = add i32 %cast682, %reg180 ; [#uses=3]
198 %cond686 = icmp slt i32 %reg463, 0 ; [#uses=1]
199 br i1 %cond686, label %bb21, label %bb18
200
201 bb18: ; preds = %bb17
202 %cond689 = icmp sgt i32 %reg463, 262 ; [#uses=1]
203 br i1 %cond689, label %bb21, label %bb19
204
205 bb19: ; preds = %bb18
206 %reg463-idxcast = sext i32 %reg463 to i64 ; [#uses=2]
207 %reg694 = getelementptr [263 x i16]* @yycheck, i64 0, i64 %reg463-idxcast ; [#uses=1]
208 %reg189 = load i16* %reg694 ; [#uses=1]
209 %cast699 = sext i16 %reg189 to i32 ; [#uses=1]
210 %cond701 = icmp ne i32 %cast699, %reg180 ; [#uses=1]
211 br i1 %cond701, label %bb21, label %bb20
212
213 bb20: ; preds = %bb19
214 %reg704 = getelementptr [263 x i16]* @yytable, i64 0, i64 %reg463-idxcast ; [#uses=1]
215 %reg197 = load i16* %reg704 ; [#uses=1]
216 %cast709 = sext i16 %reg197 to i32 ; [#uses=1]
217 br label %bb36
218
219 bb21: ; preds = %bb19, %bb18, %bb17, %bb16
220 %reg198 = load i32* @yyerrflag ; [#uses=1]
221 %cond711 = icmp ne i32 %reg198, 0 ; [#uses=1]
222 br i1 %cond711, label %bb23, label %bb22
223
224 bb22: ; preds = %bb21
225 call void @yyerror( i8* getelementptr ([13 x i8]* @.LC01, i64 0, i64 0) )
226 %reg200 = load i32* @yynerrs ; [#uses=1]
227 %reg201 = add i32 %reg200, 1 ; [#uses=1]
228 store i32 %reg201, i32* @yynerrs
229 br label %bb23
230
231 bb23: ; preds = %bb22, %bb21
232 %reg202 = load i32* @yyerrflag ; [#uses=1]
233 %cond719 = icmp sgt i32 %reg202, 2 ; [#uses=1]
234 br i1 %cond719, label %bb34, label %bb24
235
236 bb24: ; preds = %bb23
237 store i32 3, i32* @yyerrflag
238 %reg241 = load i16** @yyss ; [#uses=1]
239 %cast778 = bitcast i16* %reg241 to i8* ; [#uses=1]
240 br label %bb25
241
242 bb25: ; preds = %bb33, %bb24
243 %reg204 = load i16** @yyssp ; [#uses=4]
244 %reg206 = load i16* %reg204 ; [#uses=1]
245 %reg206-idxcast = sext i16 %reg206 to i64 ; [#uses=1]
246 %reg727 = getelementptr [43 x i16]* @yysindex, i64 0, i64 %reg206-idxcast ; [#uses=1]
247 %reg212 = load i16* %reg727 ; [#uses=2]
248 %cast732 = sext i16 %reg212 to i32 ; [#uses=2]
249 %cond733 = icmp eq i32 %cast732, 0 ; [#uses=1]
250 br i1 %cond733, label %bb32, label %bb26
251
252 bb26: ; preds = %bb25
253 %reg466 = add i32 %cast732, 256 ; [#uses=2]
254 %cond736 = icmp slt i32 %reg466, 0 ; [#uses=1]
255 br i1 %cond736, label %bb32, label %bb27
256
257 bb27: ; preds = %bb26
258 %cond739 = icmp sgt i32 %reg466, 262 ; [#uses=1]
259 br i1 %cond739, label %bb32, label %bb28
260
261 bb28: ; preds = %bb27
262 %reg212-idxcast = sext i16 %reg212 to i64 ; [#uses=1]
263 %reg212-idxcast-offset = add i64 %reg212-idxcast, 256 ; [#uses=2]
264 %reg744 = getelementptr [263 x i16]* @yycheck, i64 0, i64 %reg212-idxcast-offset ; [#uses=1]
265 %reg221 = load i16* %reg744 ; [#uses=1]
266 %cond748 = icmp ne i16 %reg221, 256 ; [#uses=1]
267 br i1 %cond748, label %bb32, label %bb29
268
269 bb29: ; preds = %bb28
270 %cast750 = bitcast i16* %reg204 to i8* ; [#uses=1]
271 %reg223 = load i16** @yysslim ; [#uses=1]
272 %cast751 = bitcast i16* %reg223 to i8* ; [#uses=1]
273 %cond752 = icmp ult i8* %cast750, %cast751 ; [#uses=1]
274 br i1 %cond752, label %bb31, label %bb30
275
276 bb30: ; preds = %bb29
277 %reg754 = call i32 @yygrowstack( ) ; [#uses=1]
278 %cond754 = icmp ne i32 %reg754, 0 ; [#uses=1]
279 br i1 %cond754, label %bb113, label %bb31
280
281 bb31: ; preds = %bb30, %bb29
282 %reg225 = load i16** @yyssp ; [#uses=1]
283 %reg757 = getelementptr i16* %reg225, i64 1 ; [#uses=2]
284 store i16* %reg757, i16** @yyssp
285 %reg763 = getelementptr [263 x i16]* @yytable, i64 0, i64 %reg212-idxcast-offset ; [#uses=1]
286 %reg234 = load i16* %reg763 ; [#uses=2]
287 %cast768 = sext i16 %reg234 to i32 ; [#uses=1]
288 store i16 %reg234, i16* %reg757
289 %reg236 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
290 %reg771 = getelementptr %YYSTYPE* %reg236, i64 1 ; <%YYSTYPE*> [#uses=1]
291 store %YYSTYPE* %reg771, %YYSTYPE** @yyvsp
292 %reg239 = load %IntList* getelementptr (%YYSTYPE* @yylval, i64 0, i32 0) ; <%IntList> [#uses=1]
293 %reg771.idx1 = getelementptr %YYSTYPE* %reg236, i64 1, i32 0 ; <%IntList*> [#uses=1]
294 store %IntList %reg239, %IntList* %reg771.idx1
295 br label %bb4
296
297 bb32: ; preds = %bb28, %bb27, %bb26, %bb25
298 %cast777 = bitcast i16* %reg204 to i8* ; [#uses=1]
299 %cond779 = icmp ule i8* %cast777, %cast778 ; [#uses=1]
300 br i1 %cond779, label %UnifiedExitNode, label %bb33
301
302 bb33: ; preds = %bb32
303 %reg781 = getelementptr i16* %reg204, i64 -1 ; [#uses=1]
304 store i16* %reg781, i16** @yyssp
305 %reg244 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
306 %reg786 = getelementptr %YYSTYPE* %reg244, i64 -1 ; <%YYSTYPE*> [#uses=1]
307 store %YYSTYPE* %reg786, %YYSTYPE** @yyvsp
308 br label %bb25
309
310 bb34: ; preds = %bb23
311 %reg246 = load i32* @yychar ; [#uses=1]
312 %cond791 = icmp eq i32 %reg246, 0 ; [#uses=1]
313 br i1 %cond791, label %UnifiedExitNode, label %bb35
314
315 bb35: ; preds = %bb34
316 store i32 -1, i32* @yychar
317 br label %bb4
318
319 bb36: ; preds = %bb20, %bb4
320 %reg468 = phi i32 [ %cast709, %bb20 ], [ %cast599, %bb4 ] ; [#uses=31]
321 %reg468-idxcast = sext i32 %reg468 to i64 ; [#uses=2]
322 %reg796 = getelementptr [25 x i16]* @yylen, i64 0, i64 %reg468-idxcast ; [#uses=1]
323 %reg254 = load i16* %reg796 ; [#uses=2]
324 %reg259 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
325 %reg254-idxcast = sext i16 %reg254 to i64 ; [#uses=1]
326 %reg254-idxcast-scale = mul i64 %reg254-idxcast, -1 ; [#uses=1]
327 %reg254-idxcast-scale-offset = add i64 %reg254-idxcast-scale, 1 ; [#uses=1]
328 %reg261.idx1 = getelementptr %YYSTYPE* %reg259, i64 %reg254-idxcast-scale-offset, i32 0 ; <%IntList*> [#uses=1]
329 %reg261 = load %IntList* %reg261.idx1 ; <%IntList> [#uses=1]
330 store %IntList %reg261, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
331 %cond812 = icmp eq i32 %reg468, 13 ; [#uses=1]
332 br i1 %cond812, label %bb85, label %bb37
333
334 bb37: ; preds = %bb36
335 %cond814 = icmp sgt i32 %reg468, 13 ; [#uses=1]
336 br i1 %cond814, label %bb56, label %bb38
337
338 bb38: ; preds = %bb37
339 %cond817 = icmp eq i32 %reg468, 7 ; [#uses=1]
340 br i1 %cond817, label %bb79, label %bb39
341
342 bb39: ; preds = %bb38
343 %cond819 = icmp sgt i32 %reg468, 7 ; [#uses=1]
344 br i1 %cond819, label %bb48, label %bb40
345
346 bb40: ; preds = %bb39
347 %cond822 = icmp eq i32 %reg468, 4 ; [#uses=1]
348 br i1 %cond822, label %bb76, label %bb41
349
350 bb41: ; preds = %bb40
351 %cond824 = icmp sgt i32 %reg468, 4 ; [#uses=1]
352 br i1 %cond824, label %bb45, label %bb42
353
354 bb42: ; preds = %bb41
355 %cond827 = icmp eq i32 %reg468, 2 ; [#uses=1]
356 br i1 %cond827, label %bb74, label %bb43
357
358 bb43: ; preds = %bb42
359 %cond829 = icmp eq i32 %reg468, 3 ; [#uses=1]
360 br i1 %cond829, label %bb75, label %bb97
361
362 bb45: ; preds = %bb41
363 %cond831 = icmp eq i32 %reg468, 5 ; [#uses=1]
364 br i1 %cond831, label %bb77, label %bb46
365
366 bb46: ; preds = %bb45
367 %cond833 = icmp eq i32 %reg468, 6 ; [#uses=1]
368 br i1 %cond833, label %bb78, label %bb97
369
370 bb48: ; preds = %bb39
371 %cond835 = icmp eq i32 %reg468, 10 ; [#uses=1]
372 br i1 %cond835, label %bb82, label %bb49
373
374 bb49: ; preds = %bb48
375 %cond837 = icmp sgt i32 %reg468, 10 ; [#uses=1]
376 br i1 %cond837, label %bb53, label %bb50
377
378 bb50: ; preds = %bb49
379 %cond840 = icmp eq i32 %reg468, 8 ; [#uses=1]
380 br i1 %cond840, label %bb80, label %bb51
381
382 bb51: ; preds = %bb50
383 %cond842 = icmp eq i32 %reg468, 9 ; [#uses=1]
384 br i1 %cond842, label %bb81, label %bb97
385
386 bb53: ; preds = %bb49
387 %cond844 = icmp eq i32 %reg468, 11 ; [#uses=1]
388 br i1 %cond844, label %bb83, label %bb54
389
390 bb54: ; preds = %bb53
391 %cond846 = icmp eq i32 %reg468, 12 ; [#uses=1]
392 br i1 %cond846, label %bb84, label %bb97
393
394 bb56: ; preds = %bb37
395 %cond848 = icmp eq i32 %reg468, 19 ; [#uses=1]
396 br i1 %cond848, label %bb91, label %bb57
397
398 bb57: ; preds = %bb56
399 %cond850 = icmp sgt i32 %reg468, 19 ; [#uses=1]
400 br i1 %cond850, label %bb66, label %bb58
401
402 bb58: ; preds = %bb57
403 %cond853 = icmp eq i32 %reg468, 16 ; [#uses=1]
404 br i1 %cond853, label %bb88, label %bb59
405
406 bb59: ; preds = %bb58
407 %cond855 = icmp sgt i32 %reg468, 16 ; [#uses=1]
408 br i1 %cond855, label %bb63, label %bb60
409
410 bb60: ; preds = %bb59
411 %cond858 = icmp eq i32 %reg468, 14 ; [#uses=1]
412 br i1 %cond858, label %bb86, label %bb61
413
414 bb61: ; preds = %bb60
415 %cond860 = icmp eq i32 %reg468, 15 ; [#uses=1]
416 br i1 %cond860, label %bb87, label %bb97
417
418 bb63: ; preds = %bb59
419 %cond862 = icmp eq i32 %reg468, 17 ; [#uses=1]
420 br i1 %cond862, label %bb89, label %bb64
421
422 bb64: ; preds = %bb63
423 %cond864 = icmp eq i32 %reg468, 18 ; [#uses=1]
424 br i1 %cond864, label %bb90, label %bb97
425
426 bb66: ; preds = %bb57
427 %cond866 = icmp eq i32 %reg468, 22 ; [#uses=1]
428 br i1 %cond866, label %bb94, label %bb67
429
430 bb67: ; preds = %bb66
431 %cond868 = icmp sgt i32 %reg468, 22 ; [#uses=1]
432 br i1 %cond868, label %bb71, label %bb68
433
434 bb68: ; preds = %bb67
435 %cond871 = icmp eq i32 %reg468, 20 ; [#uses=1]
436 br i1 %cond871, label %bb92, label %bb69
437
438 bb69: ; preds = %bb68
439 %cond873 = icmp eq i32 %reg468, 21 ; [#uses=1]
440 br i1 %cond873, label %bb93, label %bb97
441
442 bb71: ; preds = %bb67
443 %cond875 = icmp eq i32 %reg468, 23 ; [#uses=1]
444 br i1 %cond875, label %bb95, label %bb72
445
446 bb72: ; preds = %bb71
447 %cond877 = icmp eq i32 %reg468, 24 ; [#uses=1]
448 br i1 %cond877, label %bb96, label %bb97
449
450 bb74: ; preds = %bb42
451 call void @yyfinished( )
452 br label %bb97
453
454 bb75: ; preds = %bb43
455 %reg262 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
456 %reg264.idx1 = getelementptr %YYSTYPE* %reg262, i64 -2, i32 0 ; <%IntList*> [#uses=1]
457 %reg264 = load %IntList* %reg264.idx1 ; <%IntList> [#uses=1]
458 %reg265.idx = getelementptr %YYSTYPE* %reg262, i64 0, i32 0 ; <%IntList*> [#uses=1]
459 %reg265 = load %IntList* %reg265.idx ; <%IntList> [#uses=1]
460 %cast889 = bitcast %IntList %reg265 to %List ; <%List> [#uses=1]
461 %cast890 = bitcast %IntList %reg264 to %List ; <%List> [#uses=1]
462 call void @doSpec( %List %cast890, %List %cast889 )
463 br label %bb97
464
465 bb76: ; preds = %bb40
466 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
467 br label %bb97
468
469 bb77: ; preds = %bb45
470 %reg269 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
471 %cast894 = getelementptr %YYSTYPE* %reg269, i64 0, i32 0 ; <%IntList*> [#uses=1]
472 %reg271 = load %IntList* %cast894 ; <%IntList> [#uses=1]
473 %reg271.upgrd.1 = bitcast %IntList %reg271 to i8* ; [#uses=1]
474 %reg272.idx1 = getelementptr %YYSTYPE* %reg269, i64 -1, i32 0 ; <%IntList*> [#uses=1]
475 %reg272 = load %IntList* %reg272.idx1 ; <%IntList> [#uses=1]
476 %cast901 = bitcast %IntList %reg272 to %List ; <%List> [#uses=1]
477 %reg901 = call %List @newList( i8* %reg271.upgrd.1, %List %cast901 ) ; <%List> [#uses=1]
478 bitcast %List %reg901 to %IntList ; <%IntList>:0 [#uses=1]
479 store %IntList %0, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
480 br label %bb97
481
482 bb78: ; preds = %bb46
483 %reg275 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
484 %reg277.idx = getelementptr %YYSTYPE* %reg275, i64 0, i32 0 ; <%IntList*> [#uses=1]
485 %reg277 = load %IntList* %reg277.idx ; <%IntList> [#uses=1]
486 %cast907 = bitcast %IntList %reg277 to %List ; <%List> [#uses=1]
487 %reg907 = call %Arity @newArity( i32 -1, %List %cast907 ) ; <%Arity> [#uses=1]
488 bitcast %Arity %reg907 to %IntList ; <%IntList>:1 [#uses=1]
489 store %IntList %1, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
490 br label %bb97
491
492 bb79: ; preds = %bb38
493 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
494 %reg281 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
495 %cast912 = getelementptr %YYSTYPE* %reg281, i64 0, i32 0 ; <%IntList*> [#uses=1]
496 %reg282 = load %IntList* %cast912 ; <%IntList> [#uses=1]
497 %reg282.upgrd.2 = bitcast %IntList %reg282 to %List ; <%List> [#uses=1]
498 call void @doGram( %List %reg282.upgrd.2 )
499 br label %bb97
500
501 bb80: ; preds = %bb50
502 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
503 %reg285 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
504 %cast917 = getelementptr %YYSTYPE* %reg285, i64 0, i32 0 ; <%IntList*> [#uses=1]
505 %reg286 = load %IntList* %cast917 ; <%IntList> [#uses=1]
506 %reg286.upgrd.3 = bitcast %IntList %reg286 to i8* ; [#uses=1]
507 call void @doStart( i8* %reg286.upgrd.3 )
508 br label %bb97
509
510 bb81: ; preds = %bb51
511 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
512 br label %bb97
513
514 bb82: ; preds = %bb48
515 %reg290 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
516 %cast923 = getelementptr %YYSTYPE* %reg290, i64 0, i32 0 ; <%IntList*> [#uses=1]
517 %reg292 = load %IntList* %cast923 ; <%IntList> [#uses=1]
518 %reg292.upgrd.4 = bitcast %IntList %reg292 to i8* ; [#uses=1]
519 %reg293.idx1 = getelementptr %YYSTYPE* %reg290, i64 -1, i32 0 ; <%IntList*> [#uses=1]
520 %reg293 = load %IntList* %reg293.idx1 ; <%IntList> [#uses=1]
521 %cast930 = bitcast %IntList %reg293 to %List ; <%List> [#uses=1]
522 %reg930 = call %List @newList( i8* %reg292.upgrd.4, %List %cast930 ) ; <%List> [#uses=1]
523 bitcast %List %reg930 to %IntList ; <%IntList>:2 [#uses=1]
524 store %IntList %2, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
525 br label %bb97
526
527 bb83: ; preds = %bb53
528 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
529 br label %bb97
530
531 bb84: ; preds = %bb54
532 %reg298 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
533 %cast936 = getelementptr %YYSTYPE* %reg298, i64 0, i32 0 ; <%IntList*> [#uses=1]
534 %reg300 = load %IntList* %cast936 ; <%IntList> [#uses=1]
535 %reg300.upgrd.5 = bitcast %IntList %reg300 to i8* ; [#uses=1]
536 %reg301.idx1 = getelementptr %YYSTYPE* %reg298, i64 -1, i32 0 ; <%IntList*> [#uses=1]
537 %reg301 = load %IntList* %reg301.idx1 ; <%IntList> [#uses=1]
538 %cast943 = bitcast %IntList %reg301 to %List ; <%List> [#uses=1]
539 %reg943 = call %List @newList( i8* %reg300.upgrd.5, %List %cast943 ) ; <%List> [#uses=1]
540 bitcast %List %reg943 to %IntList ; <%IntList>:3 [#uses=1]
541 store %IntList %3, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
542 br label %bb97
543
544 bb85: ; preds = %bb36
545 %reg304 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
546 %cast9521 = getelementptr %YYSTYPE* %reg304, i64 -2, i32 0 ; <%IntList*> [#uses=1]
547 %reg306 = load %IntList* %cast9521 ; <%IntList> [#uses=1]
548 %reg306.upgrd.6 = bitcast %IntList %reg306 to i8* ; [#uses=1]
549 %cast953 = bitcast %YYSTYPE* %reg304 to i32* ; [#uses=1]
550 %reg307 = load i32* %cast953 ; [#uses=1]
551 %reg955 = call %Binding @newBinding( i8* %reg306.upgrd.6, i32 %reg307 ) ; <%Binding> [#uses=1]
552 bitcast %Binding %reg955 to %IntList ; <%IntList>:4 [#uses=1]
553 store %IntList %4, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
554 br label %bb97
555
556 bb86: ; preds = %bb60
557 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
558 br label %bb97
559
560 bb87: ; preds = %bb61
561 %reg312 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
562 %cast961 = getelementptr %YYSTYPE* %reg312, i64 0, i32 0 ; <%IntList*> [#uses=1]
563 %reg314 = load %IntList* %cast961 ; <%IntList> [#uses=1]
564 %reg314.upgrd.7 = bitcast %IntList %reg314 to i8* ; [#uses=1]
565 %reg315.idx1 = getelementptr %YYSTYPE* %reg312, i64 -1, i32 0 ; <%IntList*> [#uses=1]
566 %reg315 = load %IntList* %reg315.idx1 ; <%IntList> [#uses=1]
567 %cast968 = bitcast %IntList %reg315 to %List ; <%List> [#uses=1]
568 %reg968 = call %List @newList( i8* %reg314.upgrd.7, %List %cast968 ) ; <%List> [#uses=1]
569 bitcast %List %reg968 to %IntList ; <%IntList>:5 [#uses=1]
570 store %IntList %5, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
571 br label %bb97
572
573 bb88: ; preds = %bb58
574 %reg318 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=4]
575 %cast9791 = getelementptr %YYSTYPE* %reg318, i64 -6, i32 0 ; <%IntList*> [#uses=1]
576 %reg322 = load %IntList* %cast9791 ; <%IntList> [#uses=1]
577 %reg322.upgrd.8 = bitcast %IntList %reg322 to i8* ; [#uses=1]
578 %reg323.idx1 = getelementptr %YYSTYPE* %reg318, i64 -4, i32 0 ; <%IntList*> [#uses=1]
579 %reg323 = load %IntList* %reg323.idx1 ; <%IntList> [#uses=1]
580 %reg987 = getelementptr %YYSTYPE* %reg318, i64 -2 ; <%YYSTYPE*> [#uses=1]
581 %cast989 = bitcast %YYSTYPE* %reg987 to i32* ; [#uses=1]
582 %reg324 = load i32* %cast989 ; [#uses=1]
583 %reg325.idx1 = getelementptr %YYSTYPE* %reg318, i64 -1, i32 0 ; <%IntList*> [#uses=1]
584 %reg325 = load %IntList* %reg325.idx1 ; <%IntList> [#uses=1]
585 %cast998 = bitcast %IntList %reg323 to %PatternAST ; <%PatternAST> [#uses=1]
586 %reg996 = call %RuleAST @newRuleAST( i8* %reg322.upgrd.8, %PatternAST %cast998, i32 %reg324, %IntList %reg325 ) ; <%RuleAST> [#uses=1]
587 bitcast %RuleAST %reg996 to %IntList ; <%IntList>:6 [#uses=1]
588 store %IntList %6, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
589 br label %bb97
590
591 bb89: ; preds = %bb63
592 %reg328 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
593 %cast1002 = getelementptr %YYSTYPE* %reg328, i64 0, i32 0 ; <%IntList*> [#uses=1]
594 %reg329 = load %IntList* %cast1002 ; <%IntList> [#uses=1]
595 %reg329.upgrd.9 = bitcast %IntList %reg329 to i8* ; [#uses=1]
596 %reg1004 = call %PatternAST @newPatternAST( i8* %reg329.upgrd.9, %List null ) ; <%PatternAST> [#uses=1]
597 bitcast %PatternAST %reg1004 to %IntList ; <%IntList>:7 [#uses=1]
598 store %IntList %7, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
599 br label %bb97
600
601 bb90: ; preds = %bb64
602 %reg333 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
603 %cast10131 = getelementptr %YYSTYPE* %reg333, i64 -1, i32 0 ; <%IntList*> [#uses=1]
604 %reg335 = load %IntList* %cast10131 ; <%IntList> [#uses=1]
605 %reg335.upgrd.10 = bitcast %IntList %reg335 to i8* ; [#uses=1]
606 %reg1015 = call %List @newList( i8* %reg335.upgrd.10, %List null ) ; <%List> [#uses=1]
607 %cast10211 = getelementptr %YYSTYPE* %reg333, i64 -3, i32 0 ; <%IntList*> [#uses=1]
608 %reg338 = load %IntList* %cast10211 ; <%IntList> [#uses=1]
609 %reg338.upgrd.11 = bitcast %IntList %reg338 to i8* ; [#uses=1]
610 %reg1023 = call %PatternAST @newPatternAST( i8* %reg338.upgrd.11, %List %reg1015 ) ; <%PatternAST> [#uses=1]
611 bitcast %PatternAST %reg1023 to %IntList ; <%IntList>:8 [#uses=1]
612 store %IntList %8, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
613 br label %bb97
614
615 bb91: ; preds = %bb56
616 %reg341 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=3]
617 %cast10331 = getelementptr %YYSTYPE* %reg341, i64 -1, i32 0 ; <%IntList*> [#uses=1]
618 %reg344 = load %IntList* %cast10331 ; <%IntList> [#uses=1]
619 %reg344.upgrd.12 = bitcast %IntList %reg344 to i8* ; [#uses=1]
620 %reg1035 = call %List @newList( i8* %reg344.upgrd.12, %List null ) ; <%List> [#uses=1]
621 %cast10411 = getelementptr %YYSTYPE* %reg341, i64 -3, i32 0 ; <%IntList*> [#uses=1]
622 %reg347 = load %IntList* %cast10411 ; <%IntList> [#uses=1]
623 %reg347.upgrd.13 = bitcast %IntList %reg347 to i8* ; [#uses=1]
624 %reg1043 = call %List @newList( i8* %reg347.upgrd.13, %List %reg1035 ) ; <%List> [#uses=1]
625 %cast10491 = getelementptr %YYSTYPE* %reg341, i64 -5, i32 0 ; <%IntList*> [#uses=1]
626 %reg349 = load %IntList* %cast10491 ; <%IntList> [#uses=1]
627 %reg349.upgrd.14 = bitcast %IntList %reg349 to i8* ; [#uses=1]
628 %reg1051 = call %PatternAST @newPatternAST( i8* %reg349.upgrd.14, %List %reg1043 ) ; <%PatternAST> [#uses=1]
629 bitcast %PatternAST %reg1051 to %IntList ; <%IntList>:9 [#uses=1]
630 store %IntList %9, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
631 br label %bb97
632
633 bb92: ; preds = %bb68
634 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
635 br label %bb97
636
637 bb93: ; preds = %bb69
638 %reg354 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
639 %reg1059 = getelementptr %YYSTYPE* %reg354, i64 -2 ; <%YYSTYPE*> [#uses=1]
640 %cast1061 = bitcast %YYSTYPE* %reg1059 to i32* ; [#uses=1]
641 %reg356 = load i32* %cast1061 ; [#uses=1]
642 %reg357.idx1 = getelementptr %YYSTYPE* %reg354, i64 -1, i32 0 ; <%IntList*> [#uses=1]
643 %reg357 = load %IntList* %reg357.idx1 ; <%IntList> [#uses=1]
644 %reg1068 = call %IntList @newIntList( i32 %reg356, %IntList %reg357 ) ; <%IntList> [#uses=1]
645 store %IntList %reg1068, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
646 br label %bb97
647
648 bb94: ; preds = %bb66
649 store %IntList null, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
650 br label %bb97
651
652 bb95: ; preds = %bb71
653 %reg362 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
654 %reg1076 = getelementptr %YYSTYPE* %reg362, i64 -1 ; <%YYSTYPE*> [#uses=1]
655 %cast1078 = bitcast %YYSTYPE* %reg1076 to i32* ; [#uses=1]
656 %reg364 = load i32* %cast1078 ; [#uses=1]
657 %reg365.idx = getelementptr %YYSTYPE* %reg362, i64 0, i32 0 ; <%IntList*> [#uses=1]
658 %reg365 = load %IntList* %reg365.idx ; <%IntList> [#uses=1]
659 %reg1081 = call %IntList @newIntList( i32 %reg364, %IntList %reg365 ) ; <%IntList> [#uses=1]
660 store %IntList %reg1081, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
661 br label %bb97
662
663 bb96: ; preds = %bb72
664 %reg368 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
665 %reg1088 = getelementptr %YYSTYPE* %reg368, i64 -1 ; <%YYSTYPE*> [#uses=1]
666 %cast1090 = bitcast %YYSTYPE* %reg1088 to i32* ; [#uses=1]
667 %reg370 = load i32* %cast1090 ; [#uses=1]
668 %reg371.idx = getelementptr %YYSTYPE* %reg368, i64 0, i32 0 ; <%IntList*> [#uses=1]
669 %reg371 = load %IntList* %reg371.idx ; <%IntList> [#uses=1]
670 %reg1093 = call %IntList @newIntList( i32 %reg370, %IntList %reg371 ) ; <%IntList> [#uses=1]
671 store %IntList %reg1093, %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0)
672 br label %bb97
673
674 bb97: ; preds = %bb96, %bb95, %bb94, %bb93, %bb92, %bb91, %bb90, %bb89, %bb88, %bb87, %bb86, %bb85, %bb84, %bb83, %bb82, %bb81, %bb80, %bb79, %bb78, %bb77, %bb76, %bb75, %bb74, %bb72, %bb69, %bb64, %bb61, %bb54, %bb51, %bb46, %bb43
675 %cast1097 = sext i16 %reg254 to i64 ; [#uses=3]
676 %reg375 = add i64 %cast1097, %cast1097 ; [#uses=1]
677 %reg377 = load i16** @yyssp ; [#uses=1]
678 %cast379 = ptrtoint i16* %reg377 to i64 ; [#uses=1]
679 %reg381 = sub i64 %cast379, %reg375 ; [#uses=1]
680 %cast1099 = inttoptr i64 %reg381 to i16* ; [#uses=1]
681 store i16* %cast1099, i16** @yyssp
682 %reg382 = load i16** @yyssp ; [#uses=3]
683 %reg383 = load i16* %reg382 ; [#uses=1]
684 %cast1103 = sext i16 %reg383 to i32 ; [#uses=3]
685 %reg385 = mul i64 %cast1097, 8 ; [#uses=1]
686 %reg387 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=1]
687 %cast389 = ptrtoint %YYSTYPE* %reg387 to i64 ; [#uses=1]
688 %reg391 = sub i64 %cast389, %reg385 ; [#uses=1]
689 %cast1108 = inttoptr i64 %reg391 to %YYSTYPE* ; <%YYSTYPE*> [#uses=1]
690 store %YYSTYPE* %cast1108, %YYSTYPE** @yyvsp
691 %reg1111 = getelementptr [25 x i16]* @yylhs, i64 0, i64 %reg468-idxcast ; [#uses=1]
692 %reg398 = load i16* %reg1111 ; [#uses=2]
693 %cast1116 = sext i16 %reg398 to i32 ; [#uses=1]
694 %cond1117 = icmp ne i32 %cast1103, 0 ; [#uses=1]
695 br i1 %cond1117, label %bb104, label %bb98
696
697 bb98: ; preds = %bb97
698 %cond1119 = icmp ne i32 %cast1116, 0 ; [#uses=1]
699 br i1 %cond1119, label %bb104, label %bb99
700
701 bb99: ; preds = %bb98
702 %reg1122 = getelementptr i16* %reg382, i64 1 ; [#uses=2]
703 store i16* %reg1122, i16** @yyssp
704 store i16 1, i16* %reg1122
705 %reg403 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
706 %reg1128 = getelementptr %YYSTYPE* %reg403, i64 1 ; <%YYSTYPE*> [#uses=1]
707 store %YYSTYPE* %reg1128, %YYSTYPE** @yyvsp
708 %reg406 = load %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0) ; <%IntList> [#uses=1]
709 %reg1128.idx1 = getelementptr %YYSTYPE* %reg403, i64 1, i32 0 ; <%IntList*> [#uses=1]
710 store %IntList %reg406, %IntList* %reg1128.idx1
711 %reg407 = load i32* @yychar ; [#uses=1]
712 %cond1135 = icmp sge i32 %reg407, 0 ; [#uses=1]
713 br i1 %cond1135, label %bb102, label %bb100
714
715 bb100: ; preds = %bb99
716 %reg1139 = call i32 @yylex( ) ; [#uses=1]
717 store i32 %reg1139, i32* @yychar
718 %reg409 = load i32* @yychar ; [#uses=1]
719 %cond1141 = icmp sge i32 %reg409, 0 ; [#uses=1]
720 br i1 %cond1141, label %bb102, label %bb101
721
722 bb101: ; preds = %bb100
723 store i32 0, i32* @yychar
724 br label %bb102
725
726 bb102: ; preds = %bb101, %bb100, %bb99
727 %reg411 = load i32* @yychar ; [#uses=1]
728 %cond1146 = icmp ne i32 %reg411, 0 ; [#uses=1]
729 br i1 %cond1146, label %bb4, label %UnifiedExitNode
730
731 bb104: ; preds = %bb98, %bb97
732 %reg398-idxcast = sext i16 %reg398 to i64 ; [#uses=2]
733 %reg1150 = getelementptr [12 x i16]* @yygindex, i64 0, i64 %reg398-idxcast ; [#uses=1]
734 %reg418 = load i16* %reg1150 ; [#uses=1]
735 %cast1155 = sext i16 %reg418 to i32 ; [#uses=2]
736 %cond1156 = icmp eq i32 %cast1155, 0 ; [#uses=1]
737 br i1 %cond1156, label %bb109, label %bb105
738
739 bb105: ; preds = %bb104
740 %reg473 = add i32 %cast1155, %cast1103 ; [#uses=3]
741 %cond1158 = icmp slt i32 %reg473, 0 ; [#uses=1]
742 br i1 %cond1158, label %bb109, label %bb106
743
744 bb106: ; preds = %bb105
745 %cond1161 = icmp sgt i32 %reg473, 262 ; [#uses=1]
746 br i1 %cond1161, label %bb109, label %bb107
747
748 bb107: ; preds = %bb106
749 %reg473-idxcast = sext i32 %reg473 to i64 ; [#uses=2]
750 %reg1166 = getelementptr [263 x i16]* @yycheck, i64 0, i64 %reg473-idxcast ; [#uses=1]
751 %reg428 = load i16* %reg1166 ; [#uses=1]
752 %cast1171 = sext i16 %reg428 to i32 ; [#uses=1]
753 %cond1172 = icmp ne i32 %cast1171, %cast1103 ; [#uses=1]
754 br i1 %cond1172, label %bb109, label %bb108
755
756 bb108: ; preds = %bb107
757 %reg1175 = getelementptr [263 x i16]* @yytable, i64 0, i64 %reg473-idxcast ; [#uses=1]
758 %reg435 = load i16* %reg1175 ; [#uses=1]
759 %cast1180 = sext i16 %reg435 to i32 ; [#uses=1]
760 br label %bb110
761
762 bb109: ; preds = %bb107, %bb106, %bb105, %bb104
763 %reg1183 = getelementptr [12 x i16]* @yydgoto, i64 0, i64 %reg398-idxcast ; [#uses=1]
764 %reg442 = load i16* %reg1183 ; [#uses=1]
765 %cast1188 = sext i16 %reg442 to i32 ; [#uses=1]
766 br label %bb110
767
768 bb110: ; preds = %bb109, %bb108
769 %reg476 = phi i32 [ %cast1188, %bb109 ], [ %cast1180, %bb108 ] ; [#uses=2]
770 %cast1189 = bitcast i16* %reg382 to i8* ; [#uses=1]
771 %reg444 = load i16** @yysslim ; [#uses=1]
772 %cast1190 = bitcast i16* %reg444 to i8* ; [#uses=1]
773 %cond1191 = icmp ult i8* %cast1189, %cast1190 ; [#uses=1]
774 br i1 %cond1191, label %bb112, label %bb111
775
776 bb111: ; preds = %bb110
777 %reg1193 = call i32 @yygrowstack( ) ; [#uses=1]
778 %cond1193 = icmp ne i32 %reg1193, 0 ; [#uses=1]
779 br i1 %cond1193, label %bb113, label %bb112
780
781 bb112: ; preds = %bb111, %bb110
782 %reg446 = load i16** @yyssp ; [#uses=1]
783 %reg1196 = getelementptr i16* %reg446, i64 1 ; [#uses=2]
784 store i16* %reg1196, i16** @yyssp
785 %cast1357 = trunc i32 %reg476 to i16 ; [#uses=1]
786 store i16 %cast1357, i16* %reg1196
787 %reg449 = load %YYSTYPE** @yyvsp ; <%YYSTYPE*> [#uses=2]
788 %reg1202 = getelementptr %YYSTYPE* %reg449, i64 1 ; <%YYSTYPE*> [#uses=1]
789 store %YYSTYPE* %reg1202, %YYSTYPE** @yyvsp
790 %reg452 = load %IntList* getelementptr (%YYSTYPE* @yyval, i64 0, i32 0) ; <%IntList> [#uses=1]
791 %reg1202.idx1 = getelementptr %YYSTYPE* %reg449, i64 1, i32 0 ; <%IntList*> [#uses=1]
792 store %IntList %reg452, %IntList* %reg1202.idx1
793 br label %bb4
794
795 bb113: ; preds = %bb111, %bb30, %bb13, %bb2
796 call void @yyerror( i8* getelementptr ([20 x i8]* @.LC1, i64 0, i64 0) )
797 br label %UnifiedExitNode
798
799 UnifiedExitNode: ; preds = %bb113, %bb102, %bb34, %bb32
800 %UnifiedRetVal = phi i32 [ 1, %bb113 ], [ 1, %bb34 ], [ 1, %bb32 ], [ 0, %bb102 ] ; [#uses=1]
801 ret i32 %UnifiedRetVal
802 }
803
804 declare %List @newList(i8*, %List)
805
806 declare %IntList @newIntList(i32, %IntList)
807
808 declare void @doStart(i8*)
809
810 declare void @yyerror(i8*)
811
812 declare void @doSpec(%List, %List)
813
814 declare %Arity @newArity(i32, %List)
815
816 declare %Binding @newBinding(i8*, i32)
817
818 declare %PatternAST @newPatternAST(i8*, %List)
819
820 declare %RuleAST @newRuleAST(i8*, %PatternAST, i32, %IntList)
821
822 declare void @yyfinished()
823
824 declare i32 @yylex()
825
826 declare void @doGram(%List)
827
828 declare i32 @yygrowstack()
+0
-49
test/CodeGen/Generic/spillccr.ll less more
None ; RUN: llc < %s
1
2 ; July 6, 2002 -- LLC Regression test
3 ; This test case checks if the integer CC register %xcc (or %ccr)
4 ; is correctly spilled. The code fragment came from function
5 ; MakeGraph in Olden-mst.
6 ; The original code made all comparisons with 0, so that the %xcc
7 ; register is not needed for the branch in the first basic block.
8 ; Replace 0 with 1 in the first comparson so that the
9 ; branch-on-register instruction cannot be used directly, i.e.,
10 ; the %xcc register is needed for the first branch.
11 ;
12
13 %Graph = type %struct.graph_st*
14 %Hash = type %struct.hash*
15 %HashEntry = type %struct.hash_entry*
16 %Vertex = type %struct.vert_st*
17 %struct.graph_st = type { [1 x %Vertex] }
18 %struct.hash = type { %HashEntry*, i32 (i32)*, i32 }
19 %struct.hash_entry = type { i32, i8*, %HashEntry }
20 %struct.vert_st = type { i32, %Vertex, %Hash }
21 @HashRange = external global i32 ; [#uses=0]
22 @.LC0 = internal global [13 x i8] c"Make phase 2\00" ; <[13 x i8]*> [#uses=0]
23 @.LC1 = internal global [13 x i8] c"Make phase 3\00" ; <[13 x i8]*> [#uses=0]
24 @.LC2 = internal global [13 x i8] c"Make phase 4\00" ; <[13 x i8]*> [#uses=0]
25 @.LC3 = internal global [15 x i8] c"Make returning\00" ; <[15 x i8]*> [#uses=0]
26
27 define %Graph @MakeGraph(i32 %numvert, i32 %numproc) {
28 bb1:
29 %reg111 = add i32 %numproc, -1 ; [#uses=2]
30 %cond275 = icmp slt i32 %reg111, 1 ; [#uses=1]
31 %cond276 = icmp sle i32 %reg111, 0 ; [#uses=1]
32 %cond277 = icmp sge i32 %numvert, 0 ; [#uses=1]
33 %reg162 = add i32 %numvert, 3 ; [#uses=0]
34 br i1 %cond275, label %bb7, label %bb4
35
36 bb4: ; preds = %bb1
37 br i1 %cond276, label %bb7, label %bb5
38
39 bb5: ; preds = %bb4
40 br i1 %cond277, label %bb7, label %bb6
41
42 bb6: ; preds = %bb5
43 ret %Graph null
44
45 bb7: ; preds = %bb5, %bb4, %bb1
46 ret %Graph null
47 }
48
+0
-237
test/CodeGen/X86/2008-12-05-SpillerCrash.ll less more
None ; RUN: llc < %s -mtriple=i386-apple-darwin9.5 -mattr=+sse41 -relocation-model=pic
1
2 %struct.XXActiveTextureTargets = type { i64, i64, i64, i64, i64, i64 }
3 %struct.XXAlphaTest = type { float, i16, i8, i8 }
4 %struct.XXArrayRange = type { i8, i8, i8, i8 }
5 %struct.XXBlendMode = type { i16, i16, i16, i16, %struct.ZZIColor4, i16, i16, i8, i8, i8, i8 }
6 %struct.XXBBRec = type opaque
7 %struct.XXBBstate = type { %struct.ZZGTransformKey, %struct.ZZGTransformKey, %struct.XXProgramLimits, %struct.XXProgramLimits, i8, i8, i8, i8, %struct.ZZSBB, %struct.ZZSBB, [4 x %struct.ZZSBB], %struct.ZZSBB, %struct.ZZSBB, %struct.ZZSBB, [8 x %struct.ZZSBB], %struct.ZZSBB }
8 %struct.XXClearColor = type { double, %struct.ZZIColor4, %struct.ZZIColor4, float, i32 }
9 %struct.XXClipPlane = type { i32, [6 x %struct.ZZIColor4] }
10 %struct.XXColorBB = type { i16, i8, i8, [8 x i16], i8, i8, i8, i8 }
11 %struct.XXColorMatrix = type { [16 x float]*, %struct.XXImagingColorScale }
12 %struct.XXConfig = type { i32, float, %struct.ZZGTransformKey, %struct.ZZGTransformKey, i8, i8, i8, i8, i8, i8, i16, i32, i32, i32, %struct.XXPixelFormatInfo, %struct.XXPointLineLimits, %struct.XXPointLineLimits, %struct.XXRenderFeatures, i32, i32, i32, i32, i32, i32, i32, i32, i32, %struct.XXTextureLimits, [3 x %struct.XXPipelineProgramLimits], %struct.XXFragmentProgramLimits, %struct.XXVertexProgramLimits, %struct.XXGeometryShaderLimits, %struct.XXProgramLimits, %struct.XXGeometryShaderLimits, %struct.XXVertexDescriptor*, %struct.XXVertexDescriptor*, [3 x i32], [4 x i32], [0 x i32] }
13 %struct.XXContextRec = type { float, float, float, float, float, float, float, float, %struct.ZZIColor4, %struct.ZZIColor4, %struct.YYFPContext, [16 x [2 x %struct.PPStreamToken]], %struct.ZZGProcessor, %struct._YYConstants*, void (%struct.XXContextRec*, i32, i32, %struct.YYFragmentAttrib*, %struct.YYFragmentAttrib*, i32)*, %struct._YYFunction*, %struct.PPStreamToken*, void (%struct.XXContextRec*, %struct.XXVertex*)*, void (%struct.XXContextRec*, %struct.XXVertex*, %struct.XXVertex*)*, void (%struct.XXContextRec*, %struct.XXVertex*, %struct.XXVertex*, %struct.XXVertex*)*, %struct._YYFunction*, %struct._YYFunction*, %struct._YYFunction*, [4 x i32], [3 x i32], [3 x i32], float, float, float, %struct.PPStreamToken, i32, %struct.ZZSDrawable, %struct.XXFramebufferRec*, %struct.XXFramebufferRec*, %struct.XXRect, %struct.XXFormat, %struct.XXFormat, %struct.XXFormat, %struct.XXConfig*, %struct.XXBBstate, %struct.XXBBstate, %struct.XXSharedRec*, %struct.XXState*, %struct.XXPluginState*, %struct.XXVertex*, %struct.YYFragmentAttrib*, %struct.YYFragmentAttrib*, %struct.YYFragmentAttrib*, %struct.XXProgramRec*, %struct.XXPipelineProgramRec*, %struct.YYTextures, %struct.XXStippleData, i8, i16, i8, i32, i32, i32, %struct.XXQueryRec*, %struct.XXQueryRec*, %struct.XXFallback, { void (i8*, i8*, i32, i8*)* } }
14 %struct.XXConvolution = type { %struct.ZZIColor4, %struct.XXImagingColorScale, i16, i16, [0 x i32], float*, i32, i32 }
15 %struct.XXCurrent16A = type { [8 x %struct.ZZIColor4], [16 x %struct.ZZIColor4], %struct.ZZIColor4, %struct.XXPointLineLimits, float, %struct.XXPointLineLimits, float, [4 x float], %struct.XXPointLineLimits, float, float, float, float, i8, i8, i8, i8 }
16 %struct.XXDepthTest = type { i16, i16, i8, i8, i8, i8, double, double }
17 %struct.XXDrawableWindow = type { i32, i32, i32 }
18 %struct.XXFallback = type { float*, %struct.XXRenderDispatch*, %struct.XXConfig*, i8*, i8*, i32, i32 }
19 %struct.XXFenceRec = type opaque
20 %struct.XXFixedFunction = type { %struct.PPStreamToken* }
21 %struct.XXFogMode = type { %struct.ZZIColor4, float, float, float, float, float, i16, i16, i16, i8, i8 }
22 %struct.XXFormat = type { i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8, i32, i32, i32 }
23 %struct.XXFragmentProgramLimits = type { i32, i32, i32, i16, i16, i32, i32 }
24 %struct.XXFramebufferAttachment = type { i16, i16, i32, i32, i32 }
25 %struct.XXFramebufferData = type { [10 x %struct.XXFramebufferAttachment], [8 x i16], i16, i16, i16, i8, i8, i32, i32 }
26 %struct.XXFramebufferRec = type { %struct.XXFramebufferData*, %struct.XXPluginFramebufferData*, %struct.XXFormat, i8, i8, i8, i8 }
27 %struct.XXGeometryShaderLimits = type { i32, i32, i32, i32, i32 }
28 %struct.XXHintMode = type { i16, i16, i16, i16, i16, i16, i16, i16, i16, i16 }
29 %struct.XXHistogram = type { %struct.XXProgramLimits*, i32, i16, i8, i8 }
30 %struct.XXImagingColorScale = type { %struct.ZZTCoord2, %struct.ZZTCoord2, %struct.ZZTCoord2, %struct.ZZTCoord2 }
31 %struct.XXImagingSubset = type { %struct.XXConvolution, %struct.XXConvolution, %struct.XXConvolution, %struct.XXColorMatrix, %struct.XXMinmax, %struct.XXHistogram, %struct.XXImagingColorScale, %struct.XXImagingColorScale, %struct.XXImagingColorScale, %struct.XXImagingColorScale, i32, [0 x i32] }
32 %struct.XXLight = type { %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, %struct.XXPointLineLimits, float, float, float, float, float, %struct.XXPointLineLimits, float, %struct.XXPointLineLimits, float, %struct.XXPointLineLimits, float, float, float, float, float }
33 %struct.XXLightModel = type { %struct.ZZIColor4, [8 x %struct.XXLight], [2 x %struct.XXMaterial], i32, i16, i16, i16, i8, i8, i8, i8, i8, i8 }
34 %struct.XXLightProduct = type { %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4 }
35 %struct.XXLineMode = type { float, i32, i16, i16, i8, i8, i8, i8 }
36 %struct.XXLogicOp = type { i16, i8, i8 }
37 %struct.XXMaskMode = type { i32, [3 x i32], i8, i8, i8, i8, i8, i8, i8, i8 }
38 %struct.XXMaterial = type { %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, float, float, float, float, [8 x %struct.XXLightProduct], %struct.ZZIColor4, [8 x i32] }
39 %struct.XXMinmax = type { %struct.XXMinmaxTable*, i16, i8, i8, [0 x i32] }
40 %struct.XXMinmaxTable = type { %struct.ZZIColor4, %struct.ZZIColor4 }
41 %struct.XXMipmaplevel = type { [4 x i32], [4 x i32], [4 x float], [4 x i32], i32, i32, float*, i8*, i16, i16, i16, i16, [2 x float] }
42 %struct.XXMultisample = type { float, i8, i8, i8, i8, i8, i8, i8, i8 }
43 %struct.XXPipelineProgramData = type { i16, i8, i8, i32, %struct.PPStreamToken*, i64, %struct.ZZIColor4*, i32, [0 x i32] }
44 %struct.XXPipelineProgramLimits = type { i32, i16, i16, i32, i16, i16, i32, i32 }
45 %struct.XXPipelineProgramRec = type { %struct.XXPipelineProgramData*, %struct.PPStreamToken*, %struct.XXContextRec*, { %struct._YYFunction*, \2, \2, [20 x i32], [64 x i32], i32, i32, i32 }*, i32, i32 }
46 %struct.XXPipelineProgramState = type { i8, i8, i8, i8, [0 x i32], %struct.ZZIColor4* }
47 %struct.XXPixelFormatInfo = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
48 %struct.XXPixelMap = type { i32*, float*, float*, float*, float*, float*, float*, float*, float*, i32*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32 }
49 %struct.XXPixelMode = type { float, float, %struct.XXPixelStore, %struct.XXPixelTransfer, %struct.XXPixelMap, %struct.XXImagingSubset, i32, i32 }
50 %struct.XXPixelPack = type { i32, i32, i32, i32, i32, i32, i32, i32, i8, i8, i8, i8 }
51 %struct.XXPixelStore = type { %struct.XXPixelPack, %struct.XXPixelPack }
52 %struct.XXPixelTransfer = type { float, float, float, float, float, float, float, float, float, float, i32, i32, float, float, float, float, float, float, float, float, float, float, float, float }
53 %struct.XXPluginFramebufferData = type { [10 x %struct.XXTextureRec*], i8, i8, i8, i8 }
54 %struct.XXPluginProgramData = type { [3 x %struct.XXPipelineProgramRec*], %struct.XXBBRec**, i32, [0 x i32] }
55 %struct.XXPluginState = type { [16 x [5 x %struct.XXTextureRec*]], [3 x %struct.XXTextureRec*], [3 x %struct.XXPipelineProgramRec*], [3 x %struct.XXPipelineProgramRec*], %struct.XXProgramRec*, %struct.XXVertexArrayRec*, [16 x %struct.XXBBRec*], %struct.XXFramebufferRec*, %struct.XXFramebufferRec* }
56 %struct.XXPointLineLimits = type { float, float, float }
57 %struct.XXPointMode = type { float, float, float, float, %struct.XXPointLineLimits, float, i8, i8, i8, i8, i16, i16, i32, i16, i16 }
58 %struct.XXPolygonMode = type { [128 x i8], float, float, i16, i16, i16, i16, i8, i8, i8, i8, i8, i8, i8, i8 }
59 %struct.XXProgramData = type { i32, i32, i32, i32, %struct.PPStreamToken*, i32*, i32, i32, i32, i32, i8, i8, i8, i8, [0 x i32] }
60 %struct.XXProgramLimits = type { i32, i32, i32, i32 }
61 %struct.XXProgramRec = type { %struct.XXProgramData*, %struct.XXPluginProgramData*, %struct.ZZIColor4**, i32 }
62 %struct.XXQueryRec = type { i32, i32, %struct.XXQueryRec* }
63 %struct.XXRect = type { i32, i32, i32, i32, i32, i32 }
64 %struct.XXRegisterCombiners = type { i8, i8, i8, i8, i32, [2 x %struct.ZZIColor4], [8 x %struct.XXRegisterCombinersPerStageState], %struct.XXRegisterCombinersFinalStageState }
65 %struct.XXRegisterCombinersFinalStageState = type { i8, i8, i8, i8, [7 x %struct.XXRegisterCombinersPerVariableState] }
66 %struct.XXRegisterCombinersPerPortionState = type { [4 x %struct.XXRegisterCombinersPerVariableState], i8, i8, i8, i8, i16, i16, i16, i16, i16, i16 }
67 %struct.XXRegisterCombinersPerStageState = type { [2 x %struct.XXRegisterCombinersPerPortionState], [2 x %struct.ZZIColor4] }
68 %struct.XXRegisterCombinersPerVariableState = type { i16, i16, i16, i16 }
69 %struct.XXRenderDispatch = type { void (%struct.XXContextRec*, i32, float)*, void (%struct.XXContextRec*, i32)*, i32 (%struct.XXContextRec*, i32, i32, i32, i32, i32, i32, i8*, i32, %struct.XXBBRec*)*, i32 (%struct.XXContextRec*, %struct.XXVertex*, i32, i32, i32, i32, i8*, i32, %struct.XXBBRec*)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32, i32, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32, float, float, i8*, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex*, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex**, i32)*, void (%struct.XXContextRec*, %struct.XXVertex**, i32, i32)*, void (%struct.XXContextRec*, %struct.XXVertex**, i32, i32)*, i8* (%struct.XXContextRec*, i32, i32*)*, void (%struct.XXContextRec*, i32, i32, i32)*, i8* (%struct.XXContextRec*, i32, i32, i32, i32, i32)*, void (%struct.XXContextRec*, i32, i32, i32, i32, i32, i8*)*, void (%struct.XXContextRec*)*, void (%struct.XXContextRec*)*, void (%struct.XXContextRec*)*, void (%struct.XXContextRec*, %struct.XXFenceRec*)*, void (%struct.XXContextRec*, i32, %struct.XXQueryRec*)*, void (%struct.XXContextRec*, %struct.XXQueryRec*)*, i32 (%struct.XXContextRec*, i32, i32, i32, i32, i32, i8*, %struct.ZZIColor4*, %struct.XXCurrent16A*)*, i32 (%struct.XXContextRec*, %struct.XXTextureRec*, i32, i32, i32, i32, i32, i32, i32, i32, i32)*, i32 (%struct.XXContextRec*, %struct.XXTextureRec*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8*, i32, %struct.XXBBRec*)*, i32 (%struct.XXContextRec*, %struct.XXTextureRec*, i32)*, i32 (%struct.XXContextRec*, %struct.XXBBRec*, i32, i32, i8*)*, void (%struct.XXContextRec*, i32)*, void (%struct.XXContextRec*)*, void (%struct.XXContextRec*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32)*, i32 (%struct.XXContextRec*, %struct.XXQueryRec*)*, void (%struct.XXContextRec*)* }
70 %struct.XXRenderFeatures = type { i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8 }
71 %struct.XXSWRSurfaceRec = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8*, i8*, i8*, [4 x i8*], i32 }
72 %struct.XXScissorTest = type { %struct.XXProgramLimits, i8, i8, i8, i8 }
73 %struct.XXSharedData = type { }
74 %struct.XXSharedRec = type { %struct.__ZZarrayelementDrawInfoListType, %struct.XXSharedData*, i32, i8, i8, i8, i8 }
75 %struct.XXState = type <{ i16, i16, i16, i16, i32, i32, [256 x %struct.ZZIColor4], [128 x %struct.ZZIColor4], %struct.XXViewport, %struct.XXTransform, %struct.XXLightModel, %struct.XXActiveTextureTargets, %struct.XXAlphaTest, %struct.XXBlendMode, %struct.XXClearColor, %struct.XXColorBB, %struct.XXDepthTest, %struct.XXArrayRange, %struct.XXFogMode, %struct.XXHintMode, %struct.XXLineMode, %struct.XXLogicOp, %struct.XXMaskMode, %struct.XXPixelMode, %struct.XXPointMode, %struct.XXPolygonMode, %struct.XXScissorTest, i32, %struct.XXStencilTest, [8 x %struct.XXTextureMode], [16 x %struct.XXTextureImageMode], %struct.XXArrayRange, [8 x %struct.XXTextureCoordGen], %struct.XXClipPlane, %struct.XXMultisample, %struct.XXRegisterCombiners, %struct.XXArrayRange, %struct.XXArrayRange, [3 x %struct.XXPipelineProgramState], %struct.XXArrayRange, %struct.XXTransformFeedback, i32*, %struct.XXFixedFunction, [1 x i32] }>
76 %struct.XXStencilTest = type { [3 x { i32, i32, i16, i16, i16, i16 }], i32, [4 x i8] }
77 %struct.XXStippleData = type { i32, i16, i16, [32 x [32 x i8]] }
78 %struct.XXTextureCoordGen = type { { i16, i16, %struct.ZZIColor4, %struct.ZZIColor4 }, { i16, i16, %struct.ZZIColor4, %struct.ZZIColor4 }, { i16, i16, %struct.ZZIColor4, %struct.ZZIColor4 }, { i16, i16, %struct.ZZIColor4, %struct.ZZIColor4 }, i8, i8, i8, i8 }
79 %struct.XXTextureGeomState = type { i16, i16, i16, i16, i16, i8, i8, i8, i8, i16, i16, i16, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, i8, [6 x i16], [6 x i16] }
80 %struct.XXTextureImageMode = type { float }
81 %struct.XXTextureLevel = type { i32, i32, i16, i16, i16, i8, i8, i16, i16, i16, i16, i8* }
82 %struct.XXTextureLimits = type { float, float, i16, i16, i16, i16, i16, i16, i16, i16, i16, i8, i8, [16 x i16], i32 }
83 %struct.XXTextureMode = type { %struct.ZZIColor4, i32, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, i16, float, float, i16, i16, i16, i16, i16, i16, [4 x i16], i8, i8, i8, i8, [3 x float], [4 x float], float, float }
84 %struct.XXTextureParamState = type { i16, i16, i16, i16, i16, i16, %struct.ZZIColor4, float, float, float, float, i16, i16, i16, i16, float, i16, i8, i8, i32, i8* }
85 %struct.XXTextureRec = type { [4 x float], %struct.XXTextureState*, %struct.XXMipmaplevel*, %struct.XXMipmaplevel*, float, float, float, float, i8, i8, i8, i8, i16, i16, i16, i16, i32, float, [2 x %struct.PPStreamToken] }
86 %struct.XXTextureState = type { i16, i8, i8, i16, i16, float, i32, %struct.XXSWRSurfaceRec*, %struct.XXTextureParamState, %struct.XXTextureGeomState, i16, i16, i8*, %struct.XXTextureLevel, [1 x [15 x %struct.XXTextureLevel]] }
87 %struct.XXTransform = type <{ [24 x [16 x float]], [24 x [16 x float]], [16 x float], float, float, float, float, float, i8, i8, i8, i8, i32, i32, i32, i16, i16, i8, i8, i8, i8, i32 }>
88 %struct.XXTransformFeedback = type { i8, i8, i8, i8, [0 x i32], [16 x i32], [16 x i32] }
89 %struct.XXVertex = type { %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, %struct.ZZIColor4, %struct.XXPointLineLimits, float, %struct.ZZIColor4, float, i8, i8, i8, i8, float, float, i32, i32, i32, i32, [4 x float], [2 x %struct.XXMaterial*], [2 x i32], [8 x %struct.ZZIColor4] }
90 %struct.XXVertexArrayRec = type opaque
91 %struct.XXVertexDescriptor = type { i8, i8, i8, i8, [0 x i32] }
92 %struct.XXVertexProgramLimits = type { i16, i16, i32, i32 }
93 %struct.XXViewport = type { float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, float, double, double, i32, i32, i32, i32, float, float, float, float }
94 %struct.ZZGColorTable = type { i32, i32, i32, i8* }
95 %struct.ZZGOperation = type { i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, float, float, %struct.ZZGColorTable, %struct.ZZGColorTable, %struct.ZZGColorTable }
96 %struct.ZZGProcessor = type { void (%struct.XXPixelMode*, %struct.ZZGOperation*, %struct._ZZGProcessorData*, %union._ZZGFunctionKey*)*, %struct._YYFunction*, %union._ZZGFunctionKey*, %struct._ZZGProcessorData* }
97 %struct.ZZGTransformKey = type { i32, i32 }
98 %struct.ZZIColor4 = type { float, float, float, float }
99 %struct.ZZSBB = type { i8* }
100 %struct.ZZSDrawable = type { %struct.ZZSWindowRec* }
101 %struct.ZZSWindowRec = type { %struct.ZZGTransformKey, %struct.ZZGTransformKey, i32, i32, %struct.ZZSDrawable, i8*, i8*, i8*, i8*, i8*, [4 x i8*], i32, i16, i16, i16, i16, i8, i8, i8, i8, i8, i8, i8, i8, %struct.XXDrawableWindow, i32, i32, i8*, i8* }
102 %struct.ZZTCoord2 = type { float, float }
103 %struct.YYFPContext = type { float, i32, i32, i32, float, [3 x float] }
104 %struct.YYFragmentAttrib = type { <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, [8 x <4 x float>] }
105 %struct.YYTextures = type { [16 x %struct.XXTextureRec*] }
106 %struct.PPStreamToken = type { { i16, i16, i32 } }
107 %struct._ZZGProcessorData = type { void (i8*, i8*, i32, i32, i32, i32, i32, i32, i32)*, void (i8*, i8*, i32, i32, i32, i32, i32, i32, i32)*, i8* (i32)*, void (i8*)* }
108 %struct._YYConstants = type { <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, float, float, float, float, float, float, float, float, float, float, float, float, [256 x float], [4096 x i8], [8 x float], [48 x float], [128 x float], [528 x i8], { void (i8*, i8*, i32, i8*)*, float (float)*, float (float)*, float (float)*, i32 (float)* } }
109 %struct._YYFunction = type opaque
110 %struct.__ZZarrayelementDrawInfoListType = type { i32, [40 x i8] }
111 %union._ZZGFunctionKey = type opaque
112 @llvm.used = appending global [1 x i8*] [ i8* bitcast (void (%struct.XXContextRec*, i32, i32, %struct.YYFragmentAttrib*, %struct.YYFragmentAttrib*, i32)* @t to i8*) ], section "llvm.metadata" ; <[1 x i8*]*> [#uses=0]
113
114 define void @t(%struct.XXContextRec* %ctx, i32 %x, i32 %y, %struct.YYFragmentAttrib* %start, %struct.YYFragmentAttrib* %deriv, i32 %num_frags) nounwind {
115 entry:
116 %tmp7485.i.i.i = xor <4 x i32> zeroinitializer, < i32 -1, i32 -1, i32 -1, i32 -1 > ; <<4 x i32>> [#uses=1]
117 %tmp8382.i.i.i = extractelement <4 x i32> zeroinitializer, i32 1 ; [#uses=1]
118 %tmp8383.i.i.i = extractelement <4 x i32> zeroinitializer, i32 2 ; [#uses=2]
119 %tmp8384.i.i.i = extractelement <4 x i32> zeroinitializer, i32 3 ; [#uses=2]
120 br label %bb7551.i.i.i
121
122 bb4426.i.i.i: ; preds = %bb7551.i.i.i
123 %0 = getelementptr %struct.XXMipmaplevel* null, i32 %tmp8383.i.i.i, i32 3 ; <[4 x i32]*> [#uses=1]
124 %1 = bitcast [4 x i32]* %0 to <4 x i32>* ; <<4 x i32>*> [#uses=1]
125 %2 = load <4 x i32>* %1, align 16 ; <<4 x i32>> [#uses=1]
126 %3 = getelementptr %struct.XXMipmaplevel* null, i32 %tmp8384.i.i.i, i32 3 ; <[4 x i32]*> [#uses=1]
127 %4 = bitcast [4 x i32]* %3 to <4 x i32>* ; <<4 x i32>*> [#uses=1]
128 %5 = load <4 x i32>* %4, align 16 ; <<4 x i32>> [#uses=1]
129 %6 = shufflevector <4 x i32> %2, <4 x i32> %5, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x i32>> [#uses=1]
130 %7 = bitcast <4 x i32> %6 to <2 x i64> ; <<2 x i64>> [#uses=1]
131 %8 = shufflevector <2 x i64> zeroinitializer, <2 x i64> %7, <2 x i32> < i32 1, i32 3 > ; <<2 x i64>> [#uses=1]
132 %9 = getelementptr %struct.XXMipmaplevel* null, i32 %tmp8382.i.i.i, i32 6 ; [#uses=1]
133 %10 = load float** %9, align 4 ; [#uses=1]
134 %11 = bitcast float* %10 to i8* ; [#uses=1]
135 %12 = getelementptr %struct.XXMipmaplevel* null, i32 %tmp8383.i.i.i, i32 6 ; [#uses=1]
136 %13 = load float** %12, align 4 ; [#uses=1]
137 %14 = bitcast float* %13 to i8* ; [#uses=1]
138 %15 = getelementptr %struct.XXMipmaplevel* null, i32 %tmp8384.i.i.i, i32 6 ; [#uses=1]
139 %16 = load float** %15, align 4 ; [#uses=1]
140 %17 = bitcast float* %16 to i8* ; [#uses=1]
141 %tmp7308.i.i.i = and <2 x i64> zeroinitializer, %8 ; <<2 x i64>> [#uses=1]
142 %18 = bitcast <2 x i64> %tmp7308.i.i.i to <4 x i32> ; <<4 x i32>> [#uses=1]
143 %19 = mul <4 x i32> %18, zeroinitializer ; <<4 x i32>> [#uses=1]
144 %20 = add <4 x i32> %19, zeroinitializer ; <<4 x i32>> [#uses=3]
145 %21 = load i32* null, align 4 ; [#uses=0]
146 %22 = call <4 x float> @llvm.x86.sse2.cvtdq2ps(<4 x i32> zeroinitializer) nounwind readnone ; <<4 x float>> [#uses=1]
147 %23 = fmul <4 x float> %22, < float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000 > ; <<4 x float>> [#uses=1]
148 %tmp2114.i119.i.i = extractelement <4 x i32> %20, i32 1 ; [#uses=1]
149 %24 = shl i32 %tmp2114.i119.i.i, 2 ; [#uses=1]
150 %25 = getelementptr i8* %11, i32 %24 ; [#uses=1]
151 %26 = bitcast i8* %25 to i32* ; [#uses=1]
152 %27 = load i32* %26, align 4 ; [#uses=1]
153 %28 = or i32 %27, -16777216 ; [#uses=1]
154 %tmp1927.i120.i.i = insertelement <4 x i32> undef, i32 %28, i32 0 ; <<4 x i32>> [#uses=1]
155 %29 = bitcast <4 x i32> %tmp1927.i120.i.i to <16 x i8> ; <<16 x i8>> [#uses=1]
156 %30 = shufflevector <16 x i8> %29, <16 x i8> < i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef >, <16 x i32> < i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23 > ; <<16 x i8>> [#uses=1]
157 %31 = bitcast <16 x i8> %30 to <8 x i16> ; <<8 x i16>> [#uses=1]
158 %32 = shufflevector <8 x i16> %31, <8 x i16> < i16 0, i16 0, i16 0, i16 0, i16 undef, i16 undef, i16 undef, i16 undef >, <8 x i32> < i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11 > ; <<8 x i16>> [#uses=1]
159 %33 = bitcast <8 x i16> %32 to <4 x i32> ; <<4 x i32>> [#uses=1]
160 %34 = shufflevector <4 x i32> %33, <4 x i32> undef, <4 x i32> < i32 2, i32 1, i32 0, i32 3 > ; <<4 x i32>> [#uses=1]
161 %35 = call <4 x float> @llvm.x86.sse2.cvtdq2ps(<4 x i32> %34) nounwind readnone ; <<4 x float>> [#uses=1]
162 %36 = fmul <4 x float> %35, < float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000 > ; <<4 x float>> [#uses=1]
163 %tmp2113.i124.i.i = extractelement <4 x i32> %20, i32 2 ; [#uses=1]
164 %37 = shl i32 %tmp2113.i124.i.i, 2 ; [#uses=1]
165 %38 = getelementptr i8* %14, i32 %37 ; [#uses=1]
166 %39 = bitcast i8* %38 to i32* ; [#uses=1]
167 %40 = load i32* %39, align 4 ; [#uses=1]
168 %41 = or i32 %40, -16777216 ; [#uses=1]
169 %tmp1963.i125.i.i = insertelement <4 x i32> undef, i32 %41, i32 0 ; <<4 x i32>> [#uses=1]
170 %42 = bitcast <4 x i32> %tmp1963.i125.i.i to <16 x i8> ; <<16 x i8>> [#uses=1]
171 %43 = shufflevector <16 x i8> %42, <16 x i8> < i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef >, <16 x i32> < i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23 > ; <<16 x i8>> [#uses=1]
172 %44 = bitcast <16 x i8> %43 to <8 x i16> ; <<8 x i16>> [#uses=1]
173 %45 = shufflevector <8 x i16> %44, <8 x i16> < i16 0, i16 0, i16 0, i16 0, i16 undef, i16 undef, i16 undef, i16 undef >, <8 x i32> < i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11 > ; <<8 x i16>> [#uses=1]
174 %46 = bitcast <8 x i16> %45 to <4 x i32> ; <<4 x i32>> [#uses=1]
175 %47 = shufflevector <4 x i32> %46, <4 x i32> undef, <4 x i32> < i32 2, i32 1, i32 0, i32 3 > ; <<4 x i32>> [#uses=1]
176 %48 = call <4 x float> @llvm.x86.sse2.cvtdq2ps(<4 x i32> %47) nounwind readnone ; <<4 x float>> [#uses=1]
177 %49 = fmul <4 x float> %48, < float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000 > ; <<4 x float>> [#uses=1]
178 %tmp2112.i129.i.i = extractelement <4 x i32> %20, i32 3 ; [#uses=1]
179 %50 = shl i32 %tmp2112.i129.i.i, 2 ; [#uses=1]
180 %51 = getelementptr i8* %17, i32 %50 ; [#uses=1]
181 %52 = bitcast i8* %51 to i32* ; [#uses=1]
182 %53 = load i32* %52, align 4 ; [#uses=1]
183 %54 = or i32 %53, -16777216 ; [#uses=1]
184 %tmp1999.i130.i.i = insertelement <4 x i32> undef, i32 %54, i32 0 ; <<4 x i32>> [#uses=1]
185 %55 = bitcast <4 x i32> %tmp1999.i130.i.i to <16 x i8> ; <<16 x i8>> [#uses=1]
186 %56 = shufflevector <16 x i8> %55, <16 x i8> < i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef, i8 undef >, <16 x i32> < i32 0, i32 16, i32 1, i32 17, i32 2, i32 18, i32 3, i32 19, i32 4, i32 20, i32 5, i32 21, i32 6, i32 22, i32 7, i32 23 > ; <<16 x i8>> [#uses=1]
187 %57 = bitcast <16 x i8> %56 to <8 x i16> ; <<8 x i16>> [#uses=1]
188 %58 = shufflevector <8 x i16> %57, <8 x i16> < i16 0, i16 0, i16 0, i16 0, i16 undef, i16 undef, i16 undef, i16 undef >, <8 x i32> < i32 0, i32 8, i32 1, i32 9, i32 2, i32 10, i32 3, i32 11 > ; <<8 x i16>> [#uses=1]
189 %59 = bitcast <8 x i16> %58 to <4 x i32> ; <<4 x i32>> [#uses=1]
190 %60 = shufflevector <4 x i32> %59, <4 x i32> undef, <4 x i32> < i32 2, i32 1, i32 0, i32 3 > ; <<4 x i32>> [#uses=1]
191 %61 = call <4 x float> @llvm.x86.sse2.cvtdq2ps(<4 x i32> %60) nounwind readnone ; <<4 x float>> [#uses=1]
192 %62 = fmul <4 x float> %61, < float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000, float 0x3F70101020000000 > ; <<4 x float>> [#uses=1]
193 %63 = fmul <4 x float> %23, zeroinitializer ; <<4 x float>> [#uses=1]
194 %64 = fadd <4 x float> zeroinitializer, %63 ; <<4 x float>> [#uses=1]
195 %65 = fmul <4 x float> %36, zeroinitializer ; <<4 x float>> [#uses=1]
196 %66 = fadd <4 x float> zeroinitializer, %65 ; <<4 x float>> [#uses=1]
197 %67 = fmul <4 x float> %49, zeroinitializer ; <<4 x float>> [#uses=1]
198 %68 = fadd <4 x float> zeroinitializer, %67 ; <<4 x float>> [#uses=1]
199 %69 = fmul <4 x float> %62, zeroinitializer ; <<4 x float>> [#uses=1]
200 %70 = fadd <4 x float> zeroinitializer, %69 ; <<4 x float>> [#uses=1]
201 %tmp7452.i.i.i = bitcast <4 x float> %64 to <4 x i32> ; <<4 x i32>> [#uses=1]
202 %tmp7454.i.i.i = and <4 x i32> %tmp7452.i.i.i, zeroinitializer ; <<4 x i32>> [#uses=1]
203 %tmp7459.i.i.i = or <4 x i32> %tmp7454.i.i.i, zeroinitializer ; <<4 x i32>> [#uses=1]
204 %tmp7460.i.i.i = bitcast <4 x i32> %tmp7459.i.i.i to <4 x float> ; <<4 x float>> [#uses=1]
205 %tmp7468.i.i.i = bitcast <4 x float> %66 to <4 x i32> ; <<4 x i32>> [#uses=1]
206 %tmp7470.i.i.i = and <4 x i32> %tmp7468.i.i.i, zeroinitializer ; <<4 x i32>> [#uses=1]
207 %tmp7475.i.i.i = or <4 x i32> %tmp7470.i.i.i, zeroinitializer ; <<4 x i32>> [#uses=1]
208 %tmp7476.i.i.i = bitcast <4 x i32> %tmp7475.i.i.i to <4 x float> ; <<4 x float>> [#uses=1]
209 %tmp7479.i.i.i = bitcast <4 x float> %.279.1.i to <4 x i32> ; <<4 x i32>> [#uses=1]
210 %tmp7480.i.i.i = and <4 x i32> zeroinitializer, %tmp7479.i.i.i ; <<4 x i32>> [#uses=1]
211 %tmp7484.i.i.i = bitcast <4 x float> %68 to <4 x i32> ; <<4 x i32>> [#uses=1]
212 %tmp7486.i.i.i = and <4 x i32> %tmp7484.i.i.i, %tmp7485.i.i.i ; <<4 x i32>> [#uses=1]
213 %tmp7491.i.i.i = or <4 x i32> %tmp7486.i.i.i, %tmp7480.i.i.i ; <<4 x i32>> [#uses=1]
214 %tmp7492.i.i.i = bitcast <4 x i32> %tmp7491.i.i.i to <4 x float> ; <<4 x float>> [#uses=1]
215 %tmp7495.i.i.i = bitcast <4 x float> %.380.1.i to <4 x i32> ; <<4 x i32>> [#uses=1]
216 %tmp7496.i.i.i = and <4 x i32> zeroinitializer, %tmp7495.i.i.i ; <<4 x i32>> [#uses=1]
217 %tmp7500.i.i.i = bitcast <4 x float> %70 to <4 x i32> ; <<4 x i32>> [#uses=1]
218 %tmp7502.i.i.i = and <4 x i32> %tmp7500.i.i.i, zeroinitializer ; <<4 x i32>> [#uses=1]
219 %tmp7507.i.i.i = or <4 x i32> %tmp7502.i.i.i, %tmp7496.i.i.i ; <<4 x i32>> [#uses=1]
220 %tmp7508.i.i.i = bitcast <4 x i32> %tmp7507.i.i.i to <4 x float> ; <<4 x float>> [#uses=1]
221 %indvar.next.i.i.i = add i32 %aniso.0.i.i.i, 1 ; [#uses=1]
222 br label %bb7551.i.i.i
223
224 bb7551.i.i.i: ; preds = %bb4426.i.i.i, %entry
225 %.077.1.i = phi <4 x float> [ undef, %entry ], [ %tmp7460.i.i.i, %bb4426.i.i.i ] ; <<4 x float>> [#uses=0]
226 %.178.1.i = phi <4 x float> [ undef, %entry ], [ %tmp7476.i.i.i, %bb4426.i.i.i ] ; <<4 x float>> [#uses=0]
227 %.279.1.i = phi <4 x float> [ undef, %entry ], [ %tmp7492.i.i.i, %bb4426.i.i.i ] ; <<4 x float>> [#uses=1]
228 %.380.1.i = phi <4 x float> [ undef, %entry ], [ %tmp7508.i.i.i, %bb4426.i.i.i ] ; <<4 x float>> [#uses=1]
229 %aniso.0.i.i.i = phi i32 [ 0, %entry ], [ %indvar.next.i.i.i, %bb4426.i.i.i ] ; [#uses=1]
230 br i1 false, label %glvmInterpretFPTransformFour6.exit, label %bb4426.i.i.i
231
232 glvmInterpretFPTransformFour6.exit: ; preds = %bb7551.i.i.i
233 unreachable
234 }
235
236 declare <4 x float> @llvm.x86.sse2.cvtdq2ps(<4 x i32>) nounwind readnone
+0
-44
test/CodeGen/X86/pr2623.ll less more
None ; RUN: llc < %s
1 ; PR2623
2
3 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128"
4 target triple = "i386-unknown-freebsd7.0"
5 %.objc_id = type { %.objc_id }*
6 %.objc_selector = type { i8*, i8* }*
7 @.objc_sel_ptr = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
8 @.objc_sel_ptr13 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
9 @.objc_sel_ptr14 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
10 @.objc_sel_ptr15 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
11 @.objc_sel_ptr16 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
12 @.objc_sel_ptr17 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
13 @.objc_sel_ptr18 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
14 @.objc_sel_ptr19 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
15 @.objc_sel_ptr20 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
16 @.objc_sel_ptr21 = external constant %.objc_selector ; <%.objc_selector*> [#uses=1]
17
18 @.objc_untyped_selector_alias = alias internal %.objc_selector* @.objc_sel_ptr15 ; <%.objc_selector*> [#uses=0]
19 @.objc_untyped_selector_alias1 = alias internal %.objc_selector* @.objc_sel_ptr ; <%.objc_selector*> [#uses=0]
20 @.objc_untyped_selector_alias2 = alias internal %.objc_selector* @.objc_sel_ptr17 ; <%.objc_selector*> [#uses=0]
21 @.objc_untyped_selector_alias3 = alias internal %.objc_selector* @.objc_sel_ptr16 ; <%.objc_selector*> [#uses=0]
22 @.objc_untyped_selector_alias4 = alias internal %.objc_selector* @.objc_sel_ptr13 ; <%.objc_selector*> [#uses=0]
23 @.objc_untyped_selector_alias7 = alias internal %.objc_selector* @.objc_sel_ptr14 ; <%.objc_selector*> [#uses=0]
24 @getRange = alias internal %.objc_selector* @.objc_sel_ptr18 ; <%.objc_selector*> [#uses=0]
25 @"valueWithRange:" = alias internal %.objc_selector* @.objc_sel_ptr21 ; <%.objc_selector*> [#uses=0]
26 @rangeValue = alias internal %.objc_selector* @.objc_sel_ptr20 ; <%.objc_selector*> [#uses=0]
27 @"printRange:" = alias internal %.objc_selector* @.objc_sel_ptr19 ; <%.objc_selector*> [#uses=0]
28
29 define void @"._objc_method_SmalltalkTool()-run"(i8* %self, %.objc_selector %_cmd) {
30 entry:
31 br i1 false, label %small_int_messagerangeValue, label %real_object_messagerangeValue
32
33 small_int_messagerangeValue: ; preds = %entry
34 br label %Continue
35
36 real_object_messagerangeValue: ; preds = %entry
37 br label %Continue
38
39 Continue: ; preds = %real_object_messagerangeValue, %small_int_messagerangeValue
40 %rangeValue = phi { i32, i32 } [ undef, %small_int_messagerangeValue ], [ undef, %real_object_messagerangeValue ] ; <{ i32, i32 }> [#uses=1]
41 call void (%.objc_id, %.objc_selector, ...)* null( %.objc_id null, %.objc_selector null, { i32, i32 } %rangeValue )
42 ret void
43 }
+0
-67
test/CodeGen/X86/twoaddr-remat.ll less more
None ; RUN: llc < %s -march=x86 | grep 59796 | count 3
1
2 %Args = type %Value*
3 %Exec = type opaque*
4 %Identifier = type opaque*
5 %JSFunction = type %Value (%Exec, %Scope, %Value, %Args)
6 %PropertyNameArray = type opaque*
7 %Scope = type opaque*
8 %Value = type opaque*
9
10 declare i1 @X1(%Exec) readonly
11
12 declare %Value @X2(%Exec)
13
14 declare i32 @X3(%Exec, %Value)
15
16 declare %Value @X4(i32) readnone
17
18 define internal %Value @fast3bitlookup(%Exec %exec, %Scope %scope, %Value %this, %Args %args) nounwind {
19 prologue:
20 %eh_check = tail call i1 @X1( %Exec %exec ) readonly ; [#uses=1]
21 br i1 %eh_check, label %exception, label %no_exception
22
23 exception: ; preds = %no_exception, %prologue
24 %rethrow_result = tail call %Value @X2( %Exec %exec ) ; <%Value> [#uses=1]
25 ret %Value %rethrow_result
26
27 no_exception: ; preds = %prologue
28 %args_intptr = bitcast %Args %args to i32* ; [#uses=1]
29 %argc_val = load i32* %args_intptr ; [#uses=1]
30 %cmpParamArgc = icmp sgt i32 %argc_val, 0 ; [#uses=1]
31 %arg_ptr = getelementptr %Args %args, i32 1 ; <%Args> [#uses=1]
32 %arg_val = load %Args %arg_ptr ; <%Value> [#uses=1]
33 %ext_arg_val = select i1 %cmpParamArgc, %Value %arg_val, %Value inttoptr (i32 5 to %Value) ; <%Value> [#uses=1]
34 %toInt325 = tail call i32 @X3( %Exec %exec, %Value %ext_arg_val ) ; [#uses=3]
35 %eh_check6 = tail call i1 @X1( %Exec %exec ) readonly ; [#uses=1]
36 br i1 %eh_check6, label %exception, label %no_exception7
37
38 no_exception7: ; preds = %no_exception
39 %shl_tmp_result = shl i32 %toInt325, 1 ; [#uses=1]
40 %rhs_masked13 = and i32 %shl_tmp_result, 14 ; [#uses=1]
41 %ashr_tmp_result = lshr i32 59796, %rhs_masked13 ; [#uses=1]
42 %and_tmp_result15 = and i32 %ashr_tmp_result, 3 ; [#uses=1]
43 %ashr_tmp_result3283 = lshr i32 %toInt325, 2 ; [#uses=1]
44 %rhs_masked38 = and i32 %ashr_tmp_result3283, 14 ; [#uses=1]
45 %ashr_tmp_result39 = lshr i32 59796, %rhs_masked38 ; [#uses=1]
46 %and_tmp_result41 = and i32 %ashr_tmp_result39, 3 ; [#uses=1]
47 %addconv = add i32 %and_tmp_result15, %and_tmp_result41 ; [#uses=1]
48 %ashr_tmp_result6181 = lshr i32 %toInt325, 5 ; [#uses=1]
49 %rhs_masked67 = and i32 %ashr_tmp_result6181, 6 ; [#uses=1]
50 %ashr_tmp_result68 = lshr i32 59796, %rhs_masked67 ; [#uses=1]
51 %and_tmp_result70 = and i32 %ashr_tmp_result68, 3 ; [#uses=1]
52 %addconv82 = add i32 %addconv, %and_tmp_result70 ; [#uses=3]
53 %rangetmp = add i32 %addconv82, 536870912 ; [#uses=1]
54 %rangecmp = icmp ult i32 %rangetmp, 1073741824 ; [#uses=1]
55 br i1 %rangecmp, label %NumberLiteralIntFast, label %NumberLiteralIntSlow
56
57 NumberLiteralIntFast: ; preds = %no_exception7
58 %imm_shift = shl i32 %addconv82, 2 ; [#uses=1]
59 %imm_or = or i32 %imm_shift, 3 ; [#uses=1]
60 %imm_val = inttoptr i32 %imm_or to %Value ; <%Value> [#uses=1]
61 ret %Value %imm_val
62
63 NumberLiteralIntSlow: ; preds = %no_exception7
64 %toVal = call %Value @X4( i32 %addconv82 ) ; <%Value> [#uses=1]
65 ret %Value %toVal
66 }
+0
-52
test/Feature/opaquetypes.ll less more
None ; RUN: llvm-as < %s | llvm-dis > %t1.ll
1 ; RUN: llvm-as %t1.ll -o - | llvm-dis > %t2.ll
2 ; RUN: diff %t1.ll %t2.ll
3
4 ; This test case is used to test opaque type processing, forward references,
5 ; and recursive types. Oh my.
6 ;
7
8 %SQ1 = type { i32 }
9 %SQ2 = type { %ITy }
10 %ITy = type i32
11
12
13 %CCC = type { \2* }
14 %BBB = type { \2*, \2 * }
15 %AAA = type { \2*, {\2*}, [12x{\2*}], {[1x{\2*}]} }
16
17 ; Test numbered types
18 %0 = type %CCC
19 %1 = type %BBB
20 %Composite = type { %0, %1 }
21
22 ; Perform a simple forward reference...
23 %ty1 = type { %ty2, i32 }
24 %ty2 = type float
25
26 ; Do a recursive type...
27 %list = type { %list * }
28 %listp = type { %listp } *
29
30 ; Do two mutually recursive types...
31 %TyA = type { %ty2, %TyB * }
32 %TyB = type { double, %TyA * }
33
34 ; A complex recursive type...
35 %Y = type { {%Y*}, %Y* }
36 %Z = type { { %Z * }, [12x%Z] *, {{{ %Z * }}} }
37
38 ; More ridiculous test cases...
39 %A = type [ 123x %A*]
40 %M = type %M (%M, %M) *
41 %P = type %P*
42
43 ; Recursive ptrs
44 %u = type %v*
45 %v = type %u*
46
47 ; Test the parser for unnamed recursive types...
48 %P1 = type \1 *
49 %Y1 = type { { \3 * }, \2 * }
50 %Z1 = type { { \3 * }, [12x\3] *, { { { \5 * } } } }
51
+0
-75
test/Transforms/SimplifyCFG/2005-08-03-PHIFactorCrash.ll less more
None ; RUN: opt < %s -simplifycfg -disable-output
1 ; END.
2
3 %arraytype.1.Char = type { i32, [0 x i8] }
4 %arraytype.4.Signed = type { i32, [0 x i32] }
5 %functiontype.23 = type %structtype.Task* (%structtype.Task*, %structtype.Packet*, %structtype.FailedRun*)
6 %functiontype.27 = type %structtype.object* ()
7 %functiontype.28 = type i1 (%structtype.object*, %structtype.object_vtable*)
8 %functiontype.39 = type i32 (%structtype.listiter*)
9 %opaquetype.RuntimeTypeInfo = type i8* (i8*)
10 %structtype.AssertionError_vtable = type { %structtype.FailedRun_vtable }
11 %structtype.DeviceTask = type { %structtype.Task }
12 %structtype.FailedRun = type { %structtype.object }
13 %structtype.FailedRun_vtable = type { %structtype.object_vtable }
14 %structtype.Packet = type { %structtype.object, %structtype.list.1*, i32, i32, i32, %structtype.Packet* }
15 %structtype.Task = type { %structtype.TaskState, %structtype.FailedRun*, i32, %structtype.Packet*, %structtype.Task*, i32 }
16 %structtype.TaskState = type { %structtype.object, i1, i1, i1 }
17 %structtype.list.1 = type { %arraytype.4.Signed* }
18 %structtype.listiter = type { %structtype.list.1*, i32 }
19 %structtype.object = type { %structtype.object_vtable* }
20 %structtype.object_vtable = type { %structtype.object_vtable*, %opaquetype.RuntimeTypeInfo*, %arraytype.1.Char*, %functiontype.27* }
21 @structinstance.59 = external global %structtype.AssertionError_vtable ; <%structtype.AssertionError_vtable*> [#uses=0]
22
23 declare fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr()
24
25 declare fastcc void @ll_listnext__listiterPtr()
26
27 define fastcc void @WorkTask.fn() {
28 block0:
29 br label %block1
30 block1: ; preds = %block0
31 %v2542 = call fastcc i1 @ll_isinstance__objectPtr_object_vtablePtr( ) ; [#uses=1]
32 br i1 %v2542, label %block4, label %block2
33 block2: ; preds = %block1
34 br label %block3
35 block3: ; preds = %block2
36 unwind
37 block4: ; preds = %block1
38 br label %block5
39 block5: ; preds = %block4
40 %v2565 = icmp eq %structtype.Packet* null, null ; [#uses=1]
41 br i1 %v2565, label %block15, label %block6
42 block6: ; preds = %block5
43 %self_2575 = phi %structtype.DeviceTask* [ null, %block5 ] ; <%structtype.DeviceTask*> [#uses=1]
44 br i1 false, label %block14, label %block7
45 block7: ; preds = %block14, %block6
46 %self_2635 = phi %structtype.DeviceTask* [ %self_2575, %block6 ], [ null, %block14 ] ; <%structtype.DeviceTask*> [#uses=1]
47 %tmp.124 = getelementptr %structtype.Packet* null, i32 0, i32 2 ; [#uses=0]
48 br label %block8
49 block8: ; preds = %block10, %block7
50 %self_2672 = phi %structtype.DeviceTask* [ %self_2635, %block7 ], [ null, %block10 ] ; <%structtype.DeviceTask*> [#uses=0]
51 invoke fastcc void @ll_listnext__listiterPtr( )
52 to label %block9 unwind label %block8_exception_handling
53 block8_exception_handling: ; preds = %block8
54 br i1 false, label %block8_exception_found_branchto_block12, label %block8_not_exception_structinstance.10
55 block8_not_exception_structinstance.10: ; preds = %block8_exception_handling
56 unwind
57 block8_exception_found_branchto_block12: ; preds = %block8_exception_handling
58 br label %block12
59 block9: ; preds = %block8
60 br i1 false, label %block11, label %block10
61 block10: ; preds = %block11, %block9
62 br label %block8
63 block11: ; preds = %block9
64 br label %block10
65 block12: ; preds = %block8_exception_found_branchto_block12
66 br label %block13
67 block13: ; preds = %block15, %block12
68 ret void
69 block14: ; preds = %block6
70 br label %block7
71 block15: ; preds = %block5
72 %v2586 = phi %structtype.DeviceTask* [ null, %block5 ] ; <%structtype.DeviceTask*> [#uses=0]
73 br label %block13
74 }
+0
-108
test/Transforms/SimplifyCFG/2009-03-05-Speculative-Hoist-Dbg.ll less more
None ; RUN: opt < %s -simplifycfg -S | grep select
1 %llvm.dbg.anchor.type = type { i32, i32 }
2 %llvm.dbg.compile_unit.type = type { i32, { }*, i32, i8*, i8*, i8*, i1, i1, i8* }
3
4 @llvm.dbg.compile_units = linkonce constant %llvm.dbg.anchor.type { i32 458752, i32 17 }, section "llvm.metadata"
5
6 @.str = internal constant [4 x i8] c"a.c\00", section "llvm.metadata" ; <[4 x i8]*> [#uses=1]
7 @.str1 = internal constant [6 x i8] c"/tmp/\00", section "llvm.metadata" ; <[6 x i8]*> [#uses=1]
8 @.str2 = internal constant [55 x i8] c"4.2.1 (Based on Apple Inc. build 5636) (LLVM build 00)\00", section "llvm.metadata" ; <[55 x i8]*> [#uses=1]
9 @llvm.dbg.compile_unit = internal constant %llvm.dbg.compile_unit.type { i32 458769, { }* bitcast (%llvm.dbg.anchor.type* @llvm.dbg.compile_units to { }*), i32 1, i8* getelementptr ([4 x i8]* @.str, i32 0, i32 0), i8* getelementptr ([6 x i8]* @.str1, i32 0, i32 0), i8* getelementptr ([55 x i8]* @.str2, i32 0, i32 0), i1 true, i1 false, i8* null }, section "llvm.metadata" ; <%llvm.dbg.compile_unit.type*> [#uses=1]
10
11 declare void @llvm.dbg.stoppoint(i32, i32, { }*) nounwind
12
13 external global <{ i8 }> ; <<{ i8 }>*>:0 [#uses=0]
14 @__dso_handle = external global i8* ; [#uses=0]
15 @_ZSt3cin = external global { i32 (...)**, i32, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, \3 }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } } ; <{ i32 (...)**, i32, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, \3 }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
16 @_ZSt4cout = external global { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } } ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
17 external constant [2 x i8] ; <[2 x i8]*>:1 [#uses=1]
18 @llvm.global_ctors = external global [1 x { i32, void ()* }] ; <[1 x { i32, void ()* }]*> [#uses=0]
19
20 define i32 @main(i32, i8**) {
21 ;
22 %3 = alloca [4096 x i8], align 1 ; <[4096 x i8]*> [#uses=1]
23 %4 = call { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv({ { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* }* getelementptr ({ i32 (...)**, i32, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, \3 }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZSt3cin, i32 0, i32 2)) ; <{ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*> [#uses=1]
24 %5 = getelementptr [4096 x i8]* %3, i32 0, i32 0 ; [#uses=1]
25 %6 = call { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* @_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci({ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* %4, i8* %5, i32 4096) ; <{ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*> [#uses=0]
26 %7 = call { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv({ { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* }* getelementptr ({ i32 (...)**, i32, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, \3 }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZSt3cin, i32 0, i32 2)) ; <{ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*> [#uses=1]
27 br label %25
28
29 ;
30 %9 = trunc i32 %26 to i8 ; [#uses=4]
31 %10 = add i32 %.02, 1 ; [#uses=3]
32 %11 = icmp eq i8 %9, 10 ; [#uses=1]
33 br i1 %11, label %12, label %14
34
35 ;
36 %13 = add i32 %.1, 1 ; [#uses=1]
37 br label %14
38
39 ;
40 %.0 = phi i32 [ %.1, %8 ], [ %13, %12 ] ; [#uses=3]
41 %15 = icmp eq i8 %9, 32 ; [#uses=1]
42 br i1 %15, label %20, label %16
43
44 ;
45 %17 = icmp eq i8 %9, 10 ; [#uses=1]
46 br i1 %17, label %20, label %18
47
48 ;
49 %19 = icmp eq i8 %9, 9 ; [#uses=1]
50 br i1 %19, label %20, label %21
51
52 ;
53 br label %25
54
55 ;
56 %22 = icmp eq i32 %.03, 0 ; [#uses=1]
57 br i1 %22, label %23, label %25
58
59 ;
60 call void @llvm.dbg.stoppoint(i32 5, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
61 %24 = add i32 %.01, 1 ; [#uses=1]
62 br label %25
63
64 ;
65 %.03 = phi i32 [ 0, %2 ], [ %.03, %21 ], [ 1, %23 ], [ 0, %20 ] ; [#uses=2]
66 %.02 = phi i32 [ 0, %2 ], [ %10, %21 ], [ %10, %23 ], [ %10, %20 ] ; [#uses=2]
67 %.01 = phi i32 [ 0, %2 ], [ %.01, %21 ], [ %24, %23 ], [ %.01, %20 ] ; [#uses=4]
68 %.1 = phi i32 [ 0, %2 ], [ %.0, %21 ], [ %.0, %23 ], [ %.0, %20 ] ; [#uses=3]
69 %26 = call i32 @_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv({ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* %7) ; [#uses=2]
70 %27 = icmp eq i32 %26, -1 ; [#uses=1]
71 br i1 %27, label %28, label %8
72
73 ;
74 %29 = call { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZNSolsEi({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZSt4cout, i32 %.1) ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
75 %30 = call { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* %29, i8* getelementptr ([2 x i8]* @1, i32 0, i32 0)) ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
76 %31 = call { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZNSolsEi({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* %30, i32 %.01) ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
77 %32 = call { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* %31, i8* getelementptr ([2 x i8]* @1, i32 0, i32 0)) ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
78 %33 = call { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZNSolsEi({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* %32, i32 %.02) ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=1]
79 %34 = call { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZNSolsEPFRSoS_E({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* %33, { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* ({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*)* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_) ; <{ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*> [#uses=0]
80 ret i32 0
81 }
82
83 declare void @""() section "__TEXT,__StaticInit,regular,pure_instructions"
84
85 declare fastcc void @""() section "__TEXT,__StaticInit,regular,pure_instructions"
86
87 declare void @_ZNSt8ios_base4InitC1Ev(<{ i8 }>*)
88
89 declare i32 @__cxa_atexit(void (i8*)*, i8*, i8*) nounwind
90
91 declare void @""(i8*)
92
93 declare void @_ZNSt8ios_base4InitD1Ev(<{ i8 }>*)
94
95 declare { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* @_ZNKSt9basic_iosIcSt11char_traitsIcEE5rdbufEv({ { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* }*)
96
97 declare { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }* @_ZNSt15basic_streambufIcSt11char_traitsIcEE9pubsetbufEPci({ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, i8*, i32)
98
99 declare i32 @_ZNSt15basic_streambufIcSt11char_traitsIcEE6sbumpcEv({ i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*)
100
101 declare { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZNSolsEi({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*, i32)
102
103 declare { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZStlsISt11char_traitsIcEERSt13basic_ostreamIcT_ES5_PKc({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*, i8*)
104
105 declare { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZNSolsEPFRSoS_E({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*, { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* ({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*)*)
106
107 declare { i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }* @_ZSt4endlIcSt11char_traitsIcEERSt13basic_ostreamIT_T0_ES6_({ i32 (...)**, { { i32 (...)**, i32, i32, i32, i32, i32, { \2, void (i32, \6*, i32)*, i32, i32 }*, { i8*, i32 }, [8 x { i8*, i32 }], i32, { i8*, i32 }*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }, \3*, i8, i8, { i32 (...)**, i8*, i8*, i8*, i8*, i8*, i8*, { { i32, { i32 (...)**, i32 }**, i32, { i32 (...)**, i32 }**, i8** }* } }*, { { i32 (...)**, i32 }, i32*, i8, i32*, i32*, i32*, i8, [256 x i8], [256 x i8], i8 }*, { { i32 (...)**, i32 } }*, { { i32 (...)**, i32 } }* } }*)
+0
-4
test/Verifier/byval-2.ll less more
None ; RUN: not llvm-as < %s >& /dev/null
1 ; PR2711
2 %s = type opaque
3 declare void @h(%s* byval %num)