Regenerate.
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
1 /* A Bison parser, made by GNU Bison 2.1.  */
2
3 /* Skeleton parser for Yacc-like parsing with Bison,
4    Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
5
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
18    Foundation, Inc., 51 Franklin Street, Fifth Floor,
19    Boston, MA 02110-1301, USA.  */
20
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
26 /* Tokens.  */
27 #ifndef YYTOKENTYPE
28 # define YYTOKENTYPE
29    /* Put the tokens into the symbol table, so that GDB and other debuggers
30       know about them.  */
31    enum yytokentype {
32      ESINT64VAL = 258,
33      EUINT64VAL = 259,
34      ESAPINTVAL = 260,
35      EUAPINTVAL = 261,
36      LOCALVAL_ID = 262,
37      GLOBALVAL_ID = 263,
38      FPVAL = 264,
39      VOID = 265,
40      INTTYPE = 266,
41      FLOAT = 267,
42      DOUBLE = 268,
43      LABEL = 269,
44      TYPE = 270,
45      LOCALVAR = 271,
46      GLOBALVAR = 272,
47      LABELSTR = 273,
48      STRINGCONSTANT = 274,
49      ATSTRINGCONSTANT = 275,
50      IMPLEMENTATION = 276,
51      ZEROINITIALIZER = 277,
52      TRUETOK = 278,
53      FALSETOK = 279,
54      BEGINTOK = 280,
55      ENDTOK = 281,
56      DECLARE = 282,
57      DEFINE = 283,
58      GLOBAL = 284,
59      CONSTANT = 285,
60      SECTION = 286,
61      VOLATILE = 287,
62      TO = 288,
63      DOTDOTDOT = 289,
64      NULL_TOK = 290,
65      UNDEF = 291,
66      INTERNAL = 292,
67      LINKONCE = 293,
68      WEAK = 294,
69      APPENDING = 295,
70      DLLIMPORT = 296,
71      DLLEXPORT = 297,
72      EXTERN_WEAK = 298,
73      OPAQUE = 299,
74      EXTERNAL = 300,
75      TARGET = 301,
76      TRIPLE = 302,
77      ALIGN = 303,
78      DEPLIBS = 304,
79      CALL = 305,
80      TAIL = 306,
81      ASM_TOK = 307,
82      MODULE = 308,
83      SIDEEFFECT = 309,
84      CC_TOK = 310,
85      CCC_TOK = 311,
86      FASTCC_TOK = 312,
87      COLDCC_TOK = 313,
88      X86_STDCALLCC_TOK = 314,
89      X86_FASTCALLCC_TOK = 315,
90      DATALAYOUT = 316,
91      RET = 317,
92      BR = 318,
93      SWITCH = 319,
94      INVOKE = 320,
95      UNWIND = 321,
96      UNREACHABLE = 322,
97      ADD = 323,
98      SUB = 324,
99      MUL = 325,
100      UDIV = 326,
101      SDIV = 327,
102      FDIV = 328,
103      UREM = 329,
104      SREM = 330,
105      FREM = 331,
106      AND = 332,
107      OR = 333,
108      XOR = 334,
109      SHL = 335,
110      LSHR = 336,
111      ASHR = 337,
112      ICMP = 338,
113      FCMP = 339,
114      EQ = 340,
115      NE = 341,
116      SLT = 342,
117      SGT = 343,
118      SLE = 344,
119      SGE = 345,
120      ULT = 346,
121      UGT = 347,
122      ULE = 348,
123      UGE = 349,
124      OEQ = 350,
125      ONE = 351,
126      OLT = 352,
127      OGT = 353,
128      OLE = 354,
129      OGE = 355,
130      ORD = 356,
131      UNO = 357,
132      UEQ = 358,
133      UNE = 359,
134      MALLOC = 360,
135      ALLOCA = 361,
136      FREE = 362,
137      LOAD = 363,
138      STORE = 364,
139      GETELEMENTPTR = 365,
140      TRUNC = 366,
141      ZEXT = 367,
142      SEXT = 368,
143      FPTRUNC = 369,
144      FPEXT = 370,
145      BITCAST = 371,
146      UITOFP = 372,
147      SITOFP = 373,
148      FPTOUI = 374,
149      FPTOSI = 375,
150      INTTOPTR = 376,
151      PTRTOINT = 377,
152      PHI_TOK = 378,
153      SELECT = 379,
154      VAARG = 380,
155      EXTRACTELEMENT = 381,
156      INSERTELEMENT = 382,
157      SHUFFLEVECTOR = 383,
158      NORETURN = 384,
159      INREG = 385,
160      SRET = 386,
161      DEFAULT = 387,
162      HIDDEN = 388
163    };
164 #endif
165 /* Tokens.  */
166 #define ESINT64VAL 258
167 #define EUINT64VAL 259
168 #define ESAPINTVAL 260
169 #define EUAPINTVAL 261
170 #define LOCALVAL_ID 262
171 #define GLOBALVAL_ID 263
172 #define FPVAL 264
173 #define VOID 265
174 #define INTTYPE 266
175 #define FLOAT 267
176 #define DOUBLE 268
177 #define LABEL 269
178 #define TYPE 270
179 #define LOCALVAR 271
180 #define GLOBALVAR 272
181 #define LABELSTR 273
182 #define STRINGCONSTANT 274
183 #define ATSTRINGCONSTANT 275
184 #define IMPLEMENTATION 276
185 #define ZEROINITIALIZER 277
186 #define TRUETOK 278
187 #define FALSETOK 279
188 #define BEGINTOK 280
189 #define ENDTOK 281
190 #define DECLARE 282
191 #define DEFINE 283
192 #define GLOBAL 284
193 #define CONSTANT 285
194 #define SECTION 286
195 #define VOLATILE 287
196 #define TO 288
197 #define DOTDOTDOT 289
198 #define NULL_TOK 290
199 #define UNDEF 291
200 #define INTERNAL 292
201 #define LINKONCE 293
202 #define WEAK 294
203 #define APPENDING 295
204 #define DLLIMPORT 296
205 #define DLLEXPORT 297
206 #define EXTERN_WEAK 298
207 #define OPAQUE 299
208 #define EXTERNAL 300
209 #define TARGET 301
210 #define TRIPLE 302
211 #define ALIGN 303
212 #define DEPLIBS 304
213 #define CALL 305
214 #define TAIL 306
215 #define ASM_TOK 307
216 #define MODULE 308
217 #define SIDEEFFECT 309
218 #define CC_TOK 310
219 #define CCC_TOK 311
220 #define FASTCC_TOK 312
221 #define COLDCC_TOK 313
222 #define X86_STDCALLCC_TOK 314
223 #define X86_FASTCALLCC_TOK 315
224 #define DATALAYOUT 316
225 #define RET 317
226 #define BR 318
227 #define SWITCH 319
228 #define INVOKE 320
229 #define UNWIND 321
230 #define UNREACHABLE 322
231 #define ADD 323
232 #define SUB 324
233 #define MUL 325
234 #define UDIV 326
235 #define SDIV 327
236 #define FDIV 328
237 #define UREM 329
238 #define SREM 330
239 #define FREM 331
240 #define AND 332
241 #define OR 333
242 #define XOR 334
243 #define SHL 335
244 #define LSHR 336
245 #define ASHR 337
246 #define ICMP 338
247 #define FCMP 339
248 #define EQ 340
249 #define NE 341
250 #define SLT 342
251 #define SGT 343
252 #define SLE 344
253 #define SGE 345
254 #define ULT 346
255 #define UGT 347
256 #define ULE 348
257 #define UGE 349
258 #define OEQ 350
259 #define ONE 351
260 #define OLT 352
261 #define OGT 353
262 #define OLE 354
263 #define OGE 355
264 #define ORD 356
265 #define UNO 357
266 #define UEQ 358
267 #define UNE 359
268 #define MALLOC 360
269 #define ALLOCA 361
270 #define FREE 362
271 #define LOAD 363
272 #define STORE 364
273 #define GETELEMENTPTR 365
274 #define TRUNC 366
275 #define ZEXT 367
276 #define SEXT 368
277 #define FPTRUNC 369
278 #define FPEXT 370
279 #define BITCAST 371
280 #define UITOFP 372
281 #define SITOFP 373
282 #define FPTOUI 374
283 #define FPTOSI 375
284 #define INTTOPTR 376
285 #define PTRTOINT 377
286 #define PHI_TOK 378
287 #define SELECT 379
288 #define VAARG 380
289 #define EXTRACTELEMENT 381
290 #define INSERTELEMENT 382
291 #define SHUFFLEVECTOR 383
292 #define NORETURN 384
293 #define INREG 385
294 #define SRET 386
295 #define DEFAULT 387
296 #define HIDDEN 388
297
298
299
300
301 #if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
302 #line 939 "/proj/llvm/llvm-1/lib/AsmParser/llvmAsmParser.y"
303 typedef union YYSTYPE {
304   llvm::Module                           *ModuleVal;
305   llvm::Function                         *FunctionVal;
306   llvm::BasicBlock                       *BasicBlockVal;
307   llvm::TerminatorInst                   *TermInstVal;
308   llvm::Instruction                      *InstVal;
309   llvm::Constant                         *ConstVal;
310
311   const llvm::Type                       *PrimType;
312   std::list<llvm::PATypeHolder>          *TypeList;
313   llvm::PATypeHolder                     *TypeVal;
314   llvm::Value                            *ValueVal;
315   std::vector<llvm::Value*>              *ValueList;
316   llvm::ArgListType                      *ArgList;
317   llvm::TypeWithAttrs                     TypeWithAttrs;
318   llvm::TypeWithAttrsList                *TypeWithAttrsList;
319   llvm::ValueRefList                     *ValueRefList;
320
321   // Represent the RHS of PHI node
322   std::list<std::pair<llvm::Value*,
323                       llvm::BasicBlock*> > *PHIList;
324   std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
325   std::vector<llvm::Constant*>           *ConstVector;
326
327   llvm::GlobalValue::LinkageTypes         Linkage;
328   llvm::GlobalValue::VisibilityTypes      Visibility;
329   llvm::FunctionType::ParameterAttributes ParamAttrs;
330   llvm::APInt                       *APIntVal;
331   int64_t                           SInt64Val;
332   uint64_t                          UInt64Val;
333   int                               SIntVal;
334   unsigned                          UIntVal;
335   double                            FPVal;
336   bool                              BoolVal;
337
338   char                             *StrVal;   // This memory is strdup'd!
339   llvm::ValID                       ValIDVal; // strdup'd memory maybe!
340
341   llvm::Instruction::BinaryOps      BinaryOpVal;
342   llvm::Instruction::TermOps        TermOpVal;
343   llvm::Instruction::MemoryOps      MemOpVal;
344   llvm::Instruction::CastOps        CastOpVal;
345   llvm::Instruction::OtherOps       OtherOpVal;
346   llvm::ICmpInst::Predicate         IPredicate;
347   llvm::FCmpInst::Predicate         FPredicate;
348 } YYSTYPE;
349 /* Line 1447 of yacc.c.  */
350 #line 351 "llvmAsmParser.tab.h"
351 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
352 # define YYSTYPE_IS_DECLARED 1
353 # define YYSTYPE_IS_TRIVIAL 1
354 #endif
355
356 extern YYSTYPE llvmAsmlval;
357
358
359