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