1 /* A Bison parser, made by GNU Bison 2.3. */
3 /* Skeleton interface for Bison's Yacc-like parsers in C
5 Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
6 Free Software Foundation, Inc.
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)
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.
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. */
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.
33 This special exception was added by the Free Software Foundation in
34 version 2.2 of Bison. */
39 /* Put the tokens into the symbol table, so that GDB and other debuggers
62 ATSTRINGCONSTANT = 278,
63 PCTSTRINGCONSTANT = 279,
64 ZEROINITIALIZER = 280,
105 X86_STDCALLCC_TOK = 321,
106 X86_FASTCALLCC_TOK = 322,
107 X86_SSECALLCC_TOK = 323,
175 EXTRACTELEMENT = 391,
197 OPTIMIZEFORSIZE = 413,
204 #define ESINT64VAL 258
205 #define EUINT64VAL 259
206 #define ESAPINTVAL 260
207 #define EUAPINTVAL 261
208 #define LOCALVAL_ID 262
209 #define GLOBALVAL_ID 263
217 #define PPC_FP128 271
221 #define GLOBALVAR 275
223 #define STRINGCONSTANT 277
224 #define ATSTRINGCONSTANT 278
225 #define PCTSTRINGCONSTANT 279
226 #define ZEROINITIALIZER 280
238 #define THREAD_LOCAL 292
240 #define DOTDOTDOT 294
246 #define APPENDING 300
247 #define DLLIMPORT 301
248 #define DLLEXPORT 302
249 #define EXTERN_WEAK 303
256 #define ADDRSPACE 310
262 #define SIDEEFFECT 316
265 #define FASTCC_TOK 319
266 #define COLDCC_TOK 320
267 #define X86_STDCALLCC_TOK 321
268 #define X86_FASTCALLCC_TOK 322
269 #define X86_SSECALLCC_TOK 323
270 #define DATALAYOUT 324
276 #define UNREACHABLE 330
321 #define GETELEMENTPTR 375
337 #define EXTRACTELEMENT 391
338 #define INSERTELEMENT 392
339 #define SHUFFLEVECTOR 393
340 #define GETRESULT 394
341 #define EXTRACTVALUE 395
342 #define INSERTVALUE 396
359 #define OPTIMIZEFORSIZE 413
362 #define PROTECTED 416
367 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
368 typedef union YYSTYPE
369 #line 970 "/Users/echristo/sources/llvm/lib/AsmParser/llvmAsmParser.y"
371 llvm::Module *ModuleVal;
372 llvm::Function *FunctionVal;
373 llvm::BasicBlock *BasicBlockVal;
374 llvm::TerminatorInst *TermInstVal;
375 llvm::Instruction *InstVal;
376 llvm::Constant *ConstVal;
378 const llvm::Type *PrimType;
379 std::list<llvm::PATypeHolder> *TypeList;
380 llvm::PATypeHolder *TypeVal;
381 llvm::Value *ValueVal;
382 std::vector<llvm::Value*> *ValueList;
383 std::vector<unsigned> *ConstantList;
384 llvm::ArgListType *ArgList;
385 llvm::TypeWithAttrs TypeWithAttrs;
386 llvm::TypeWithAttrsList *TypeWithAttrsList;
387 llvm::ParamList *ParamList;
389 // Represent the RHS of PHI node
390 std::list<std::pair<llvm::Value*,
391 llvm::BasicBlock*> > *PHIList;
392 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
393 std::vector<llvm::Constant*> *ConstVector;
395 llvm::GlobalValue::LinkageTypes Linkage;
396 llvm::GlobalValue::VisibilityTypes Visibility;
397 llvm::Attributes ParamAttrs;
398 llvm::APInt *APIntVal;
403 llvm::APFloat *FPVal;
406 std::string *StrVal; // This memory must be deleted
407 llvm::ValID ValIDVal;
409 llvm::Instruction::BinaryOps BinaryOpVal;
410 llvm::Instruction::TermOps TermOpVal;
411 llvm::Instruction::MemoryOps MemOpVal;
412 llvm::Instruction::CastOps CastOpVal;
413 llvm::Instruction::OtherOps OtherOpVal;
414 llvm::ICmpInst::Predicate IPredicate;
415 llvm::FCmpInst::Predicate FPredicate;
417 /* Line 1529 of yacc.c. */
418 #line 419 "llvmAsmParser.tab.h"
420 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
421 # define YYSTYPE_IS_DECLARED 1
422 # define YYSTYPE_IS_TRIVIAL 1
425 extern YYSTYPE llvmAsmlval;