Regenerate
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
1 /* 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
316 typedef union YYSTYPE
317 #line 938 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
318 {
319   llvm::Module                           *ModuleVal;
320   llvm::Function                         *FunctionVal;
321   llvm::BasicBlock                       *BasicBlockVal;
322   llvm::TerminatorInst                   *TermInstVal;
323   llvm::Instruction                      *InstVal;
324   llvm::Constant                         *ConstVal;
325
326   const llvm::Type                       *PrimType;
327   std::list<llvm::PATypeHolder>          *TypeList;
328   llvm::PATypeHolder                     *TypeVal;
329   llvm::Value                            *ValueVal;
330   std::vector<llvm::Value*>              *ValueList;
331   llvm::ArgListType                      *ArgList;
332   llvm::TypeWithAttrs                     TypeWithAttrs;
333   llvm::TypeWithAttrsList                *TypeWithAttrsList;
334   llvm::ValueRefList                     *ValueRefList;
335
336   // Represent the RHS of PHI node
337   std::list<std::pair<llvm::Value*,
338                       llvm::BasicBlock*> > *PHIList;
339   std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
340   std::vector<llvm::Constant*>           *ConstVector;
341
342   llvm::GlobalValue::LinkageTypes         Linkage;
343   llvm::GlobalValue::VisibilityTypes      Visibility;
344   uint16_t                          ParamAttrs;
345   llvm::APInt                       *APIntVal;
346   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!
354   llvm::ValID                       ValIDVal; // strdup'd memory maybe!
355
356   llvm::Instruction::BinaryOps      BinaryOpVal;
357   llvm::Instruction::TermOps        TermOpVal;
358   llvm::Instruction::MemoryOps      MemOpVal;
359   llvm::Instruction::CastOps        CastOpVal;
360   llvm::Instruction::OtherOps       OtherOpVal;
361   llvm::ICmpInst::Predicate         IPredicate;
362   llvm::FCmpInst::Predicate         FPredicate;
363 }
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
371
372 extern YYSTYPE llvmAsmlval;
373