Tanya Lattner | 2393a24 | 2004-11-06 23:08:26 +0000 | [diff] [blame] | 1 | ; RUN: llvm-as -f %s -o - | llc |
| 2 | |
John Criswell | cf21d4f | 2003-10-03 18:24:47 +0000 | [diff] [blame] | 3 | ;; Register allocation is doing a very poor job on this routine from yyparse |
| 4 | ;; in Burg: |
Vikram S. Adve | 8becaed | 2002-10-14 14:53:06 +0000 | [diff] [blame] | 5 | ;; -- at least two long-lived values are being allocated to %o? registers |
| 6 | ;; -- even worse, those registers are being saved and restored repeatedly |
| 7 | ;; at function calls, even though there are no intervening uses. |
| 8 | ;; -- outgoing args of some function calls have to be swapped, causing |
| 9 | ;; another write/read from stack to do the exchange (use -dregalloc=y). |
| 10 | ;; |
Vikram S. Adve | 8becaed | 2002-10-14 14:53:06 +0000 | [diff] [blame] | 11 | %Arity = type %struct.arity* |
| 12 | %Binding = type %struct.binding* |
| 13 | %DeltaCost = type [4 x short] |
| 14 | %Dimension = type %struct.dimension* |
| 15 | %Index_Map = type { int, %Item_Set* } |
| 16 | %IntList = type %struct.intlist* |
| 17 | %Item = type { %DeltaCost, %Rule } |
| 18 | %ItemArray = type %Item* |
| 19 | %Item_Set = type %struct.item_set* |
| 20 | %List = type %struct.list* |
| 21 | %Mapping = type %struct.mapping* |
| 22 | %NonTerminal = type %struct.nonterminal* |
| 23 | %Operator = type %struct.operator* |
| 24 | %Pattern = type %struct.pattern* |
| 25 | %PatternAST = type %struct.patternAST* |
| 26 | %Plank = type %struct.plank* |
| 27 | %PlankMap = type %struct.plankMap* |
| 28 | %ReadFn = type int ()* |
| 29 | %Rule = type %struct.rule* |
| 30 | %RuleAST = type %struct.ruleAST* |
| 31 | %StateMap = type %struct.stateMap* |
| 32 | %StrTableElement = type %struct.strTableElement* |
| 33 | %Symbol = type %struct.symbol* |
| 34 | %Table = type %struct.table* |
| 35 | %YYSTYPE = type { %IntList } |
| 36 | %struct.arity = type { int, %List } |
| 37 | %struct.binding = type { sbyte*, int } |
| 38 | %struct.dimension = type { short*, %Index_Map, %Mapping, int, %PlankMap } |
| 39 | %struct.index_map = type { int, %Item_Set* } |
| 40 | %struct.intlist = type { int, %IntList } |
| 41 | %struct.item = type { %DeltaCost, %Rule } |
| 42 | %struct.item_set = type { int, int, %Operator, [2 x %Item_Set], %Item_Set, short*, %ItemArray, %ItemArray } |
| 43 | %struct.list = type { sbyte*, %List } |
| 44 | %struct.mapping = type { %List*, int, int, int, %Item_Set* } |
| 45 | %struct.nonterminal = type { sbyte*, int, int, int, %PlankMap, %Rule } |
| 46 | %struct.operator = type { sbyte*, uint, int, int, int, int, %Table } |
| 47 | %struct.pattern = type { %NonTerminal, %Operator, [2 x %NonTerminal] } |
| 48 | %struct.patternAST = type { %Symbol, sbyte*, %List } |
| 49 | %struct.plank = type { sbyte*, %List, int } |
| 50 | %struct.plankMap = type { %List, int, %StateMap } |
| 51 | %struct.rule = type { %DeltaCost, int, int, int, %NonTerminal, %Pattern, uint } |
| 52 | %struct.ruleAST = type { sbyte*, %PatternAST, int, %IntList, %Rule, %StrTableElement, %StrTableElement } |
| 53 | %struct.stateMap = type { sbyte*, %Plank, int, short* } |
| 54 | %struct.strTableElement = type { sbyte*, %IntList, sbyte* } |
| 55 | %struct.symbol = type { sbyte*, int, { %Operator } } |
| 56 | %struct.table = type { %Operator, %List, short*, [2 x %Dimension], %Item_Set* } |
| 57 | %yylval = external global %YYSTYPE ; <%YYSTYPE*> [#uses=1] |
| 58 | %yylhs = external global [25 x short] ; <[25 x short]*> [#uses=1] |
| 59 | %yylen = external global [25 x short] ; <[25 x short]*> [#uses=1] |
| 60 | %yydefred = external global [43 x short] ; <[43 x short]*> [#uses=1] |
| 61 | %yydgoto = external global [12 x short] ; <[12 x short]*> [#uses=1] |
| 62 | %yysindex = external global [43 x short] ; <[43 x short]*> [#uses=2] |
| 63 | %yyrindex = external global [43 x short] ; <[43 x short]*> [#uses=1] |
| 64 | %yygindex = external global [12 x short] ; <[12 x short]*> [#uses=1] |
| 65 | %yytable = external global [263 x short] ; <[263 x short]*> [#uses=4] |
| 66 | %yycheck = external global [263 x short] ; <[263 x short]*> [#uses=4] |
| 67 | %yynerrs = external global int ; <int*> [#uses=3] |
| 68 | %yyerrflag = external global int ; <int*> [#uses=6] |
| 69 | %yychar = external global int ; <int*> [#uses=15] |
| 70 | %yyssp = external global short* ; <short**> [#uses=15] |
| 71 | %yyvsp = external global %YYSTYPE* ; <%YYSTYPE**> [#uses=30] |
| 72 | %yyval = external global %YYSTYPE ; <%YYSTYPE*> [#uses=1] |
| 73 | %yyss = external global short* ; <short**> [#uses=3] |
| 74 | %yysslim = external global short* ; <short**> [#uses=3] |
| 75 | %yyvs = external global %YYSTYPE* ; <%YYSTYPE**> [#uses=1] |
| 76 | %.LC01 = external global [13 x sbyte] ; <[13 x sbyte]*> [#uses=1] |
| 77 | %.LC1 = external global [20 x sbyte] ; <[20 x sbyte]*> [#uses=1] |
| 78 | |
| 79 | implementation ; Functions: |
| 80 | |
| 81 | int %yyparse() { |
| 82 | bb0: ; No predecessors! |
| 83 | store int 0, int* %yynerrs |
| 84 | store int 0, int* %yyerrflag |
| 85 | store int -1, int* %yychar |
| 86 | %reg113 = load short** %yyss ; <short*> [#uses=1] |
| 87 | %cond581 = setne short* %reg113, null ; <bool> [#uses=1] |
| 88 | br bool %cond581, label %bb3, label %bb2 |
| 89 | |
| 90 | bb2: ; preds = %bb0 |
| 91 | %reg584 = call int %yygrowstack( ) ; <int> [#uses=1] |
| 92 | %cond584 = setne int %reg584, 0 ; <bool> [#uses=1] |
| 93 | br bool %cond584, label %bb113, label %bb3 |
| 94 | |
| 95 | bb3: ; preds = %bb2, %bb0 |
| 96 | %reg115 = load short** %yyss ; <short*> [#uses=1] |
| 97 | store short* %reg115, short** %yyssp |
| 98 | %reg116 = load %YYSTYPE** %yyvs ; <%YYSTYPE*> [#uses=1] |
| 99 | store %YYSTYPE* %reg116, %YYSTYPE** %yyvsp |
| 100 | %reg117 = load short** %yyssp ; <short*> [#uses=1] |
| 101 | store short 0, short* %reg117 |
| 102 | br label %bb4 |
| 103 | |
| 104 | bb4: ; preds = %bb14, %bb15, %bb31, %bb35, %bb102, %bb112, %bb3 |
| 105 | %reg458 = phi uint [ %reg476, %bb112 ], [ 1, %bb102 ], [ %reg458, %bb35 ], [ %cast768, %bb31 ], [ %cast658, %bb15 ], [ %cast658, %bb14 ], [ 0, %bb3 ] ; <uint> [#uses=2] |
| 106 | %reg458-idxcast = cast uint %reg458 to long ; <long> [#uses=3] |
| 107 | %reg594 = getelementptr [43 x short]* %yydefred, long 0, long %reg458-idxcast ; <short*> [#uses=1] |
| 108 | %reg125 = load short* %reg594 ; <short> [#uses=1] |
| 109 | %cast599 = cast short %reg125 to int ; <int> [#uses=2] |
| 110 | %cond600 = setne int %cast599, 0 ; <bool> [#uses=1] |
| 111 | br bool %cond600, label %bb36, label %bb5 |
| 112 | |
| 113 | bb5: ; preds = %bb4 |
| 114 | %reg127 = load int* %yychar ; <int> [#uses=1] |
| 115 | %cond603 = setge int %reg127, 0 ; <bool> [#uses=1] |
| 116 | br bool %cond603, label %bb8, label %bb6 |
| 117 | |
| 118 | bb6: ; preds = %bb5 |
| 119 | %reg607 = call int %yylex( ) ; <int> [#uses=1] |
| 120 | store int %reg607, int* %yychar |
| 121 | %reg129 = load int* %yychar ; <int> [#uses=1] |
| 122 | %cond609 = setge int %reg129, 0 ; <bool> [#uses=1] |
| 123 | br bool %cond609, label %bb8, label %bb7 |
| 124 | |
| 125 | bb7: ; preds = %bb6 |
| 126 | store int 0, int* %yychar |
| 127 | br label %bb8 |
| 128 | |
| 129 | bb8: ; preds = %bb7, %bb6, %bb5 |
| 130 | %reg615 = getelementptr [43 x short]* %yysindex, long 0, long %reg458-idxcast ; <short*> [#uses=1] |
| 131 | %reg137 = load short* %reg615 ; <short> [#uses=1] |
| 132 | %cast620 = cast short %reg137 to int ; <int> [#uses=2] |
| 133 | %cond621 = seteq int %cast620, 0 ; <bool> [#uses=1] |
| 134 | br bool %cond621, label %bb16, label %bb9 |
| 135 | |
| 136 | bb9: ; preds = %bb8 |
| 137 | %reg139 = load int* %yychar ; <int> [#uses=2] |
| 138 | %reg460 = add int %cast620, %reg139 ; <int> [#uses=3] |
| 139 | %cond624 = setlt int %reg460, 0 ; <bool> [#uses=1] |
| 140 | br bool %cond624, label %bb16, label %bb10 |
| 141 | |
| 142 | bb10: ; preds = %bb9 |
| 143 | %cond627 = setgt int %reg460, 262 ; <bool> [#uses=1] |
| 144 | br bool %cond627, label %bb16, label %bb11 |
| 145 | |
| 146 | bb11: ; preds = %bb10 |
| 147 | %reg460-idxcast = cast int %reg460 to long ; <long> [#uses=2] |
| 148 | %reg632 = getelementptr [263 x short]* %yycheck, long 0, long %reg460-idxcast ; <short*> [#uses=1] |
| 149 | %reg148 = load short* %reg632 ; <short> [#uses=1] |
| 150 | %cast637 = cast short %reg148 to int ; <int> [#uses=1] |
| 151 | %cond639 = setne int %cast637, %reg139 ; <bool> [#uses=1] |
| 152 | br bool %cond639, label %bb16, label %bb12 |
| 153 | |
| 154 | bb12: ; preds = %bb11 |
| 155 | %reg150 = load short** %yyssp ; <short*> [#uses=1] |
| 156 | %cast640 = cast short* %reg150 to sbyte* ; <sbyte*> [#uses=1] |
| 157 | %reg151 = load short** %yysslim ; <short*> [#uses=1] |
| 158 | %cast641 = cast short* %reg151 to sbyte* ; <sbyte*> [#uses=1] |
| 159 | %cond642 = setlt sbyte* %cast640, %cast641 ; <bool> [#uses=1] |
| 160 | br bool %cond642, label %bb14, label %bb13 |
| 161 | |
| 162 | bb13: ; preds = %bb12 |
| 163 | %reg644 = call int %yygrowstack( ) ; <int> [#uses=1] |
| 164 | %cond644 = setne int %reg644, 0 ; <bool> [#uses=1] |
| 165 | br bool %cond644, label %bb113, label %bb14 |
| 166 | |
| 167 | bb14: ; preds = %bb13, %bb12 |
| 168 | %reg153 = load short** %yyssp ; <short*> [#uses=1] |
| 169 | %reg647 = getelementptr short* %reg153, long 1 ; <short*> [#uses=2] |
| 170 | store short* %reg647, short** %yyssp |
| 171 | %reg653 = getelementptr [263 x short]* %yytable, long 0, long %reg460-idxcast ; <short*> [#uses=1] |
| 172 | %reg162 = load short* %reg653 ; <short> [#uses=2] |
| 173 | %cast658 = cast short %reg162 to uint ; <uint> [#uses=2] |
| 174 | store short %reg162, short* %reg647 |
| 175 | %reg164 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 176 | %reg661 = getelementptr %YYSTYPE* %reg164, long 1 ; <%YYSTYPE*> [#uses=1] |
| 177 | store %YYSTYPE* %reg661, %YYSTYPE** %yyvsp |
| 178 | %reg167 = load %IntList* getelementptr (%YYSTYPE* %yylval, long 0, ubyte 0) ; <%IntList> [#uses=1] |
| 179 | %reg661.idx1 = getelementptr %YYSTYPE* %reg164, long 1, ubyte 0 ; <%IntList*> [#uses=1] |
| 180 | store %IntList %reg167, %IntList* %reg661.idx1 |
| 181 | store int -1, int* %yychar |
| 182 | %reg169 = load int* %yyerrflag ; <int> [#uses=2] |
| 183 | %cond669 = setle int %reg169, 0 ; <bool> [#uses=1] |
| 184 | br bool %cond669, label %bb4, label %bb15 |
| 185 | |
| 186 | bb15: ; preds = %bb14 |
| 187 | %reg171 = add int %reg169, -1 ; <int> [#uses=1] |
| 188 | store int %reg171, int* %yyerrflag |
| 189 | br label %bb4 |
| 190 | |
| 191 | bb16: ; preds = %bb11, %bb10, %bb9, %bb8 |
| 192 | %reg677 = getelementptr [43 x short]* %yyrindex, long 0, long %reg458-idxcast ; <short*> [#uses=1] |
| 193 | %reg178 = load short* %reg677 ; <short> [#uses=1] |
| 194 | %cast682 = cast short %reg178 to int ; <int> [#uses=2] |
| 195 | %cond683 = seteq int %cast682, 0 ; <bool> [#uses=1] |
| 196 | br bool %cond683, label %bb21, label %bb17 |
| 197 | |
| 198 | bb17: ; preds = %bb16 |
| 199 | %reg180 = load int* %yychar ; <int> [#uses=2] |
| 200 | %reg463 = add int %cast682, %reg180 ; <int> [#uses=3] |
| 201 | %cond686 = setlt int %reg463, 0 ; <bool> [#uses=1] |
| 202 | br bool %cond686, label %bb21, label %bb18 |
| 203 | |
| 204 | bb18: ; preds = %bb17 |
| 205 | %cond689 = setgt int %reg463, 262 ; <bool> [#uses=1] |
| 206 | br bool %cond689, label %bb21, label %bb19 |
| 207 | |
| 208 | bb19: ; preds = %bb18 |
| 209 | %reg463-idxcast = cast int %reg463 to long ; <long> [#uses=2] |
| 210 | %reg694 = getelementptr [263 x short]* %yycheck, long 0, long %reg463-idxcast ; <short*> [#uses=1] |
| 211 | %reg189 = load short* %reg694 ; <short> [#uses=1] |
| 212 | %cast699 = cast short %reg189 to int ; <int> [#uses=1] |
| 213 | %cond701 = setne int %cast699, %reg180 ; <bool> [#uses=1] |
| 214 | br bool %cond701, label %bb21, label %bb20 |
| 215 | |
| 216 | bb20: ; preds = %bb19 |
| 217 | %reg704 = getelementptr [263 x short]* %yytable, long 0, long %reg463-idxcast ; <short*> [#uses=1] |
| 218 | %reg197 = load short* %reg704 ; <short> [#uses=1] |
| 219 | %cast709 = cast short %reg197 to int ; <int> [#uses=1] |
| 220 | br label %bb36 |
| 221 | |
| 222 | bb21: ; preds = %bb19, %bb18, %bb17, %bb16 |
| 223 | %reg198 = load int* %yyerrflag ; <int> [#uses=1] |
| 224 | %cond711 = setne int %reg198, 0 ; <bool> [#uses=1] |
| 225 | br bool %cond711, label %bb23, label %bb22 |
| 226 | |
| 227 | bb22: ; preds = %bb21 |
| 228 | call void %yyerror( sbyte* getelementptr ([13 x sbyte]* %.LC01, long 0, long 0) ) |
| 229 | %reg200 = load int* %yynerrs ; <int> [#uses=1] |
| 230 | %reg201 = add int %reg200, 1 ; <int> [#uses=1] |
| 231 | store int %reg201, int* %yynerrs |
| 232 | br label %bb23 |
| 233 | |
| 234 | bb23: ; preds = %bb22, %bb21 |
| 235 | %reg202 = load int* %yyerrflag ; <int> [#uses=1] |
| 236 | %cond719 = setgt int %reg202, 2 ; <bool> [#uses=1] |
| 237 | br bool %cond719, label %bb34, label %bb24 |
| 238 | |
| 239 | bb24: ; preds = %bb23 |
| 240 | store int 3, int* %yyerrflag |
| 241 | %reg241 = load short** %yyss ; <short*> [#uses=1] |
| 242 | %cast778 = cast short* %reg241 to sbyte* ; <sbyte*> [#uses=1] |
| 243 | br label %bb25 |
| 244 | |
| 245 | bb25: ; preds = %bb33, %bb24 |
| 246 | %reg204 = load short** %yyssp ; <short*> [#uses=4] |
| 247 | %reg206 = load short* %reg204 ; <short> [#uses=1] |
| 248 | %reg206-idxcast = cast short %reg206 to long ; <long> [#uses=1] |
| 249 | %reg727 = getelementptr [43 x short]* %yysindex, long 0, long %reg206-idxcast ; <short*> [#uses=1] |
| 250 | %reg212 = load short* %reg727 ; <short> [#uses=2] |
| 251 | %cast732 = cast short %reg212 to int ; <int> [#uses=2] |
| 252 | %cond733 = seteq int %cast732, 0 ; <bool> [#uses=1] |
| 253 | br bool %cond733, label %bb32, label %bb26 |
| 254 | |
| 255 | bb26: ; preds = %bb25 |
| 256 | %reg466 = add int %cast732, 256 ; <int> [#uses=2] |
| 257 | %cond736 = setlt int %reg466, 0 ; <bool> [#uses=1] |
| 258 | br bool %cond736, label %bb32, label %bb27 |
| 259 | |
| 260 | bb27: ; preds = %bb26 |
| 261 | %cond739 = setgt int %reg466, 262 ; <bool> [#uses=1] |
| 262 | br bool %cond739, label %bb32, label %bb28 |
| 263 | |
| 264 | bb28: ; preds = %bb27 |
| 265 | %reg212-idxcast = cast short %reg212 to long ; <long> [#uses=1] |
| 266 | %reg212-idxcast-offset = add long %reg212-idxcast, 256 ; <long> [#uses=2] |
| 267 | %reg744 = getelementptr [263 x short]* %yycheck, long 0, long %reg212-idxcast-offset ; <short*> [#uses=1] |
| 268 | %reg221 = load short* %reg744 ; <short> [#uses=1] |
| 269 | %cond748 = setne short %reg221, 256 ; <bool> [#uses=1] |
| 270 | br bool %cond748, label %bb32, label %bb29 |
| 271 | |
| 272 | bb29: ; preds = %bb28 |
| 273 | %cast750 = cast short* %reg204 to sbyte* ; <sbyte*> [#uses=1] |
| 274 | %reg223 = load short** %yysslim ; <short*> [#uses=1] |
| 275 | %cast751 = cast short* %reg223 to sbyte* ; <sbyte*> [#uses=1] |
| 276 | %cond752 = setlt sbyte* %cast750, %cast751 ; <bool> [#uses=1] |
| 277 | br bool %cond752, label %bb31, label %bb30 |
| 278 | |
| 279 | bb30: ; preds = %bb29 |
| 280 | %reg754 = call int %yygrowstack( ) ; <int> [#uses=1] |
| 281 | %cond754 = setne int %reg754, 0 ; <bool> [#uses=1] |
| 282 | br bool %cond754, label %bb113, label %bb31 |
| 283 | |
| 284 | bb31: ; preds = %bb30, %bb29 |
| 285 | %reg225 = load short** %yyssp ; <short*> [#uses=1] |
| 286 | %reg757 = getelementptr short* %reg225, long 1 ; <short*> [#uses=2] |
| 287 | store short* %reg757, short** %yyssp |
| 288 | %reg763 = getelementptr [263 x short]* %yytable, long 0, long %reg212-idxcast-offset ; <short*> [#uses=1] |
| 289 | %reg234 = load short* %reg763 ; <short> [#uses=2] |
| 290 | %cast768 = cast short %reg234 to uint ; <uint> [#uses=1] |
| 291 | store short %reg234, short* %reg757 |
| 292 | %reg236 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 293 | %reg771 = getelementptr %YYSTYPE* %reg236, long 1 ; <%YYSTYPE*> [#uses=1] |
| 294 | store %YYSTYPE* %reg771, %YYSTYPE** %yyvsp |
| 295 | %reg239 = load %IntList* getelementptr (%YYSTYPE* %yylval, long 0, ubyte 0) ; <%IntList> [#uses=1] |
| 296 | %reg771.idx1 = getelementptr %YYSTYPE* %reg236, long 1, ubyte 0 ; <%IntList*> [#uses=1] |
| 297 | store %IntList %reg239, %IntList* %reg771.idx1 |
| 298 | br label %bb4 |
| 299 | |
| 300 | bb32: ; preds = %bb28, %bb27, %bb26, %bb25 |
| 301 | %cast777 = cast short* %reg204 to sbyte* ; <sbyte*> [#uses=1] |
| 302 | %cond779 = setle sbyte* %cast777, %cast778 ; <bool> [#uses=1] |
| 303 | br bool %cond779, label %UnifiedExitNode, label %bb33 |
| 304 | |
| 305 | bb33: ; preds = %bb32 |
| 306 | %reg781 = getelementptr short* %reg204, long -1 ; <short*> [#uses=1] |
| 307 | store short* %reg781, short** %yyssp |
| 308 | %reg244 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 309 | %reg786 = getelementptr %YYSTYPE* %reg244, long -1 ; <%YYSTYPE*> [#uses=1] |
| 310 | store %YYSTYPE* %reg786, %YYSTYPE** %yyvsp |
| 311 | br label %bb25 |
| 312 | |
| 313 | bb34: ; preds = %bb23 |
| 314 | %reg246 = load int* %yychar ; <int> [#uses=1] |
| 315 | %cond791 = seteq int %reg246, 0 ; <bool> [#uses=1] |
| 316 | br bool %cond791, label %UnifiedExitNode, label %bb35 |
| 317 | |
| 318 | bb35: ; preds = %bb34 |
| 319 | store int -1, int* %yychar |
| 320 | br label %bb4 |
| 321 | |
| 322 | bb36: ; preds = %bb20, %bb4 |
| 323 | %reg468 = phi int [ %cast709, %bb20 ], [ %cast599, %bb4 ] ; <int> [#uses=31] |
| 324 | %reg468-idxcast = cast int %reg468 to long ; <long> [#uses=2] |
| 325 | %reg796 = getelementptr [25 x short]* %yylen, long 0, long %reg468-idxcast ; <short*> [#uses=1] |
| 326 | %reg254 = load short* %reg796 ; <short> [#uses=2] |
| 327 | %reg259 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 328 | %reg254-idxcast = cast short %reg254 to long ; <long> [#uses=1] |
| 329 | %reg254-idxcast-scale = mul long %reg254-idxcast, -1 ; <long> [#uses=1] |
| 330 | %reg254-idxcast-scale-offset = add long %reg254-idxcast-scale, 1 ; <long> [#uses=1] |
| 331 | %reg261.idx1 = getelementptr %YYSTYPE* %reg259, long %reg254-idxcast-scale-offset, ubyte 0 ; <%IntList*> [#uses=1] |
| 332 | %reg261 = load %IntList* %reg261.idx1 ; <%IntList> [#uses=1] |
| 333 | store %IntList %reg261, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 334 | %cond812 = seteq int %reg468, 13 ; <bool> [#uses=1] |
| 335 | br bool %cond812, label %bb85, label %bb37 |
| 336 | |
| 337 | bb37: ; preds = %bb36 |
| 338 | %cond814 = setgt int %reg468, 13 ; <bool> [#uses=1] |
| 339 | br bool %cond814, label %bb56, label %bb38 |
| 340 | |
| 341 | bb38: ; preds = %bb37 |
| 342 | %cond817 = seteq int %reg468, 7 ; <bool> [#uses=1] |
| 343 | br bool %cond817, label %bb79, label %bb39 |
| 344 | |
| 345 | bb39: ; preds = %bb38 |
| 346 | %cond819 = setgt int %reg468, 7 ; <bool> [#uses=1] |
| 347 | br bool %cond819, label %bb48, label %bb40 |
| 348 | |
| 349 | bb40: ; preds = %bb39 |
| 350 | %cond822 = seteq int %reg468, 4 ; <bool> [#uses=1] |
| 351 | br bool %cond822, label %bb76, label %bb41 |
| 352 | |
| 353 | bb41: ; preds = %bb40 |
| 354 | %cond824 = setgt int %reg468, 4 ; <bool> [#uses=1] |
| 355 | br bool %cond824, label %bb45, label %bb42 |
| 356 | |
| 357 | bb42: ; preds = %bb41 |
| 358 | %cond827 = seteq int %reg468, 2 ; <bool> [#uses=1] |
| 359 | br bool %cond827, label %bb74, label %bb43 |
| 360 | |
| 361 | bb43: ; preds = %bb42 |
| 362 | %cond829 = seteq int %reg468, 3 ; <bool> [#uses=1] |
| 363 | br bool %cond829, label %bb75, label %bb97 |
| 364 | |
| 365 | bb45: ; preds = %bb41 |
| 366 | %cond831 = seteq int %reg468, 5 ; <bool> [#uses=1] |
| 367 | br bool %cond831, label %bb77, label %bb46 |
| 368 | |
| 369 | bb46: ; preds = %bb45 |
| 370 | %cond833 = seteq int %reg468, 6 ; <bool> [#uses=1] |
| 371 | br bool %cond833, label %bb78, label %bb97 |
| 372 | |
| 373 | bb48: ; preds = %bb39 |
| 374 | %cond835 = seteq int %reg468, 10 ; <bool> [#uses=1] |
| 375 | br bool %cond835, label %bb82, label %bb49 |
| 376 | |
| 377 | bb49: ; preds = %bb48 |
| 378 | %cond837 = setgt int %reg468, 10 ; <bool> [#uses=1] |
| 379 | br bool %cond837, label %bb53, label %bb50 |
| 380 | |
| 381 | bb50: ; preds = %bb49 |
| 382 | %cond840 = seteq int %reg468, 8 ; <bool> [#uses=1] |
| 383 | br bool %cond840, label %bb80, label %bb51 |
| 384 | |
| 385 | bb51: ; preds = %bb50 |
| 386 | %cond842 = seteq int %reg468, 9 ; <bool> [#uses=1] |
| 387 | br bool %cond842, label %bb81, label %bb97 |
| 388 | |
| 389 | bb53: ; preds = %bb49 |
| 390 | %cond844 = seteq int %reg468, 11 ; <bool> [#uses=1] |
| 391 | br bool %cond844, label %bb83, label %bb54 |
| 392 | |
| 393 | bb54: ; preds = %bb53 |
| 394 | %cond846 = seteq int %reg468, 12 ; <bool> [#uses=1] |
| 395 | br bool %cond846, label %bb84, label %bb97 |
| 396 | |
| 397 | bb56: ; preds = %bb37 |
| 398 | %cond848 = seteq int %reg468, 19 ; <bool> [#uses=1] |
| 399 | br bool %cond848, label %bb91, label %bb57 |
| 400 | |
| 401 | bb57: ; preds = %bb56 |
| 402 | %cond850 = setgt int %reg468, 19 ; <bool> [#uses=1] |
| 403 | br bool %cond850, label %bb66, label %bb58 |
| 404 | |
| 405 | bb58: ; preds = %bb57 |
| 406 | %cond853 = seteq int %reg468, 16 ; <bool> [#uses=1] |
| 407 | br bool %cond853, label %bb88, label %bb59 |
| 408 | |
| 409 | bb59: ; preds = %bb58 |
| 410 | %cond855 = setgt int %reg468, 16 ; <bool> [#uses=1] |
| 411 | br bool %cond855, label %bb63, label %bb60 |
| 412 | |
| 413 | bb60: ; preds = %bb59 |
| 414 | %cond858 = seteq int %reg468, 14 ; <bool> [#uses=1] |
| 415 | br bool %cond858, label %bb86, label %bb61 |
| 416 | |
| 417 | bb61: ; preds = %bb60 |
| 418 | %cond860 = seteq int %reg468, 15 ; <bool> [#uses=1] |
| 419 | br bool %cond860, label %bb87, label %bb97 |
| 420 | |
| 421 | bb63: ; preds = %bb59 |
| 422 | %cond862 = seteq int %reg468, 17 ; <bool> [#uses=1] |
| 423 | br bool %cond862, label %bb89, label %bb64 |
| 424 | |
| 425 | bb64: ; preds = %bb63 |
| 426 | %cond864 = seteq int %reg468, 18 ; <bool> [#uses=1] |
| 427 | br bool %cond864, label %bb90, label %bb97 |
| 428 | |
| 429 | bb66: ; preds = %bb57 |
| 430 | %cond866 = seteq int %reg468, 22 ; <bool> [#uses=1] |
| 431 | br bool %cond866, label %bb94, label %bb67 |
| 432 | |
| 433 | bb67: ; preds = %bb66 |
| 434 | %cond868 = setgt int %reg468, 22 ; <bool> [#uses=1] |
| 435 | br bool %cond868, label %bb71, label %bb68 |
| 436 | |
| 437 | bb68: ; preds = %bb67 |
| 438 | %cond871 = seteq int %reg468, 20 ; <bool> [#uses=1] |
| 439 | br bool %cond871, label %bb92, label %bb69 |
| 440 | |
| 441 | bb69: ; preds = %bb68 |
| 442 | %cond873 = seteq int %reg468, 21 ; <bool> [#uses=1] |
| 443 | br bool %cond873, label %bb93, label %bb97 |
| 444 | |
| 445 | bb71: ; preds = %bb67 |
| 446 | %cond875 = seteq int %reg468, 23 ; <bool> [#uses=1] |
| 447 | br bool %cond875, label %bb95, label %bb72 |
| 448 | |
| 449 | bb72: ; preds = %bb71 |
| 450 | %cond877 = seteq int %reg468, 24 ; <bool> [#uses=1] |
| 451 | br bool %cond877, label %bb96, label %bb97 |
| 452 | |
| 453 | bb74: ; preds = %bb42 |
| 454 | call void %yyfinished( ) |
| 455 | br label %bb97 |
| 456 | |
| 457 | bb75: ; preds = %bb43 |
| 458 | %reg262 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 459 | %reg264.idx1 = getelementptr %YYSTYPE* %reg262, long -2, ubyte 0 ; <%IntList*> [#uses=1] |
| 460 | %reg264 = load %IntList* %reg264.idx1 ; <%IntList> [#uses=1] |
| 461 | %reg265.idx = getelementptr %YYSTYPE* %reg262, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 462 | %reg265 = load %IntList* %reg265.idx ; <%IntList> [#uses=1] |
| 463 | %cast889 = cast %IntList %reg265 to %List ; <%List> [#uses=1] |
| 464 | %cast890 = cast %IntList %reg264 to %List ; <%List> [#uses=1] |
| 465 | call void %doSpec( %List %cast890, %List %cast889 ) |
| 466 | br label %bb97 |
| 467 | |
| 468 | bb76: ; preds = %bb40 |
| 469 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 470 | br label %bb97 |
| 471 | |
| 472 | bb77: ; preds = %bb45 |
| 473 | %reg269 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 474 | %cast894 = getelementptr %YYSTYPE* %reg269, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 475 | %reg271 = load %IntList* %cast894 ; <%IntList> [#uses=1] |
| 476 | %reg271 = cast %IntList %reg271 to sbyte* ; <sbyte*> [#uses=1] |
| 477 | %reg272.idx1 = getelementptr %YYSTYPE* %reg269, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 478 | %reg272 = load %IntList* %reg272.idx1 ; <%IntList> [#uses=1] |
| 479 | %cast901 = cast %IntList %reg272 to %List ; <%List> [#uses=1] |
| 480 | %reg901 = call %List %newList( sbyte* %reg271, %List %cast901 ) ; <%List> [#uses=1] |
| 481 | cast %List %reg901 to %IntList ; <%IntList>:0 [#uses=1] |
| 482 | store %IntList %0, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 483 | br label %bb97 |
| 484 | |
| 485 | bb78: ; preds = %bb46 |
| 486 | %reg275 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 487 | %reg277.idx = getelementptr %YYSTYPE* %reg275, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 488 | %reg277 = load %IntList* %reg277.idx ; <%IntList> [#uses=1] |
| 489 | %cast907 = cast %IntList %reg277 to %List ; <%List> [#uses=1] |
| 490 | %reg907 = call %Arity %newArity( int -1, %List %cast907 ) ; <%Arity> [#uses=1] |
| 491 | cast %Arity %reg907 to %IntList ; <%IntList>:1 [#uses=1] |
| 492 | store %IntList %1, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 493 | br label %bb97 |
| 494 | |
| 495 | bb79: ; preds = %bb38 |
| 496 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 497 | %reg281 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 498 | %cast912 = getelementptr %YYSTYPE* %reg281, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 499 | %reg282 = load %IntList* %cast912 ; <%IntList> [#uses=1] |
| 500 | %reg282 = cast %IntList %reg282 to %List ; <%List> [#uses=1] |
| 501 | call void %doGram( %List %reg282 ) |
| 502 | br label %bb97 |
| 503 | |
| 504 | bb80: ; preds = %bb50 |
| 505 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 506 | %reg285 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 507 | %cast917 = getelementptr %YYSTYPE* %reg285, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 508 | %reg286 = load %IntList* %cast917 ; <%IntList> [#uses=1] |
| 509 | %reg286 = cast %IntList %reg286 to sbyte* ; <sbyte*> [#uses=1] |
| 510 | call void %doStart( sbyte* %reg286 ) |
| 511 | br label %bb97 |
| 512 | |
| 513 | bb81: ; preds = %bb51 |
| 514 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 515 | br label %bb97 |
| 516 | |
| 517 | bb82: ; preds = %bb48 |
| 518 | %reg290 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 519 | %cast923 = getelementptr %YYSTYPE* %reg290, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 520 | %reg292 = load %IntList* %cast923 ; <%IntList> [#uses=1] |
| 521 | %reg292 = cast %IntList %reg292 to sbyte* ; <sbyte*> [#uses=1] |
| 522 | %reg293.idx1 = getelementptr %YYSTYPE* %reg290, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 523 | %reg293 = load %IntList* %reg293.idx1 ; <%IntList> [#uses=1] |
| 524 | %cast930 = cast %IntList %reg293 to %List ; <%List> [#uses=1] |
| 525 | %reg930 = call %List %newList( sbyte* %reg292, %List %cast930 ) ; <%List> [#uses=1] |
| 526 | cast %List %reg930 to %IntList ; <%IntList>:2 [#uses=1] |
| 527 | store %IntList %2, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 528 | br label %bb97 |
| 529 | |
| 530 | bb83: ; preds = %bb53 |
| 531 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 532 | br label %bb97 |
| 533 | |
| 534 | bb84: ; preds = %bb54 |
| 535 | %reg298 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 536 | %cast936 = getelementptr %YYSTYPE* %reg298, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 537 | %reg300 = load %IntList* %cast936 ; <%IntList> [#uses=1] |
| 538 | %reg300 = cast %IntList %reg300 to sbyte* ; <sbyte*> [#uses=1] |
| 539 | %reg301.idx1 = getelementptr %YYSTYPE* %reg298, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 540 | %reg301 = load %IntList* %reg301.idx1 ; <%IntList> [#uses=1] |
| 541 | %cast943 = cast %IntList %reg301 to %List ; <%List> [#uses=1] |
| 542 | %reg943 = call %List %newList( sbyte* %reg300, %List %cast943 ) ; <%List> [#uses=1] |
| 543 | cast %List %reg943 to %IntList ; <%IntList>:3 [#uses=1] |
| 544 | store %IntList %3, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 545 | br label %bb97 |
| 546 | |
| 547 | bb85: ; preds = %bb36 |
| 548 | %reg304 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 549 | %cast9521 = getelementptr %YYSTYPE* %reg304, long -2, ubyte 0 ; <%IntList*> [#uses=1] |
| 550 | %reg306 = load %IntList* %cast9521 ; <%IntList> [#uses=1] |
| 551 | %reg306 = cast %IntList %reg306 to sbyte* ; <sbyte*> [#uses=1] |
| 552 | %cast953 = cast %YYSTYPE* %reg304 to int* ; <int*> [#uses=1] |
| 553 | %reg307 = load int* %cast953 ; <int> [#uses=1] |
| 554 | %reg955 = call %Binding %newBinding( sbyte* %reg306, int %reg307 ) ; <%Binding> [#uses=1] |
| 555 | cast %Binding %reg955 to %IntList ; <%IntList>:4 [#uses=1] |
| 556 | store %IntList %4, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 557 | br label %bb97 |
| 558 | |
| 559 | bb86: ; preds = %bb60 |
| 560 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 561 | br label %bb97 |
| 562 | |
| 563 | bb87: ; preds = %bb61 |
| 564 | %reg312 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 565 | %cast961 = getelementptr %YYSTYPE* %reg312, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 566 | %reg314 = load %IntList* %cast961 ; <%IntList> [#uses=1] |
| 567 | %reg314 = cast %IntList %reg314 to sbyte* ; <sbyte*> [#uses=1] |
| 568 | %reg315.idx1 = getelementptr %YYSTYPE* %reg312, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 569 | %reg315 = load %IntList* %reg315.idx1 ; <%IntList> [#uses=1] |
| 570 | %cast968 = cast %IntList %reg315 to %List ; <%List> [#uses=1] |
| 571 | %reg968 = call %List %newList( sbyte* %reg314, %List %cast968 ) ; <%List> [#uses=1] |
| 572 | cast %List %reg968 to %IntList ; <%IntList>:5 [#uses=1] |
| 573 | store %IntList %5, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 574 | br label %bb97 |
| 575 | |
| 576 | bb88: ; preds = %bb58 |
| 577 | %reg318 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=4] |
| 578 | %cast9791 = getelementptr %YYSTYPE* %reg318, long -6, ubyte 0 ; <%IntList*> [#uses=1] |
| 579 | %reg322 = load %IntList* %cast9791 ; <%IntList> [#uses=1] |
| 580 | %reg322 = cast %IntList %reg322 to sbyte* ; <sbyte*> [#uses=1] |
| 581 | %reg323.idx1 = getelementptr %YYSTYPE* %reg318, long -4, ubyte 0 ; <%IntList*> [#uses=1] |
| 582 | %reg323 = load %IntList* %reg323.idx1 ; <%IntList> [#uses=1] |
| 583 | %reg987 = getelementptr %YYSTYPE* %reg318, long -2 ; <%YYSTYPE*> [#uses=1] |
| 584 | %cast989 = cast %YYSTYPE* %reg987 to int* ; <int*> [#uses=1] |
| 585 | %reg324 = load int* %cast989 ; <int> [#uses=1] |
| 586 | %reg325.idx1 = getelementptr %YYSTYPE* %reg318, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 587 | %reg325 = load %IntList* %reg325.idx1 ; <%IntList> [#uses=1] |
| 588 | %cast998 = cast %IntList %reg323 to %PatternAST ; <%PatternAST> [#uses=1] |
| 589 | %reg996 = call %RuleAST %newRuleAST( sbyte* %reg322, %PatternAST %cast998, int %reg324, %IntList %reg325 ) ; <%RuleAST> [#uses=1] |
| 590 | cast %RuleAST %reg996 to %IntList ; <%IntList>:6 [#uses=1] |
| 591 | store %IntList %6, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 592 | br label %bb97 |
| 593 | |
| 594 | bb89: ; preds = %bb63 |
| 595 | %reg328 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 596 | %cast1002 = getelementptr %YYSTYPE* %reg328, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 597 | %reg329 = load %IntList* %cast1002 ; <%IntList> [#uses=1] |
| 598 | %reg329 = cast %IntList %reg329 to sbyte* ; <sbyte*> [#uses=1] |
| 599 | %reg1004 = call %PatternAST %newPatternAST( sbyte* %reg329, %List null ) ; <%PatternAST> [#uses=1] |
| 600 | cast %PatternAST %reg1004 to %IntList ; <%IntList>:7 [#uses=1] |
| 601 | store %IntList %7, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 602 | br label %bb97 |
| 603 | |
| 604 | bb90: ; preds = %bb64 |
| 605 | %reg333 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 606 | %cast10131 = getelementptr %YYSTYPE* %reg333, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 607 | %reg335 = load %IntList* %cast10131 ; <%IntList> [#uses=1] |
| 608 | %reg335 = cast %IntList %reg335 to sbyte* ; <sbyte*> [#uses=1] |
| 609 | %reg1015 = call %List %newList( sbyte* %reg335, %List null ) ; <%List> [#uses=1] |
| 610 | %cast10211 = getelementptr %YYSTYPE* %reg333, long -3, ubyte 0 ; <%IntList*> [#uses=1] |
| 611 | %reg338 = load %IntList* %cast10211 ; <%IntList> [#uses=1] |
| 612 | %reg338 = cast %IntList %reg338 to sbyte* ; <sbyte*> [#uses=1] |
| 613 | %reg1023 = call %PatternAST %newPatternAST( sbyte* %reg338, %List %reg1015 ) ; <%PatternAST> [#uses=1] |
| 614 | cast %PatternAST %reg1023 to %IntList ; <%IntList>:8 [#uses=1] |
| 615 | store %IntList %8, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 616 | br label %bb97 |
| 617 | |
| 618 | bb91: ; preds = %bb56 |
| 619 | %reg341 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=3] |
| 620 | %cast10331 = getelementptr %YYSTYPE* %reg341, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 621 | %reg344 = load %IntList* %cast10331 ; <%IntList> [#uses=1] |
| 622 | %reg344 = cast %IntList %reg344 to sbyte* ; <sbyte*> [#uses=1] |
| 623 | %reg1035 = call %List %newList( sbyte* %reg344, %List null ) ; <%List> [#uses=1] |
| 624 | %cast10411 = getelementptr %YYSTYPE* %reg341, long -3, ubyte 0 ; <%IntList*> [#uses=1] |
| 625 | %reg347 = load %IntList* %cast10411 ; <%IntList> [#uses=1] |
| 626 | %reg347 = cast %IntList %reg347 to sbyte* ; <sbyte*> [#uses=1] |
| 627 | %reg1043 = call %List %newList( sbyte* %reg347, %List %reg1035 ) ; <%List> [#uses=1] |
| 628 | %cast10491 = getelementptr %YYSTYPE* %reg341, long -5, ubyte 0 ; <%IntList*> [#uses=1] |
| 629 | %reg349 = load %IntList* %cast10491 ; <%IntList> [#uses=1] |
| 630 | %reg349 = cast %IntList %reg349 to sbyte* ; <sbyte*> [#uses=1] |
| 631 | %reg1051 = call %PatternAST %newPatternAST( sbyte* %reg349, %List %reg1043 ) ; <%PatternAST> [#uses=1] |
| 632 | cast %PatternAST %reg1051 to %IntList ; <%IntList>:9 [#uses=1] |
| 633 | store %IntList %9, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 634 | br label %bb97 |
| 635 | |
| 636 | bb92: ; preds = %bb68 |
| 637 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 638 | br label %bb97 |
| 639 | |
| 640 | bb93: ; preds = %bb69 |
| 641 | %reg354 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 642 | %reg1059 = getelementptr %YYSTYPE* %reg354, long -2 ; <%YYSTYPE*> [#uses=1] |
| 643 | %cast1061 = cast %YYSTYPE* %reg1059 to int* ; <int*> [#uses=1] |
| 644 | %reg356 = load int* %cast1061 ; <int> [#uses=1] |
| 645 | %reg357.idx1 = getelementptr %YYSTYPE* %reg354, long -1, ubyte 0 ; <%IntList*> [#uses=1] |
| 646 | %reg357 = load %IntList* %reg357.idx1 ; <%IntList> [#uses=1] |
| 647 | %reg1068 = call %IntList %newIntList( int %reg356, %IntList %reg357 ) ; <%IntList> [#uses=1] |
| 648 | store %IntList %reg1068, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 649 | br label %bb97 |
| 650 | |
| 651 | bb94: ; preds = %bb66 |
| 652 | store %IntList null, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 653 | br label %bb97 |
| 654 | |
| 655 | bb95: ; preds = %bb71 |
| 656 | %reg362 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 657 | %reg1076 = getelementptr %YYSTYPE* %reg362, long -1 ; <%YYSTYPE*> [#uses=1] |
| 658 | %cast1078 = cast %YYSTYPE* %reg1076 to int* ; <int*> [#uses=1] |
| 659 | %reg364 = load int* %cast1078 ; <int> [#uses=1] |
| 660 | %reg365.idx = getelementptr %YYSTYPE* %reg362, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 661 | %reg365 = load %IntList* %reg365.idx ; <%IntList> [#uses=1] |
| 662 | %reg1081 = call %IntList %newIntList( int %reg364, %IntList %reg365 ) ; <%IntList> [#uses=1] |
| 663 | store %IntList %reg1081, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 664 | br label %bb97 |
| 665 | |
| 666 | bb96: ; preds = %bb72 |
| 667 | %reg368 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 668 | %reg1088 = getelementptr %YYSTYPE* %reg368, long -1 ; <%YYSTYPE*> [#uses=1] |
| 669 | %cast1090 = cast %YYSTYPE* %reg1088 to int* ; <int*> [#uses=1] |
| 670 | %reg370 = load int* %cast1090 ; <int> [#uses=1] |
| 671 | %reg371.idx = getelementptr %YYSTYPE* %reg368, long 0, ubyte 0 ; <%IntList*> [#uses=1] |
| 672 | %reg371 = load %IntList* %reg371.idx ; <%IntList> [#uses=1] |
| 673 | %reg1093 = call %IntList %newIntList( int %reg370, %IntList %reg371 ) ; <%IntList> [#uses=1] |
| 674 | store %IntList %reg1093, %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) |
| 675 | br label %bb97 |
| 676 | |
| 677 | 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 |
| 678 | %cast1097 = cast short %reg254 to ulong ; <ulong> [#uses=3] |
| 679 | %reg375 = add ulong %cast1097, %cast1097 ; <ulong> [#uses=1] |
| 680 | %reg377 = load short** %yyssp ; <short*> [#uses=1] |
| 681 | %cast379 = cast short* %reg377 to ulong ; <ulong> [#uses=1] |
| 682 | %reg381 = sub ulong %cast379, %reg375 ; <ulong> [#uses=1] |
| 683 | %cast1099 = cast ulong %reg381 to short* ; <short*> [#uses=1] |
| 684 | store short* %cast1099, short** %yyssp |
| 685 | %reg382 = load short** %yyssp ; <short*> [#uses=3] |
| 686 | %reg383 = load short* %reg382 ; <short> [#uses=1] |
| 687 | %cast1103 = cast short %reg383 to int ; <int> [#uses=3] |
| 688 | %reg385 = mul ulong %cast1097, 8 ; <ulong> [#uses=1] |
| 689 | %reg387 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=1] |
| 690 | %cast389 = cast %YYSTYPE* %reg387 to ulong ; <ulong> [#uses=1] |
| 691 | %reg391 = sub ulong %cast389, %reg385 ; <ulong> [#uses=1] |
| 692 | %cast1108 = cast ulong %reg391 to %YYSTYPE* ; <%YYSTYPE*> [#uses=1] |
| 693 | store %YYSTYPE* %cast1108, %YYSTYPE** %yyvsp |
| 694 | %reg1111 = getelementptr [25 x short]* %yylhs, long 0, long %reg468-idxcast ; <short*> [#uses=1] |
| 695 | %reg398 = load short* %reg1111 ; <short> [#uses=2] |
| 696 | %cast1116 = cast short %reg398 to int ; <int> [#uses=1] |
| 697 | %cond1117 = setne int %cast1103, 0 ; <bool> [#uses=1] |
| 698 | br bool %cond1117, label %bb104, label %bb98 |
| 699 | |
| 700 | bb98: ; preds = %bb97 |
| 701 | %cond1119 = setne int %cast1116, 0 ; <bool> [#uses=1] |
| 702 | br bool %cond1119, label %bb104, label %bb99 |
| 703 | |
| 704 | bb99: ; preds = %bb98 |
| 705 | %reg1122 = getelementptr short* %reg382, long 1 ; <short*> [#uses=2] |
| 706 | store short* %reg1122, short** %yyssp |
| 707 | store short 1, short* %reg1122 |
| 708 | %reg403 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 709 | %reg1128 = getelementptr %YYSTYPE* %reg403, long 1 ; <%YYSTYPE*> [#uses=1] |
| 710 | store %YYSTYPE* %reg1128, %YYSTYPE** %yyvsp |
| 711 | %reg406 = load %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) ; <%IntList> [#uses=1] |
| 712 | %reg1128.idx1 = getelementptr %YYSTYPE* %reg403, long 1, ubyte 0 ; <%IntList*> [#uses=1] |
| 713 | store %IntList %reg406, %IntList* %reg1128.idx1 |
| 714 | %reg407 = load int* %yychar ; <int> [#uses=1] |
| 715 | %cond1135 = setge int %reg407, 0 ; <bool> [#uses=1] |
| 716 | br bool %cond1135, label %bb102, label %bb100 |
| 717 | |
| 718 | bb100: ; preds = %bb99 |
| 719 | %reg1139 = call int %yylex( ) ; <int> [#uses=1] |
| 720 | store int %reg1139, int* %yychar |
| 721 | %reg409 = load int* %yychar ; <int> [#uses=1] |
| 722 | %cond1141 = setge int %reg409, 0 ; <bool> [#uses=1] |
| 723 | br bool %cond1141, label %bb102, label %bb101 |
| 724 | |
| 725 | bb101: ; preds = %bb100 |
| 726 | store int 0, int* %yychar |
| 727 | br label %bb102 |
| 728 | |
| 729 | bb102: ; preds = %bb101, %bb100, %bb99 |
| 730 | %reg411 = load int* %yychar ; <int> [#uses=1] |
| 731 | %cond1146 = setne int %reg411, 0 ; <bool> [#uses=1] |
| 732 | br bool %cond1146, label %bb4, label %UnifiedExitNode |
| 733 | |
| 734 | bb104: ; preds = %bb98, %bb97 |
| 735 | %reg398-idxcast = cast short %reg398 to long ; <long> [#uses=2] |
| 736 | %reg1150 = getelementptr [12 x short]* %yygindex, long 0, long %reg398-idxcast ; <short*> [#uses=1] |
| 737 | %reg418 = load short* %reg1150 ; <short> [#uses=1] |
| 738 | %cast1155 = cast short %reg418 to int ; <int> [#uses=2] |
| 739 | %cond1156 = seteq int %cast1155, 0 ; <bool> [#uses=1] |
| 740 | br bool %cond1156, label %bb109, label %bb105 |
| 741 | |
| 742 | bb105: ; preds = %bb104 |
| 743 | %reg473 = add int %cast1155, %cast1103 ; <int> [#uses=3] |
| 744 | %cond1158 = setlt int %reg473, 0 ; <bool> [#uses=1] |
| 745 | br bool %cond1158, label %bb109, label %bb106 |
| 746 | |
| 747 | bb106: ; preds = %bb105 |
| 748 | %cond1161 = setgt int %reg473, 262 ; <bool> [#uses=1] |
| 749 | br bool %cond1161, label %bb109, label %bb107 |
| 750 | |
| 751 | bb107: ; preds = %bb106 |
| 752 | %reg473-idxcast = cast int %reg473 to long ; <long> [#uses=2] |
| 753 | %reg1166 = getelementptr [263 x short]* %yycheck, long 0, long %reg473-idxcast ; <short*> [#uses=1] |
| 754 | %reg428 = load short* %reg1166 ; <short> [#uses=1] |
| 755 | %cast1171 = cast short %reg428 to int ; <int> [#uses=1] |
| 756 | %cond1172 = setne int %cast1171, %cast1103 ; <bool> [#uses=1] |
| 757 | br bool %cond1172, label %bb109, label %bb108 |
| 758 | |
| 759 | bb108: ; preds = %bb107 |
| 760 | %reg1175 = getelementptr [263 x short]* %yytable, long 0, long %reg473-idxcast ; <short*> [#uses=1] |
| 761 | %reg435 = load short* %reg1175 ; <short> [#uses=1] |
| 762 | %cast1180 = cast short %reg435 to uint ; <uint> [#uses=1] |
| 763 | br label %bb110 |
| 764 | |
| 765 | bb109: ; preds = %bb107, %bb106, %bb105, %bb104 |
| 766 | %reg1183 = getelementptr [12 x short]* %yydgoto, long 0, long %reg398-idxcast ; <short*> [#uses=1] |
| 767 | %reg442 = load short* %reg1183 ; <short> [#uses=1] |
| 768 | %cast1188 = cast short %reg442 to uint ; <uint> [#uses=1] |
| 769 | br label %bb110 |
| 770 | |
| 771 | bb110: ; preds = %bb109, %bb108 |
| 772 | %reg476 = phi uint [ %cast1188, %bb109 ], [ %cast1180, %bb108 ] ; <uint> [#uses=2] |
| 773 | %cast1189 = cast short* %reg382 to sbyte* ; <sbyte*> [#uses=1] |
| 774 | %reg444 = load short** %yysslim ; <short*> [#uses=1] |
| 775 | %cast1190 = cast short* %reg444 to sbyte* ; <sbyte*> [#uses=1] |
| 776 | %cond1191 = setlt sbyte* %cast1189, %cast1190 ; <bool> [#uses=1] |
| 777 | br bool %cond1191, label %bb112, label %bb111 |
| 778 | |
| 779 | bb111: ; preds = %bb110 |
| 780 | %reg1193 = call int %yygrowstack( ) ; <int> [#uses=1] |
| 781 | %cond1193 = setne int %reg1193, 0 ; <bool> [#uses=1] |
| 782 | br bool %cond1193, label %bb113, label %bb112 |
| 783 | |
| 784 | bb112: ; preds = %bb111, %bb110 |
| 785 | %reg446 = load short** %yyssp ; <short*> [#uses=1] |
| 786 | %reg1196 = getelementptr short* %reg446, long 1 ; <short*> [#uses=2] |
| 787 | store short* %reg1196, short** %yyssp |
| 788 | %cast1357 = cast uint %reg476 to short ; <short> [#uses=1] |
| 789 | store short %cast1357, short* %reg1196 |
| 790 | %reg449 = load %YYSTYPE** %yyvsp ; <%YYSTYPE*> [#uses=2] |
| 791 | %reg1202 = getelementptr %YYSTYPE* %reg449, long 1 ; <%YYSTYPE*> [#uses=1] |
| 792 | store %YYSTYPE* %reg1202, %YYSTYPE** %yyvsp |
| 793 | %reg452 = load %IntList* getelementptr (%YYSTYPE* %yyval, long 0, ubyte 0) ; <%IntList> [#uses=1] |
| 794 | %reg1202.idx1 = getelementptr %YYSTYPE* %reg449, long 1, ubyte 0 ; <%IntList*> [#uses=1] |
| 795 | store %IntList %reg452, %IntList* %reg1202.idx1 |
| 796 | br label %bb4 |
| 797 | |
| 798 | bb113: ; preds = %bb111, %bb30, %bb13, %bb2 |
| 799 | call void %yyerror( sbyte* getelementptr ([20 x sbyte]* %.LC1, long 0, long 0) ) |
| 800 | br label %UnifiedExitNode |
| 801 | |
| 802 | UnifiedExitNode: ; preds = %bb113, %bb102, %bb34, %bb32 |
| 803 | %UnifiedRetVal = phi int [ 1, %bb113 ], [ 1, %bb34 ], [ 1, %bb32 ], [ 0, %bb102 ] ; <int> [#uses=1] |
| 804 | ret int %UnifiedRetVal |
| 805 | } |
| 806 | |
| 807 | declare %List %newList(sbyte*, %List) |
| 808 | |
| 809 | declare %IntList %newIntList(int, %IntList) |
| 810 | |
| 811 | declare void %doStart(sbyte*) |
| 812 | |
| 813 | declare void %yyerror(sbyte*) |
| 814 | |
| 815 | declare void %doSpec(%List, %List) |
| 816 | |
| 817 | declare %Arity %newArity(int, %List) |
| 818 | |
| 819 | declare %Binding %newBinding(sbyte*, int) |
| 820 | |
| 821 | declare %PatternAST %newPatternAST(sbyte*, %List) |
| 822 | |
| 823 | declare %RuleAST %newRuleAST(sbyte*, %PatternAST, int, %IntList) |
| 824 | |
| 825 | declare void %yyfinished() |
| 826 | |
| 827 | declare int %yylex() |
| 828 | |
| 829 | declare void %doGram(%List) |
| 830 | |
| 831 | declare int %yygrowstack() |