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