| /* A Bison parser, made by GNU Bison 2.3. */ |
| |
| /* Skeleton interface for Bison's Yacc-like parsers in C |
| |
| Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 |
| Free Software Foundation, Inc. |
| |
| This program is free software; you can redistribute it and/or modify |
| it under the terms of the GNU General Public License as published by |
| the Free Software Foundation; either version 2, or (at your option) |
| any later version. |
| |
| This program is distributed in the hope that it will be useful, |
| but WITHOUT ANY WARRANTY; without even the implied warranty of |
| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| GNU General Public License for more details. |
| |
| You should have received a copy of the GNU General Public License |
| along with this program; if not, write to the Free Software |
| Foundation, Inc., 51 Franklin Street, Fifth Floor, |
| Boston, MA 02110-1301, USA. */ |
| |
| /* As a special exception, you may create a larger work that contains |
| part or all of the Bison parser skeleton and distribute that work |
| under terms of your choice, so long as that work isn't itself a |
| parser generator using the skeleton or a modified version thereof |
| as a parser skeleton. Alternatively, if you modify or redistribute |
| the parser skeleton itself, you may (at your option) remove this |
| special exception, which will cause the skeleton and the resulting |
| Bison output files to be licensed under the GNU General Public |
| License without this special exception. |
| |
| This special exception was added by the Free Software Foundation in |
| version 2.2 of Bison. */ |
| |
| /* Tokens. */ |
| #ifndef YYTOKENTYPE |
| # define YYTOKENTYPE |
| /* Put the tokens into the symbol table, so that GDB and other debuggers |
| know about them. */ |
| enum yytokentype { |
| ESINT64VAL = 258, |
| EUINT64VAL = 259, |
| ESAPINTVAL = 260, |
| EUAPINTVAL = 261, |
| LOCALVAL_ID = 262, |
| GLOBALVAL_ID = 263, |
| FPVAL = 264, |
| VOID = 265, |
| INTTYPE = 266, |
| FLOAT = 267, |
| DOUBLE = 268, |
| X86_FP80 = 269, |
| FP128 = 270, |
| PPC_FP128 = 271, |
| LABEL = 272, |
| TYPE = 273, |
| LOCALVAR = 274, |
| GLOBALVAR = 275, |
| LABELSTR = 276, |
| STRINGCONSTANT = 277, |
| ATSTRINGCONSTANT = 278, |
| PCTSTRINGCONSTANT = 279, |
| ZEROINITIALIZER = 280, |
| TRUETOK = 281, |
| FALSETOK = 282, |
| BEGINTOK = 283, |
| ENDTOK = 284, |
| DECLARE = 285, |
| DEFINE = 286, |
| GLOBAL = 287, |
| CONSTANT = 288, |
| SECTION = 289, |
| ALIAS = 290, |
| VOLATILE = 291, |
| THREAD_LOCAL = 292, |
| TO = 293, |
| DOTDOTDOT = 294, |
| NULL_TOK = 295, |
| UNDEF = 296, |
| INTERNAL = 297, |
| LINKONCE = 298, |
| WEAK = 299, |
| APPENDING = 300, |
| DLLIMPORT = 301, |
| DLLEXPORT = 302, |
| EXTERN_WEAK = 303, |
| COMMON = 304, |
| OPAQUE = 305, |
| EXTERNAL = 306, |
| TARGET = 307, |
| TRIPLE = 308, |
| ALIGN = 309, |
| ADDRSPACE = 310, |
| DEPLIBS = 311, |
| CALL = 312, |
| TAIL = 313, |
| ASM_TOK = 314, |
| MODULE = 315, |
| SIDEEFFECT = 316, |
| CC_TOK = 317, |
| CCC_TOK = 318, |
| FASTCC_TOK = 319, |
| COLDCC_TOK = 320, |
| X86_STDCALLCC_TOK = 321, |
| X86_FASTCALLCC_TOK = 322, |
| X86_SSECALLCC_TOK = 323, |
| DATALAYOUT = 324, |
| RET = 325, |
| BR = 326, |
| SWITCH = 327, |
| INVOKE = 328, |
| UNWIND = 329, |
| UNREACHABLE = 330, |
| ADD = 331, |
| SUB = 332, |
| MUL = 333, |
| UDIV = 334, |
| SDIV = 335, |
| FDIV = 336, |
| UREM = 337, |
| SREM = 338, |
| FREM = 339, |
| AND = 340, |
| OR = 341, |
| XOR = 342, |
| SHL = 343, |
| LSHR = 344, |
| ASHR = 345, |
| ICMP = 346, |
| FCMP = 347, |
| VICMP = 348, |
| VFCMP = 349, |
| EQ = 350, |
| NE = 351, |
| SLT = 352, |
| SGT = 353, |
| SLE = 354, |
| SGE = 355, |
| ULT = 356, |
| UGT = 357, |
| ULE = 358, |
| UGE = 359, |
| OEQ = 360, |
| ONE = 361, |
| OLT = 362, |
| OGT = 363, |
| OLE = 364, |
| OGE = 365, |
| ORD = 366, |
| UNO = 367, |
| UEQ = 368, |
| UNE = 369, |
| MALLOC = 370, |
| ALLOCA = 371, |
| FREE = 372, |
| LOAD = 373, |
| STORE = 374, |
| GETELEMENTPTR = 375, |
| TRUNC = 376, |
| ZEXT = 377, |
| SEXT = 378, |
| FPTRUNC = 379, |
| FPEXT = 380, |
| BITCAST = 381, |
| UITOFP = 382, |
| SITOFP = 383, |
| FPTOUI = 384, |
| FPTOSI = 385, |
| INTTOPTR = 386, |
| PTRTOINT = 387, |
| PHI_TOK = 388, |
| SELECT = 389, |
| VAARG = 390, |
| EXTRACTELEMENT = 391, |
| INSERTELEMENT = 392, |
| SHUFFLEVECTOR = 393, |
| GETRESULT = 394, |
| EXTRACTVALUE = 395, |
| INSERTVALUE = 396, |
| SIGNEXT = 397, |
| ZEROEXT = 398, |
| NORETURN = 399, |
| INREG = 400, |
| SRET = 401, |
| NOUNWIND = 402, |
| NOALIAS = 403, |
| BYVAL = 404, |
| NEST = 405, |
| READNONE = 406, |
| READONLY = 407, |
| GC = 408, |
| FNNOTE = 409, |
| INLINE = 410, |
| ALWAYS = 411, |
| NEVER = 412, |
| OPTIMIZEFORSIZE = 413, |
| DEFAULT = 414, |
| HIDDEN = 415, |
| PROTECTED = 416 |
| }; |
| #endif |
| /* Tokens. */ |
| #define ESINT64VAL 258 |
| #define EUINT64VAL 259 |
| #define ESAPINTVAL 260 |
| #define EUAPINTVAL 261 |
| #define LOCALVAL_ID 262 |
| #define GLOBALVAL_ID 263 |
| #define FPVAL 264 |
| #define VOID 265 |
| #define INTTYPE 266 |
| #define FLOAT 267 |
| #define DOUBLE 268 |
| #define X86_FP80 269 |
| #define FP128 270 |
| #define PPC_FP128 271 |
| #define LABEL 272 |
| #define TYPE 273 |
| #define LOCALVAR 274 |
| #define GLOBALVAR 275 |
| #define LABELSTR 276 |
| #define STRINGCONSTANT 277 |
| #define ATSTRINGCONSTANT 278 |
| #define PCTSTRINGCONSTANT 279 |
| #define ZEROINITIALIZER 280 |
| #define TRUETOK 281 |
| #define FALSETOK 282 |
| #define BEGINTOK 283 |
| #define ENDTOK 284 |
| #define DECLARE 285 |
| #define DEFINE 286 |
| #define GLOBAL 287 |
| #define CONSTANT 288 |
| #define SECTION 289 |
| #define ALIAS 290 |
| #define VOLATILE 291 |
| #define THREAD_LOCAL 292 |
| #define TO 293 |
| #define DOTDOTDOT 294 |
| #define NULL_TOK 295 |
| #define UNDEF 296 |
| #define INTERNAL 297 |
| #define LINKONCE 298 |
| #define WEAK 299 |
| #define APPENDING 300 |
| #define DLLIMPORT 301 |
| #define DLLEXPORT 302 |
| #define EXTERN_WEAK 303 |
| #define COMMON 304 |
| #define OPAQUE 305 |
| #define EXTERNAL 306 |
| #define TARGET 307 |
| #define TRIPLE 308 |
| #define ALIGN 309 |
| #define ADDRSPACE 310 |
| #define DEPLIBS 311 |
| #define CALL 312 |
| #define TAIL 313 |
| #define ASM_TOK 314 |
| #define MODULE 315 |
| #define SIDEEFFECT 316 |
| #define CC_TOK 317 |
| #define CCC_TOK 318 |
| #define FASTCC_TOK 319 |
| #define COLDCC_TOK 320 |
| #define X86_STDCALLCC_TOK 321 |
| #define X86_FASTCALLCC_TOK 322 |
| #define X86_SSECALLCC_TOK 323 |
| #define DATALAYOUT 324 |
| #define RET 325 |
| #define BR 326 |
| #define SWITCH 327 |
| #define INVOKE 328 |
| #define UNWIND 329 |
| #define UNREACHABLE 330 |
| #define ADD 331 |
| #define SUB 332 |
| #define MUL 333 |
| #define UDIV 334 |
| #define SDIV 335 |
| #define FDIV 336 |
| #define UREM 337 |
| #define SREM 338 |
| #define FREM 339 |
| #define AND 340 |
| #define OR 341 |
| #define XOR 342 |
| #define SHL 343 |
| #define LSHR 344 |
| #define ASHR 345 |
| #define ICMP 346 |
| #define FCMP 347 |
| #define VICMP 348 |
| #define VFCMP 349 |
| #define EQ 350 |
| #define NE 351 |
| #define SLT 352 |
| #define SGT 353 |
| #define SLE 354 |
| #define SGE 355 |
| #define ULT 356 |
| #define UGT 357 |
| #define ULE 358 |
| #define UGE 359 |
| #define OEQ 360 |
| #define ONE 361 |
| #define OLT 362 |
| #define OGT 363 |
| #define OLE 364 |
| #define OGE 365 |
| #define ORD 366 |
| #define UNO 367 |
| #define UEQ 368 |
| #define UNE 369 |
| #define MALLOC 370 |
| #define ALLOCA 371 |
| #define FREE 372 |
| #define LOAD 373 |
| #define STORE 374 |
| #define GETELEMENTPTR 375 |
| #define TRUNC 376 |
| #define ZEXT 377 |
| #define SEXT 378 |
| #define FPTRUNC 379 |
| #define FPEXT 380 |
| #define BITCAST 381 |
| #define UITOFP 382 |
| #define SITOFP 383 |
| #define FPTOUI 384 |
| #define FPTOSI 385 |
| #define INTTOPTR 386 |
| #define PTRTOINT 387 |
| #define PHI_TOK 388 |
| #define SELECT 389 |
| #define VAARG 390 |
| #define EXTRACTELEMENT 391 |
| #define INSERTELEMENT 392 |
| #define SHUFFLEVECTOR 393 |
| #define GETRESULT 394 |
| #define EXTRACTVALUE 395 |
| #define INSERTVALUE 396 |
| #define SIGNEXT 397 |
| #define ZEROEXT 398 |
| #define NORETURN 399 |
| #define INREG 400 |
| #define SRET 401 |
| #define NOUNWIND 402 |
| #define NOALIAS 403 |
| #define BYVAL 404 |
| #define NEST 405 |
| #define READNONE 406 |
| #define READONLY 407 |
| #define GC 408 |
| #define FNNOTE 409 |
| #define INLINE 410 |
| #define ALWAYS 411 |
| #define NEVER 412 |
| #define OPTIMIZEFORSIZE 413 |
| #define DEFAULT 414 |
| #define HIDDEN 415 |
| #define PROTECTED 416 |
| |
| |
| |
| |
| #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED |
| typedef union YYSTYPE |
| #line 970 "/Users/echristo/sources/llvm/lib/AsmParser/llvmAsmParser.y" |
| { |
| llvm::Module *ModuleVal; |
| llvm::Function *FunctionVal; |
| llvm::BasicBlock *BasicBlockVal; |
| llvm::TerminatorInst *TermInstVal; |
| llvm::Instruction *InstVal; |
| llvm::Constant *ConstVal; |
| |
| const llvm::Type *PrimType; |
| std::list<llvm::PATypeHolder> *TypeList; |
| llvm::PATypeHolder *TypeVal; |
| llvm::Value *ValueVal; |
| std::vector<llvm::Value*> *ValueList; |
| std::vector<unsigned> *ConstantList; |
| llvm::ArgListType *ArgList; |
| llvm::TypeWithAttrs TypeWithAttrs; |
| llvm::TypeWithAttrsList *TypeWithAttrsList; |
| llvm::ParamList *ParamList; |
| |
| // Represent the RHS of PHI node |
| std::list<std::pair<llvm::Value*, |
| llvm::BasicBlock*> > *PHIList; |
| std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable; |
| std::vector<llvm::Constant*> *ConstVector; |
| |
| llvm::GlobalValue::LinkageTypes Linkage; |
| llvm::GlobalValue::VisibilityTypes Visibility; |
| llvm::Attributes ParamAttrs; |
| llvm::APInt *APIntVal; |
| int64_t SInt64Val; |
| uint64_t UInt64Val; |
| int SIntVal; |
| unsigned UIntVal; |
| llvm::APFloat *FPVal; |
| bool BoolVal; |
| |
| std::string *StrVal; // This memory must be deleted |
| llvm::ValID ValIDVal; |
| |
| llvm::Instruction::BinaryOps BinaryOpVal; |
| llvm::Instruction::TermOps TermOpVal; |
| llvm::Instruction::MemoryOps MemOpVal; |
| llvm::Instruction::CastOps CastOpVal; |
| llvm::Instruction::OtherOps OtherOpVal; |
| llvm::ICmpInst::Predicate IPredicate; |
| llvm::FCmpInst::Predicate FPredicate; |
| } |
| /* Line 1529 of yacc.c. */ |
| #line 419 "llvmAsmParser.tab.h" |
| YYSTYPE; |
| # define yystype YYSTYPE /* obsolescent; will be withdrawn */ |
| # define YYSTYPE_IS_DECLARED 1 |
| # define YYSTYPE_IS_TRIVIAL 1 |
| #endif |
| |
| extern YYSTYPE llvmAsmlval; |
| |