blob: cdc0e975f64586750812d0f9a550254f54c3dbdf [file] [log] [blame]
Anton Korobeynikov77d0f972007-04-25 14:29:12 +00001/* A Bison parser, made by GNU Bison 2.3. */
2
3/* Skeleton interface for Bison's Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
7
8 This program is free software; you can redistribute it and/or modify
9 it under the terms of the GNU General Public License as published by
10 the Free Software Foundation; either version 2, or (at your option)
11 any later version.
12
13 This program is distributed in the hope that it will be useful,
14 but WITHOUT ANY WARRANTY; without even the implied warranty of
15 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 GNU General Public License for more details.
17
18 You should have received a copy of the GNU General Public License
19 along with this program; if not, write to the Free Software
20 Foundation, Inc., 51 Franklin Street, Fifth Floor,
21 Boston, MA 02110-1301, USA. */
22
23/* As a special exception, you may create a larger work that contains
24 part or all of the Bison parser skeleton and distribute that work
25 under terms of your choice, so long as that work isn't itself a
26 parser generator using the skeleton or a modified version thereof
27 as a parser skeleton. Alternatively, if you modify or redistribute
28 the parser skeleton itself, you may (at your option) remove this
29 special exception, which will cause the skeleton and the resulting
30 Bison output files to be licensed under the GNU General Public
31 License without this special exception.
32
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
35
36/* Tokens. */
37#ifndef YYTOKENTYPE
38# define YYTOKENTYPE
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
40 know about them. */
41 enum yytokentype {
42 ESINT64VAL = 258,
43 EUINT64VAL = 259,
44 ESAPINTVAL = 260,
45 EUAPINTVAL = 261,
46 LOCALVAL_ID = 262,
47 GLOBALVAL_ID = 263,
48 FPVAL = 264,
49 VOID = 265,
50 INTTYPE = 266,
51 FLOAT = 267,
52 DOUBLE = 268,
53 LABEL = 269,
54 TYPE = 270,
55 LOCALVAR = 271,
56 GLOBALVAR = 272,
57 LABELSTR = 273,
58 STRINGCONSTANT = 274,
59 ATSTRINGCONSTANT = 275,
60 ZEROINITIALIZER = 276,
61 TRUETOK = 277,
62 FALSETOK = 278,
63 BEGINTOK = 279,
64 ENDTOK = 280,
65 DECLARE = 281,
66 DEFINE = 282,
67 GLOBAL = 283,
68 CONSTANT = 284,
69 SECTION = 285,
70 ALIAS = 286,
71 VOLATILE = 287,
72 THREAD_LOCAL = 288,
73 TO = 289,
74 DOTDOTDOT = 290,
75 NULL_TOK = 291,
76 UNDEF = 292,
77 INTERNAL = 293,
78 LINKONCE = 294,
79 WEAK = 295,
80 APPENDING = 296,
81 DLLIMPORT = 297,
82 DLLEXPORT = 298,
83 EXTERN_WEAK = 299,
84 OPAQUE = 300,
85 EXTERNAL = 301,
86 TARGET = 302,
87 TRIPLE = 303,
88 ALIGN = 304,
89 DEPLIBS = 305,
90 CALL = 306,
91 TAIL = 307,
92 ASM_TOK = 308,
93 MODULE = 309,
94 SIDEEFFECT = 310,
95 CC_TOK = 311,
96 CCC_TOK = 312,
97 FASTCC_TOK = 313,
98 COLDCC_TOK = 314,
99 X86_STDCALLCC_TOK = 315,
100 X86_FASTCALLCC_TOK = 316,
101 DATALAYOUT = 317,
102 RET = 318,
103 BR = 319,
104 SWITCH = 320,
105 INVOKE = 321,
106 UNWIND = 322,
107 UNREACHABLE = 323,
108 ADD = 324,
109 SUB = 325,
110 MUL = 326,
111 UDIV = 327,
112 SDIV = 328,
113 FDIV = 329,
114 UREM = 330,
115 SREM = 331,
116 FREM = 332,
117 AND = 333,
118 OR = 334,
119 XOR = 335,
120 SHL = 336,
121 LSHR = 337,
122 ASHR = 338,
123 ICMP = 339,
124 FCMP = 340,
125 EQ = 341,
126 NE = 342,
127 SLT = 343,
128 SGT = 344,
129 SLE = 345,
130 SGE = 346,
131 ULT = 347,
132 UGT = 348,
133 ULE = 349,
134 UGE = 350,
135 OEQ = 351,
136 ONE = 352,
137 OLT = 353,
138 OGT = 354,
139 OLE = 355,
140 OGE = 356,
141 ORD = 357,
142 UNO = 358,
143 UEQ = 359,
144 UNE = 360,
145 MALLOC = 361,
146 ALLOCA = 362,
147 FREE = 363,
148 LOAD = 364,
149 STORE = 365,
150 GETELEMENTPTR = 366,
151 TRUNC = 367,
152 ZEXT = 368,
153 SEXT = 369,
154 FPTRUNC = 370,
155 FPEXT = 371,
156 BITCAST = 372,
157 UITOFP = 373,
158 SITOFP = 374,
159 FPTOUI = 375,
160 FPTOSI = 376,
161 INTTOPTR = 377,
162 PTRTOINT = 378,
163 PHI_TOK = 379,
164 SELECT = 380,
165 VAARG = 381,
166 EXTRACTELEMENT = 382,
167 INSERTELEMENT = 383,
168 SHUFFLEVECTOR = 384,
169 NORETURN = 385,
170 INREG = 386,
171 SRET = 387,
172 NOUNWIND = 388,
173 DEFAULT = 389,
174 HIDDEN = 390
175 };
176#endif
177/* Tokens. */
178#define ESINT64VAL 258
179#define EUINT64VAL 259
180#define ESAPINTVAL 260
181#define EUAPINTVAL 261
182#define LOCALVAL_ID 262
183#define GLOBALVAL_ID 263
184#define FPVAL 264
185#define VOID 265
186#define INTTYPE 266
187#define FLOAT 267
188#define DOUBLE 268
189#define LABEL 269
190#define TYPE 270
191#define LOCALVAR 271
192#define GLOBALVAR 272
193#define LABELSTR 273
194#define STRINGCONSTANT 274
195#define ATSTRINGCONSTANT 275
196#define ZEROINITIALIZER 276
197#define TRUETOK 277
198#define FALSETOK 278
199#define BEGINTOK 279
200#define ENDTOK 280
201#define DECLARE 281
202#define DEFINE 282
203#define GLOBAL 283
204#define CONSTANT 284
205#define SECTION 285
206#define ALIAS 286
207#define VOLATILE 287
208#define THREAD_LOCAL 288
209#define TO 289
210#define DOTDOTDOT 290
211#define NULL_TOK 291
212#define UNDEF 292
213#define INTERNAL 293
214#define LINKONCE 294
215#define WEAK 295
216#define APPENDING 296
217#define DLLIMPORT 297
218#define DLLEXPORT 298
219#define EXTERN_WEAK 299
220#define OPAQUE 300
221#define EXTERNAL 301
222#define TARGET 302
223#define TRIPLE 303
224#define ALIGN 304
225#define DEPLIBS 305
226#define CALL 306
227#define TAIL 307
228#define ASM_TOK 308
229#define MODULE 309
230#define SIDEEFFECT 310
231#define CC_TOK 311
232#define CCC_TOK 312
233#define FASTCC_TOK 313
234#define COLDCC_TOK 314
235#define X86_STDCALLCC_TOK 315
236#define X86_FASTCALLCC_TOK 316
237#define DATALAYOUT 317
238#define RET 318
239#define BR 319
240#define SWITCH 320
241#define INVOKE 321
242#define UNWIND 322
243#define UNREACHABLE 323
244#define ADD 324
245#define SUB 325
246#define MUL 326
247#define UDIV 327
248#define SDIV 328
249#define FDIV 329
250#define UREM 330
251#define SREM 331
252#define FREM 332
253#define AND 333
254#define OR 334
255#define XOR 335
256#define SHL 336
257#define LSHR 337
258#define ASHR 338
259#define ICMP 339
260#define FCMP 340
261#define EQ 341
262#define NE 342
263#define SLT 343
264#define SGT 344
265#define SLE 345
266#define SGE 346
267#define ULT 347
268#define UGT 348
269#define ULE 349
270#define UGE 350
271#define OEQ 351
272#define ONE 352
273#define OLT 353
274#define OGT 354
275#define OLE 355
276#define OGE 356
277#define ORD 357
278#define UNO 358
279#define UEQ 359
280#define UNE 360
281#define MALLOC 361
282#define ALLOCA 362
283#define FREE 363
284#define LOAD 364
285#define STORE 365
286#define GETELEMENTPTR 366
287#define TRUNC 367
288#define ZEXT 368
289#define SEXT 369
290#define FPTRUNC 370
291#define FPEXT 371
292#define BITCAST 372
293#define UITOFP 373
294#define SITOFP 374
295#define FPTOUI 375
296#define FPTOSI 376
297#define INTTOPTR 377
298#define PTRTOINT 378
299#define PHI_TOK 379
300#define SELECT 380
301#define VAARG 381
302#define EXTRACTELEMENT 382
303#define INSERTELEMENT 383
304#define SHUFFLEVECTOR 384
305#define NORETURN 385
306#define INREG 386
307#define SRET 387
308#define NOUNWIND 388
309#define DEFAULT 389
310#define HIDDEN 390
311
312
313
314
315#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
316typedef union YYSTYPE
317#line 938 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
318{
Reid Spencer68a24bd2005-08-27 18:50:39 +0000319 llvm::Module *ModuleVal;
320 llvm::Function *FunctionVal;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000321 llvm::BasicBlock *BasicBlockVal;
322 llvm::TerminatorInst *TermInstVal;
323 llvm::Instruction *InstVal;
Reid Spencera132e042006-12-03 05:46:11 +0000324 llvm::Constant *ConstVal;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000325
Reid Spencera132e042006-12-03 05:46:11 +0000326 const llvm::Type *PrimType;
Reid Spencer14310612006-12-31 05:40:51 +0000327 std::list<llvm::PATypeHolder> *TypeList;
Reid Spencera132e042006-12-03 05:46:11 +0000328 llvm::PATypeHolder *TypeVal;
329 llvm::Value *ValueVal;
Reid Spencera132e042006-12-03 05:46:11 +0000330 std::vector<llvm::Value*> *ValueList;
Reid Spencer14310612006-12-31 05:40:51 +0000331 llvm::ArgListType *ArgList;
332 llvm::TypeWithAttrs TypeWithAttrs;
333 llvm::TypeWithAttrsList *TypeWithAttrsList;
334 llvm::ValueRefList *ValueRefList;
335
Reid Spencer68a24bd2005-08-27 18:50:39 +0000336 // Represent the RHS of PHI node
Reid Spencera132e042006-12-03 05:46:11 +0000337 std::list<std::pair<llvm::Value*,
338 llvm::BasicBlock*> > *PHIList;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000339 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
Reid Spencera132e042006-12-03 05:46:11 +0000340 std::vector<llvm::Constant*> *ConstVector;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000341
342 llvm::GlobalValue::LinkageTypes Linkage;
Anton Korobeynikov178a3522007-01-12 19:22:51 +0000343 llvm::GlobalValue::VisibilityTypes Visibility;
Reid Spencer7b5d4662007-04-09 06:16:21 +0000344 uint16_t ParamAttrs;
Reid Spencer38c91a92007-02-28 02:24:54 +0000345 llvm::APInt *APIntVal;
Reid Spencer68a24bd2005-08-27 18:50:39 +0000346 int64_t SInt64Val;
347 uint64_t UInt64Val;
348 int SIntVal;
349 unsigned UIntVal;
350 double FPVal;
351 bool BoolVal;
352
353 char *StrVal; // This memory is strdup'd!
Reid Spencer1628cec2006-10-26 06:15:43 +0000354 llvm::ValID ValIDVal; // strdup'd memory maybe!
Reid Spencer68a24bd2005-08-27 18:50:39 +0000355
Reid Spencera132e042006-12-03 05:46:11 +0000356 llvm::Instruction::BinaryOps BinaryOpVal;
357 llvm::Instruction::TermOps TermOpVal;
358 llvm::Instruction::MemoryOps MemOpVal;
359 llvm::Instruction::CastOps CastOpVal;
360 llvm::Instruction::OtherOps OtherOpVal;
Reid Spencera132e042006-12-03 05:46:11 +0000361 llvm::ICmpInst::Predicate IPredicate;
362 llvm::FCmpInst::Predicate FPredicate;
Anton Korobeynikov77d0f972007-04-25 14:29:12 +0000363}
364/* Line 1489 of yacc.c. */
365#line 366 "llvmAsmParser.tab.h"
366 YYSTYPE;
367# define yystype YYSTYPE /* obsolescent; will be withdrawn */
368# define YYSTYPE_IS_DECLARED 1
369# define YYSTYPE_IS_TRIVIAL 1
370#endif
Reid Spencer68a24bd2005-08-27 18:50:39 +0000371
372extern YYSTYPE llvmAsmlval;
Anton Korobeynikov77d0f972007-04-25 14:29:12 +0000373