blob: 0914d9545c55b9cc2baba4e0013c38f4d791e62e [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,
182 CONST = 398,
183 PURE = 399,
184 DEFAULT = 400,
185 HIDDEN = 401,
186 PROTECTED = 402
187 };
188#endif
189/* Tokens. */
190#define ESINT64VAL 258
191#define EUINT64VAL 259
192#define ESAPINTVAL 260
193#define EUAPINTVAL 261
194#define LOCALVAL_ID 262
195#define GLOBALVAL_ID 263
196#define FPVAL 264
197#define VOID 265
198#define INTTYPE 266
199#define FLOAT 267
200#define DOUBLE 268
201#define X86_FP80 269
202#define FP128 270
203#define PPC_FP128 271
204#define LABEL 272
205#define TYPE 273
206#define LOCALVAR 274
207#define GLOBALVAR 275
208#define LABELSTR 276
209#define STRINGCONSTANT 277
210#define ATSTRINGCONSTANT 278
211#define PCTSTRINGCONSTANT 279
212#define ZEROINITIALIZER 280
213#define TRUETOK 281
214#define FALSETOK 282
215#define BEGINTOK 283
216#define ENDTOK 284
217#define DECLARE 285
218#define DEFINE 286
219#define GLOBAL 287
220#define CONSTANT 288
221#define SECTION 289
222#define ALIAS 290
223#define VOLATILE 291
224#define THREAD_LOCAL 292
225#define TO 293
226#define DOTDOTDOT 294
227#define NULL_TOK 295
228#define UNDEF 296
229#define INTERNAL 297
230#define LINKONCE 298
231#define WEAK 299
232#define APPENDING 300
233#define DLLIMPORT 301
234#define DLLEXPORT 302
235#define EXTERN_WEAK 303
236#define OPAQUE 304
237#define EXTERNAL 305
238#define TARGET 306
239#define TRIPLE 307
240#define ALIGN 308
241#define DEPLIBS 309
242#define CALL 310
243#define TAIL 311
244#define ASM_TOK 312
245#define MODULE 313
246#define SIDEEFFECT 314
247#define CC_TOK 315
248#define CCC_TOK 316
249#define FASTCC_TOK 317
250#define COLDCC_TOK 318
251#define X86_STDCALLCC_TOK 319
252#define X86_FASTCALLCC_TOK 320
253#define DATALAYOUT 321
254#define RET 322
255#define BR 323
256#define SWITCH 324
257#define INVOKE 325
258#define UNWIND 326
259#define UNREACHABLE 327
260#define ADD 328
261#define SUB 329
262#define MUL 330
263#define UDIV 331
264#define SDIV 332
265#define FDIV 333
266#define UREM 334
267#define SREM 335
268#define FREM 336
269#define AND 337
270#define OR 338
271#define XOR 339
272#define SHL 340
273#define LSHR 341
274#define ASHR 342
275#define ICMP 343
276#define FCMP 344
277#define EQ 345
278#define NE 346
279#define SLT 347
280#define SGT 348
281#define SLE 349
282#define SGE 350
283#define ULT 351
284#define UGT 352
285#define ULE 353
286#define UGE 354
287#define OEQ 355
288#define ONE 356
289#define OLT 357
290#define OGT 358
291#define OLE 359
292#define OGE 360
293#define ORD 361
294#define UNO 362
295#define UEQ 363
296#define UNE 364
297#define MALLOC 365
298#define ALLOCA 366
299#define FREE 367
300#define LOAD 368
301#define STORE 369
302#define GETELEMENTPTR 370
303#define TRUNC 371
304#define ZEXT 372
305#define SEXT 373
306#define FPTRUNC 374
307#define FPEXT 375
308#define BITCAST 376
309#define UITOFP 377
310#define SITOFP 378
311#define FPTOUI 379
312#define FPTOSI 380
313#define INTTOPTR 381
314#define PTRTOINT 382
315#define PHI_TOK 383
316#define SELECT 384
317#define VAARG 385
318#define EXTRACTELEMENT 386
319#define INSERTELEMENT 387
320#define SHUFFLEVECTOR 388
321#define SIGNEXT 389
322#define ZEROEXT 390
323#define NORETURN 391
324#define INREG 392
325#define SRET 393
326#define NOUNWIND 394
327#define NOALIAS 395
328#define BYVAL 396
329#define NEST 397
330#define CONST 398
331#define PURE 399
332#define DEFAULT 400
333#define HIDDEN 401
334#define PROTECTED 402
335
336
337
338
339#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
340typedef union YYSTYPE
341#line 968 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
342{
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000343 llvm::Module *ModuleVal;
344 llvm::Function *FunctionVal;
345 llvm::BasicBlock *BasicBlockVal;
346 llvm::TerminatorInst *TermInstVal;
347 llvm::Instruction *InstVal;
348 llvm::Constant *ConstVal;
349
350 const llvm::Type *PrimType;
351 std::list<llvm::PATypeHolder> *TypeList;
352 llvm::PATypeHolder *TypeVal;
353 llvm::Value *ValueVal;
354 std::vector<llvm::Value*> *ValueList;
355 llvm::ArgListType *ArgList;
356 llvm::TypeWithAttrs TypeWithAttrs;
357 llvm::TypeWithAttrsList *TypeWithAttrsList;
Dale Johannesencfb19e62007-11-05 21:20:28 +0000358 llvm::ParamList *ParamList;
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000359
360 // Represent the RHS of PHI node
361 std::list<std::pair<llvm::Value*,
362 llvm::BasicBlock*> > *PHIList;
363 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
364 std::vector<llvm::Constant*> *ConstVector;
365
366 llvm::GlobalValue::LinkageTypes Linkage;
367 llvm::GlobalValue::VisibilityTypes Visibility;
368 uint16_t ParamAttrs;
369 llvm::APInt *APIntVal;
370 int64_t SInt64Val;
371 uint64_t UInt64Val;
372 int SIntVal;
373 unsigned UIntVal;
Dale Johannesenb9de9f02007-09-06 18:13:44 +0000374 llvm::APFloat *FPVal;
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000375 bool BoolVal;
376
377 std::string *StrVal; // This memory must be deleted
378 llvm::ValID ValIDVal;
379
380 llvm::Instruction::BinaryOps BinaryOpVal;
381 llvm::Instruction::TermOps TermOpVal;
382 llvm::Instruction::MemoryOps MemOpVal;
383 llvm::Instruction::CastOps CastOpVal;
384 llvm::Instruction::OtherOps OtherOpVal;
385 llvm::ICmpInst::Predicate IPredicate;
386 llvm::FCmpInst::Predicate FPredicate;
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000387}
388/* Line 1489 of yacc.c. */
389#line 390 "llvmAsmParser.tab.h"
390 YYSTYPE;
391# define yystype YYSTYPE /* obsolescent; will be withdrawn */
392# define YYSTYPE_IS_DECLARED 1
393# define YYSTYPE_IS_TRIVIAL 1
394#endif
Dan Gohmanf17a25c2007-07-18 16:29:46 +0000395
396extern YYSTYPE llvmAsmlval;
Anton Korobeynikov66e28652007-11-14 09:53:48 +0000397