blob: 39fd1386339ed3e521e41600bacc6291b3cf0825 [file] [log] [blame]
Anton Korobeynikov66e28652007-11-14 09:53:48 +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 X86_FP80 = 269,
54 FP128 = 270,
55 PPC_FP128 = 271,
56 LABEL = 272,
57 TYPE = 273,
58 LOCALVAR = 274,
59 GLOBALVAR = 275,
60 LABELSTR = 276,
61 STRINGCONSTANT = 277,
62 ATSTRINGCONSTANT = 278,
63 PCTSTRINGCONSTANT = 279,
64 ZEROINITIALIZER = 280,
65 TRUETOK = 281,
66 FALSETOK = 282,
67 BEGINTOK = 283,
68 ENDTOK = 284,
69 DECLARE = 285,
70 DEFINE = 286,
71 GLOBAL = 287,
72 CONSTANT = 288,
73 SECTION = 289,
74 ALIAS = 290,
75 VOLATILE = 291,
76 THREAD_LOCAL = 292,
77 TO = 293,
78 DOTDOTDOT = 294,
79 NULL_TOK = 295,
80 UNDEF = 296,
81 INTERNAL = 297,
82 LINKONCE = 298,
83 WEAK = 299,
84 APPENDING = 300,
85 DLLIMPORT = 301,
86 DLLEXPORT = 302,
87 EXTERN_WEAK = 303,
88 OPAQUE = 304,
89 EXTERNAL = 305,
90 TARGET = 306,
91 TRIPLE = 307,
92 ALIGN = 308,
93 DEPLIBS = 309,
94 CALL = 310,
95 TAIL = 311,
96 ASM_TOK = 312,
97 MODULE = 313,
98 SIDEEFFECT = 314,
99 CC_TOK = 315,
100 CCC_TOK = 316,
101 FASTCC_TOK = 317,
102 COLDCC_TOK = 318,
103 X86_STDCALLCC_TOK = 319,
104 X86_FASTCALLCC_TOK = 320,
105 DATALAYOUT = 321,
106 RET = 322,
107 BR = 323,
108 SWITCH = 324,
109 INVOKE = 325,
110 UNWIND = 326,
111 UNREACHABLE = 327,
112 ADD = 328,
113 SUB = 329,
114 MUL = 330,
115 UDIV = 331,
116 SDIV = 332,
117 FDIV = 333,
118 UREM = 334,
119 SREM = 335,
120 FREM = 336,
121 AND = 337,
122 OR = 338,
123 XOR = 339,
124 SHL = 340,
125 LSHR = 341,
126 ASHR = 342,
127 ICMP = 343,
128 FCMP = 344,
129 EQ = 345,
130 NE = 346,
131 SLT = 347,
132 SGT = 348,
133 SLE = 349,
134 SGE = 350,
135 ULT = 351,
136 UGT = 352,
137 ULE = 353,
138 UGE = 354,
139 OEQ = 355,
140 ONE = 356,
141 OLT = 357,
142 OGT = 358,
143 OLE = 359,
144 OGE = 360,
145 ORD = 361,
146 UNO = 362,
147 UEQ = 363,
148 UNE = 364,
149 MALLOC = 365,
150 ALLOCA = 366,
151 FREE = 367,
152 LOAD = 368,
153 STORE = 369,
154 GETELEMENTPTR = 370,
155 TRUNC = 371,
156 ZEXT = 372,
157 SEXT = 373,
158 FPTRUNC = 374,
159 FPEXT = 375,
160 BITCAST = 376,
161 UITOFP = 377,
162 SITOFP = 378,
163 FPTOUI = 379,
164 FPTOSI = 380,
165 INTTOPTR = 381,
166 PTRTOINT = 382,
167 PHI_TOK = 383,
168 SELECT = 384,
169 VAARG = 385,
170 EXTRACTELEMENT = 386,
171 INSERTELEMENT = 387,
172 SHUFFLEVECTOR = 388,
173 SIGNEXT = 389,
174 ZEROEXT = 390,
175 NORETURN = 391,
176 INREG = 392,
177 SRET = 393,
178 NOUNWIND = 394,
179 NOALIAS = 395,
180 BYVAL = 396,
181 NEST = 397,
Duncan Sandsf5588dc2007-11-27 13:23:08 +0000182 READNONE = 398,
183 READONLY = 399,
Gordon Henriksen13fe5e32007-12-10 03:18:06 +0000184 GC = 400,
185 DEFAULT = 401,
186 HIDDEN = 402,
187 PROTECTED = 403
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000188 };
189#endif
190/* Tokens. */
191#define ESINT64VAL 258
192#define EUINT64VAL 259
193#define ESAPINTVAL 260
194#define EUAPINTVAL 261
195#define LOCALVAL_ID 262
196#define GLOBALVAL_ID 263
197#define FPVAL 264
198#define VOID 265
199#define INTTYPE 266
200#define FLOAT 267
201#define DOUBLE 268
202#define X86_FP80 269
203#define FP128 270
204#define PPC_FP128 271
205#define LABEL 272
206#define TYPE 273
207#define LOCALVAR 274
208#define GLOBALVAR 275
209#define LABELSTR 276
210#define STRINGCONSTANT 277
211#define ATSTRINGCONSTANT 278
212#define PCTSTRINGCONSTANT 279
213#define ZEROINITIALIZER 280
214#define TRUETOK 281
215#define FALSETOK 282
216#define BEGINTOK 283
217#define ENDTOK 284
218#define DECLARE 285
219#define DEFINE 286
220#define GLOBAL 287
221#define CONSTANT 288
222#define SECTION 289
223#define ALIAS 290
224#define VOLATILE 291
225#define THREAD_LOCAL 292
226#define TO 293
227#define DOTDOTDOT 294
228#define NULL_TOK 295
229#define UNDEF 296
230#define INTERNAL 297
231#define LINKONCE 298
232#define WEAK 299
233#define APPENDING 300
234#define DLLIMPORT 301
235#define DLLEXPORT 302
236#define EXTERN_WEAK 303
237#define OPAQUE 304
238#define EXTERNAL 305
239#define TARGET 306
240#define TRIPLE 307
241#define ALIGN 308
242#define DEPLIBS 309
243#define CALL 310
244#define TAIL 311
245#define ASM_TOK 312
246#define MODULE 313
247#define SIDEEFFECT 314
248#define CC_TOK 315
249#define CCC_TOK 316
250#define FASTCC_TOK 317
251#define COLDCC_TOK 318
252#define X86_STDCALLCC_TOK 319
253#define X86_FASTCALLCC_TOK 320
254#define DATALAYOUT 321
255#define RET 322
256#define BR 323
257#define SWITCH 324
258#define INVOKE 325
259#define UNWIND 326
260#define UNREACHABLE 327
261#define ADD 328
262#define SUB 329
263#define MUL 330
264#define UDIV 331
265#define SDIV 332
266#define FDIV 333
267#define UREM 334
268#define SREM 335
269#define FREM 336
270#define AND 337
271#define OR 338
272#define XOR 339
273#define SHL 340
274#define LSHR 341
275#define ASHR 342
276#define ICMP 343
277#define FCMP 344
278#define EQ 345
279#define NE 346
280#define SLT 347
281#define SGT 348
282#define SLE 349
283#define SGE 350
284#define ULT 351
285#define UGT 352
286#define ULE 353
287#define UGE 354
288#define OEQ 355
289#define ONE 356
290#define OLT 357
291#define OGT 358
292#define OLE 359
293#define OGE 360
294#define ORD 361
295#define UNO 362
296#define UEQ 363
297#define UNE 364
298#define MALLOC 365
299#define ALLOCA 366
300#define FREE 367
301#define LOAD 368
302#define STORE 369
303#define GETELEMENTPTR 370
304#define TRUNC 371
305#define ZEXT 372
306#define SEXT 373
307#define FPTRUNC 374
308#define FPEXT 375
309#define BITCAST 376
310#define UITOFP 377
311#define SITOFP 378
312#define FPTOUI 379
313#define FPTOSI 380
314#define INTTOPTR 381
315#define PTRTOINT 382
316#define PHI_TOK 383
317#define SELECT 384
318#define VAARG 385
319#define EXTRACTELEMENT 386
320#define INSERTELEMENT 387
321#define SHUFFLEVECTOR 388
322#define SIGNEXT 389
323#define ZEROEXT 390
324#define NORETURN 391
325#define INREG 392
326#define SRET 393
327#define NOUNWIND 394
328#define NOALIAS 395
329#define BYVAL 396
330#define NEST 397
Duncan Sandsf5588dc2007-11-27 13:23:08 +0000331#define READNONE 398
332#define READONLY 399
Gordon Henriksen13fe5e32007-12-10 03:18:06 +0000333#define GC 400
334#define DEFAULT 401
335#define HIDDEN 402
336#define PROTECTED 403
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000337
338
339
340
341#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
342typedef union YYSTYPE
Gordon Henriksen13fe5e32007-12-10 03:18:06 +0000343#line 945 "/Users/malichus/Source/llvm/src/llvm/lib/AsmParser/llvmAsmParser.y"
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000344{
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000345 llvm::Module *ModuleVal;
346 llvm::Function *FunctionVal;
347 llvm::BasicBlock *BasicBlockVal;
348 llvm::TerminatorInst *TermInstVal;
349 llvm::Instruction *InstVal;
350 llvm::Constant *ConstVal;
351
352 const llvm::Type *PrimType;
353 std::list<llvm::PATypeHolder> *TypeList;
354 llvm::PATypeHolder *TypeVal;
355 llvm::Value *ValueVal;
356 std::vector<llvm::Value*> *ValueList;
357 llvm::ArgListType *ArgList;
358 llvm::TypeWithAttrs TypeWithAttrs;
359 llvm::TypeWithAttrsList *TypeWithAttrsList;
Dale Johannesencfb19e62007-11-05 21:20:28 +0000360 llvm::ParamList *ParamList;
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000361
362 // Represent the RHS of PHI node
363 std::list<std::pair<llvm::Value*,
364 llvm::BasicBlock*> > *PHIList;
365 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
366 std::vector<llvm::Constant*> *ConstVector;
367
368 llvm::GlobalValue::LinkageTypes Linkage;
369 llvm::GlobalValue::VisibilityTypes Visibility;
370 uint16_t ParamAttrs;
371 llvm::APInt *APIntVal;
372 int64_t SInt64Val;
373 uint64_t UInt64Val;
374 int SIntVal;
375 unsigned UIntVal;
Dale Johannesenb9de9f02007-09-06 18:13:44 +0000376 llvm::APFloat *FPVal;
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000377 bool BoolVal;
378
379 std::string *StrVal; // This memory must be deleted
380 llvm::ValID ValIDVal;
381
382 llvm::Instruction::BinaryOps BinaryOpVal;
383 llvm::Instruction::TermOps TermOpVal;
384 llvm::Instruction::MemoryOps MemOpVal;
385 llvm::Instruction::CastOps CastOpVal;
386 llvm::Instruction::OtherOps OtherOpVal;
387 llvm::ICmpInst::Predicate IPredicate;
388 llvm::FCmpInst::Predicate FPredicate;
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000389}
Gordon Henriksen13fe5e32007-12-10 03:18:06 +0000390/* Line 1529 of yacc.c. */
391#line 392 "llvmAsmParser.tab.h"
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000392 YYSTYPE;
393# define yystype YYSTYPE /* obsolescent; will be withdrawn */
394# define YYSTYPE_IS_DECLARED 1
395# define YYSTYPE_IS_TRIVIAL 1
396#endif
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000397
398extern YYSTYPE llvmAsmlval;
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000399