-typedef union {
+/* 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,
+ LABEL = 269,
+ TYPE = 270,
+ LOCALVAR = 271,
+ GLOBALVAR = 272,
+ LABELSTR = 273,
+ STRINGCONSTANT = 274,
+ ATSTRINGCONSTANT = 275,
+ ZEROINITIALIZER = 276,
+ TRUETOK = 277,
+ FALSETOK = 278,
+ BEGINTOK = 279,
+ ENDTOK = 280,
+ DECLARE = 281,
+ DEFINE = 282,
+ GLOBAL = 283,
+ CONSTANT = 284,
+ SECTION = 285,
+ ALIAS = 286,
+ VOLATILE = 287,
+ THREAD_LOCAL = 288,
+ TO = 289,
+ DOTDOTDOT = 290,
+ NULL_TOK = 291,
+ UNDEF = 292,
+ INTERNAL = 293,
+ LINKONCE = 294,
+ WEAK = 295,
+ APPENDING = 296,
+ DLLIMPORT = 297,
+ DLLEXPORT = 298,
+ EXTERN_WEAK = 299,
+ OPAQUE = 300,
+ EXTERNAL = 301,
+ TARGET = 302,
+ TRIPLE = 303,
+ ALIGN = 304,
+ DEPLIBS = 305,
+ CALL = 306,
+ TAIL = 307,
+ ASM_TOK = 308,
+ MODULE = 309,
+ SIDEEFFECT = 310,
+ CC_TOK = 311,
+ CCC_TOK = 312,
+ FASTCC_TOK = 313,
+ COLDCC_TOK = 314,
+ X86_STDCALLCC_TOK = 315,
+ X86_FASTCALLCC_TOK = 316,
+ DATALAYOUT = 317,
+ RET = 318,
+ BR = 319,
+ SWITCH = 320,
+ INVOKE = 321,
+ UNWIND = 322,
+ UNREACHABLE = 323,
+ ADD = 324,
+ SUB = 325,
+ MUL = 326,
+ UDIV = 327,
+ SDIV = 328,
+ FDIV = 329,
+ UREM = 330,
+ SREM = 331,
+ FREM = 332,
+ AND = 333,
+ OR = 334,
+ XOR = 335,
+ SHL = 336,
+ LSHR = 337,
+ ASHR = 338,
+ ICMP = 339,
+ FCMP = 340,
+ EQ = 341,
+ NE = 342,
+ SLT = 343,
+ SGT = 344,
+ SLE = 345,
+ SGE = 346,
+ ULT = 347,
+ UGT = 348,
+ ULE = 349,
+ UGE = 350,
+ OEQ = 351,
+ ONE = 352,
+ OLT = 353,
+ OGT = 354,
+ OLE = 355,
+ OGE = 356,
+ ORD = 357,
+ UNO = 358,
+ UEQ = 359,
+ UNE = 360,
+ MALLOC = 361,
+ ALLOCA = 362,
+ FREE = 363,
+ LOAD = 364,
+ STORE = 365,
+ GETELEMENTPTR = 366,
+ TRUNC = 367,
+ ZEXT = 368,
+ SEXT = 369,
+ FPTRUNC = 370,
+ FPEXT = 371,
+ BITCAST = 372,
+ UITOFP = 373,
+ SITOFP = 374,
+ FPTOUI = 375,
+ FPTOSI = 376,
+ INTTOPTR = 377,
+ PTRTOINT = 378,
+ PHI_TOK = 379,
+ SELECT = 380,
+ VAARG = 381,
+ EXTRACTELEMENT = 382,
+ INSERTELEMENT = 383,
+ SHUFFLEVECTOR = 384,
+ NORETURN = 385,
+ INREG = 386,
+ SRET = 387,
+ NOUNWIND = 388,
+ DEFAULT = 389,
+ HIDDEN = 390
+ };
+#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 LABEL 269
+#define TYPE 270
+#define LOCALVAR 271
+#define GLOBALVAR 272
+#define LABELSTR 273
+#define STRINGCONSTANT 274
+#define ATSTRINGCONSTANT 275
+#define ZEROINITIALIZER 276
+#define TRUETOK 277
+#define FALSETOK 278
+#define BEGINTOK 279
+#define ENDTOK 280
+#define DECLARE 281
+#define DEFINE 282
+#define GLOBAL 283
+#define CONSTANT 284
+#define SECTION 285
+#define ALIAS 286
+#define VOLATILE 287
+#define THREAD_LOCAL 288
+#define TO 289
+#define DOTDOTDOT 290
+#define NULL_TOK 291
+#define UNDEF 292
+#define INTERNAL 293
+#define LINKONCE 294
+#define WEAK 295
+#define APPENDING 296
+#define DLLIMPORT 297
+#define DLLEXPORT 298
+#define EXTERN_WEAK 299
+#define OPAQUE 300
+#define EXTERNAL 301
+#define TARGET 302
+#define TRIPLE 303
+#define ALIGN 304
+#define DEPLIBS 305
+#define CALL 306
+#define TAIL 307
+#define ASM_TOK 308
+#define MODULE 309
+#define SIDEEFFECT 310
+#define CC_TOK 311
+#define CCC_TOK 312
+#define FASTCC_TOK 313
+#define COLDCC_TOK 314
+#define X86_STDCALLCC_TOK 315
+#define X86_FASTCALLCC_TOK 316
+#define DATALAYOUT 317
+#define RET 318
+#define BR 319
+#define SWITCH 320
+#define INVOKE 321
+#define UNWIND 322
+#define UNREACHABLE 323
+#define ADD 324
+#define SUB 325
+#define MUL 326
+#define UDIV 327
+#define SDIV 328
+#define FDIV 329
+#define UREM 330
+#define SREM 331
+#define FREM 332
+#define AND 333
+#define OR 334
+#define XOR 335
+#define SHL 336
+#define LSHR 337
+#define ASHR 338
+#define ICMP 339
+#define FCMP 340
+#define EQ 341
+#define NE 342
+#define SLT 343
+#define SGT 344
+#define SLE 345
+#define SGE 346
+#define ULT 347
+#define UGT 348
+#define ULE 349
+#define UGE 350
+#define OEQ 351
+#define ONE 352
+#define OLT 353
+#define OGT 354
+#define OLE 355
+#define OGE 356
+#define ORD 357
+#define UNO 358
+#define UEQ 359
+#define UNE 360
+#define MALLOC 361
+#define ALLOCA 362
+#define FREE 363
+#define LOAD 364
+#define STORE 365
+#define GETELEMENTPTR 366
+#define TRUNC 367
+#define ZEXT 368
+#define SEXT 369
+#define FPTRUNC 370
+#define FPEXT 371
+#define BITCAST 372
+#define UITOFP 373
+#define SITOFP 374
+#define FPTOUI 375
+#define FPTOSI 376
+#define INTTOPTR 377
+#define PTRTOINT 378
+#define PHI_TOK 379
+#define SELECT 380
+#define VAARG 381
+#define EXTRACTELEMENT 382
+#define INSERTELEMENT 383
+#define SHUFFLEVECTOR 384
+#define NORETURN 385
+#define INREG 386
+#define SRET 387
+#define NOUNWIND 388
+#define DEFAULT 389
+#define HIDDEN 390
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 938 "/home/asl/proj/llvm/src/lib/AsmParser/llvmAsmParser.y"
+{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
- std::pair<llvm::PATypeHolder*, char*> *ArgVal;
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<std::pair<llvm::PATypeHolder*,char*> > *ArgList;
std::vector<llvm::Value*> *ValueList;
- std::list<llvm::PATypeHolder> *TypeList;
+ llvm::ArgListType *ArgList;
+ llvm::TypeWithAttrs TypeWithAttrs;
+ llvm::TypeWithAttrsList *TypeWithAttrsList;
+ llvm::ValueRefList *ValueRefList;
+
// Represent the RHS of PHI node
std::list<std::pair<llvm::Value*,
llvm::BasicBlock*> > *PHIList;
std::vector<llvm::Constant*> *ConstVector;
llvm::GlobalValue::LinkageTypes Linkage;
+ llvm::GlobalValue::VisibilityTypes Visibility;
+ uint16_t ParamAttrs;
+ llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
int SIntVal;
bool BoolVal;
char *StrVal; // This memory is strdup'd!
- llvm::ValID ValIDVal; // strdup'd memory maybe!
-
- llvm::Instruction::BinaryOps BinaryOpVal;
- llvm::Instruction::TermOps TermOpVal;
- llvm::Instruction::MemoryOps MemOpVal;
- llvm::Instruction::OtherOps OtherOpVal;
- llvm::Module::Endianness Endianness;
-} YYSTYPE;
-#define ESINT64VAL 257
-#define EUINT64VAL 258
-#define SINTVAL 259
-#define UINTVAL 260
-#define FPVAL 261
-#define VOID 262
-#define BOOL 263
-#define SBYTE 264
-#define UBYTE 265
-#define SHORT 266
-#define USHORT 267
-#define INT 268
-#define UINT 269
-#define LONG 270
-#define ULONG 271
-#define FLOAT 272
-#define DOUBLE 273
-#define TYPE 274
-#define LABEL 275
-#define VAR_ID 276
-#define LABELSTR 277
-#define STRINGCONSTANT 278
-#define IMPLEMENTATION 279
-#define ZEROINITIALIZER 280
-#define TRUETOK 281
-#define FALSETOK 282
-#define BEGINTOK 283
-#define ENDTOK 284
-#define DECLARE 285
-#define GLOBAL 286
-#define CONSTANT 287
-#define SECTION 288
-#define VOLATILE 289
-#define TO 290
-#define DOTDOTDOT 291
-#define NULL_TOK 292
-#define UNDEF 293
-#define CONST 294
-#define INTERNAL 295
-#define LINKONCE 296
-#define WEAK 297
-#define APPENDING 298
-#define OPAQUE 299
-#define NOT 300
-#define EXTERNAL 301
-#define TARGET 302
-#define TRIPLE 303
-#define ENDIAN 304
-#define POINTERSIZE 305
-#define LITTLE 306
-#define BIG 307
-#define ALIGN 308
-#define DEPLIBS 309
-#define CALL 310
-#define TAIL 311
-#define ASM_TOK 312
-#define MODULE 313
-#define SIDEEFFECT 314
-#define CC_TOK 315
-#define CCC_TOK 316
-#define CSRETCC_TOK 317
-#define FASTCC_TOK 318
-#define COLDCC_TOK 319
-#define RET 320
-#define BR 321
-#define SWITCH 322
-#define INVOKE 323
-#define UNWIND 324
-#define UNREACHABLE 325
-#define ADD 326
-#define SUB 327
-#define MUL 328
-#define DIV 329
-#define REM 330
-#define AND 331
-#define OR 332
-#define XOR 333
-#define SETLE 334
-#define SETGE 335
-#define SETLT 336
-#define SETGT 337
-#define SETEQ 338
-#define SETNE 339
-#define MALLOC 340
-#define ALLOCA 341
-#define FREE 342
-#define LOAD 343
-#define STORE 344
-#define GETELEMENTPTR 345
-#define PHI_TOK 346
-#define CAST 347
-#define SELECT 348
-#define SHL 349
-#define SHR 350
-#define VAARG 351
-#define EXTRACTELEMENT 352
-#define INSERTELEMENT 353
-#define SHUFFLEVECTOR 354
-#define VAARG_old 355
-#define VANEXT_old 356
+ llvm::ValID ValIDVal; // strdup'd memory maybe!
+ 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 1489 of yacc.c. */
+#line 366 "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;
+