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