-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,
+ 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,
+ OPAQUE = 304,
+ EXTERNAL = 305,
+ TARGET = 306,
+ TRIPLE = 307,
+ ALIGN = 308,
+ ADDRSPACE = 309,
+ DEPLIBS = 310,
+ CALL = 311,
+ TAIL = 312,
+ ASM_TOK = 313,
+ MODULE = 314,
+ SIDEEFFECT = 315,
+ CC_TOK = 316,
+ CCC_TOK = 317,
+ FASTCC_TOK = 318,
+ COLDCC_TOK = 319,
+ X86_STDCALLCC_TOK = 320,
+ X86_FASTCALLCC_TOK = 321,
+ DATALAYOUT = 322,
+ RET = 323,
+ BR = 324,
+ SWITCH = 325,
+ INVOKE = 326,
+ UNWIND = 327,
+ UNREACHABLE = 328,
+ ADD = 329,
+ SUB = 330,
+ MUL = 331,
+ UDIV = 332,
+ SDIV = 333,
+ FDIV = 334,
+ UREM = 335,
+ SREM = 336,
+ FREM = 337,
+ AND = 338,
+ OR = 339,
+ XOR = 340,
+ SHL = 341,
+ LSHR = 342,
+ ASHR = 343,
+ ICMP = 344,
+ FCMP = 345,
+ EQ = 346,
+ NE = 347,
+ SLT = 348,
+ SGT = 349,
+ SLE = 350,
+ SGE = 351,
+ ULT = 352,
+ UGT = 353,
+ ULE = 354,
+ UGE = 355,
+ OEQ = 356,
+ ONE = 357,
+ OLT = 358,
+ OGT = 359,
+ OLE = 360,
+ OGE = 361,
+ ORD = 362,
+ UNO = 363,
+ UEQ = 364,
+ UNE = 365,
+ MALLOC = 366,
+ ALLOCA = 367,
+ FREE = 368,
+ LOAD = 369,
+ STORE = 370,
+ GETELEMENTPTR = 371,
+ TRUNC = 372,
+ ZEXT = 373,
+ SEXT = 374,
+ FPTRUNC = 375,
+ FPEXT = 376,
+ BITCAST = 377,
+ UITOFP = 378,
+ SITOFP = 379,
+ FPTOUI = 380,
+ FPTOSI = 381,
+ INTTOPTR = 382,
+ PTRTOINT = 383,
+ PHI_TOK = 384,
+ SELECT = 385,
+ VAARG = 386,
+ EXTRACTELEMENT = 387,
+ INSERTELEMENT = 388,
+ SHUFFLEVECTOR = 389,
+ GETRESULT = 390,
+ SIGNEXT = 391,
+ ZEROEXT = 392,
+ NORETURN = 393,
+ INREG = 394,
+ SRET = 395,
+ NOUNWIND = 396,
+ NOALIAS = 397,
+ BYVAL = 398,
+ NEST = 399,
+ READNONE = 400,
+ READONLY = 401,
+ GC = 402,
+ DEFAULT = 403,
+ HIDDEN = 404,
+ PROTECTED = 405
+ };
+#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 OPAQUE 304
+#define EXTERNAL 305
+#define TARGET 306
+#define TRIPLE 307
+#define ALIGN 308
+#define ADDRSPACE 309
+#define DEPLIBS 310
+#define CALL 311
+#define TAIL 312
+#define ASM_TOK 313
+#define MODULE 314
+#define SIDEEFFECT 315
+#define CC_TOK 316
+#define CCC_TOK 317
+#define FASTCC_TOK 318
+#define COLDCC_TOK 319
+#define X86_STDCALLCC_TOK 320
+#define X86_FASTCALLCC_TOK 321
+#define DATALAYOUT 322
+#define RET 323
+#define BR 324
+#define SWITCH 325
+#define INVOKE 326
+#define UNWIND 327
+#define UNREACHABLE 328
+#define ADD 329
+#define SUB 330
+#define MUL 331
+#define UDIV 332
+#define SDIV 333
+#define FDIV 334
+#define UREM 335
+#define SREM 336
+#define FREM 337
+#define AND 338
+#define OR 339
+#define XOR 340
+#define SHL 341
+#define LSHR 342
+#define ASHR 343
+#define ICMP 344
+#define FCMP 345
+#define EQ 346
+#define NE 347
+#define SLT 348
+#define SGT 349
+#define SLE 350
+#define SGE 351
+#define ULT 352
+#define UGT 353
+#define ULE 354
+#define UGE 355
+#define OEQ 356
+#define ONE 357
+#define OLT 358
+#define OGT 359
+#define OLE 360
+#define OGE 361
+#define ORD 362
+#define UNO 363
+#define UEQ 364
+#define UNE 365
+#define MALLOC 366
+#define ALLOCA 367
+#define FREE 368
+#define LOAD 369
+#define STORE 370
+#define GETELEMENTPTR 371
+#define TRUNC 372
+#define ZEXT 373
+#define SEXT 374
+#define FPTRUNC 375
+#define FPEXT 376
+#define BITCAST 377
+#define UITOFP 378
+#define SITOFP 379
+#define FPTOUI 380
+#define FPTOSI 381
+#define INTTOPTR 382
+#define PTRTOINT 383
+#define PHI_TOK 384
+#define SELECT 385
+#define VAARG 386
+#define EXTRACTELEMENT 387
+#define INSERTELEMENT 388
+#define SHUFFLEVECTOR 389
+#define GETRESULT 390
+#define SIGNEXT 391
+#define ZEROEXT 392
+#define NORETURN 393
+#define INREG 394
+#define SRET 395
+#define NOUNWIND 396
+#define NOALIAS 397
+#define BYVAL 398
+#define NEST 399
+#define READNONE 400
+#define READONLY 401
+#define GC 402
+#define DEFAULT 403
+#define HIDDEN 404
+#define PROTECTED 405
+
+
+
+
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+typedef union YYSTYPE
+#line 953 "/Volumes/Nanpura/mrv/llvm/lib/AsmParser/llvmAsmParser.y"
+{
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
llvm::BasicBlock *BasicBlockVal;
llvm::ArgListType *ArgList;
llvm::TypeWithAttrs TypeWithAttrs;
llvm::TypeWithAttrsList *TypeWithAttrsList;
- llvm::ValueRefList *ValueRefList;
+ llvm::ParamList *ParamList;
// Represent the RHS of PHI node
std::list<std::pair<llvm::Value*,
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
- llvm::FunctionType::ParameterAttributes ParamAttrs;
+ llvm::ParameterAttributes ParamAttrs;
+ llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
int SIntVal;
unsigned UIntVal;
- double FPVal;
+ llvm::APFloat *FPVal;
bool BoolVal;
- char *StrVal; // This memory is strdup'd!
- llvm::ValID ValIDVal; // strdup'd memory maybe!
+ 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::Module::Endianness Endianness;
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
-} YYSTYPE;
-#define ESINT64VAL 257
-#define EUINT64VAL 258
-#define SINTVAL 259
-#define UINTVAL 260
-#define FPVAL 261
-#define VOID 262
-#define INTTYPE 263
-#define FLOAT 264
-#define DOUBLE 265
-#define LABEL 266
-#define TYPE 267
-#define VAR_ID 268
-#define LABELSTR 269
-#define STRINGCONSTANT 270
-#define IMPLEMENTATION 271
-#define ZEROINITIALIZER 272
-#define TRUETOK 273
-#define FALSETOK 274
-#define BEGINTOK 275
-#define ENDTOK 276
-#define DECLARE 277
-#define DEFINE 278
-#define GLOBAL 279
-#define CONSTANT 280
-#define SECTION 281
-#define VOLATILE 282
-#define TO 283
-#define DOTDOTDOT 284
-#define NULL_TOK 285
-#define UNDEF 286
-#define INTERNAL 287
-#define LINKONCE 288
-#define WEAK 289
-#define APPENDING 290
-#define DLLIMPORT 291
-#define DLLEXPORT 292
-#define EXTERN_WEAK 293
-#define OPAQUE 294
-#define EXTERNAL 295
-#define TARGET 296
-#define TRIPLE 297
-#define ENDIAN 298
-#define POINTERSIZE 299
-#define LITTLE 300
-#define BIG 301
-#define ALIGN 302
-#define DEPLIBS 303
-#define CALL 304
-#define TAIL 305
-#define ASM_TOK 306
-#define MODULE 307
-#define SIDEEFFECT 308
-#define CC_TOK 309
-#define CCC_TOK 310
-#define CSRETCC_TOK 311
-#define FASTCC_TOK 312
-#define COLDCC_TOK 313
-#define X86_STDCALLCC_TOK 314
-#define X86_FASTCALLCC_TOK 315
-#define DATALAYOUT 316
-#define RET 317
-#define BR 318
-#define SWITCH 319
-#define INVOKE 320
-#define UNWIND 321
-#define UNREACHABLE 322
-#define ADD 323
-#define SUB 324
-#define MUL 325
-#define UDIV 326
-#define SDIV 327
-#define FDIV 328
-#define UREM 329
-#define SREM 330
-#define FREM 331
-#define AND 332
-#define OR 333
-#define XOR 334
-#define ICMP 335
-#define FCMP 336
-#define EQ 337
-#define NE 338
-#define SLT 339
-#define SGT 340
-#define SLE 341
-#define SGE 342
-#define ULT 343
-#define UGT 344
-#define ULE 345
-#define UGE 346
-#define OEQ 347
-#define ONE 348
-#define OLT 349
-#define OGT 350
-#define OLE 351
-#define OGE 352
-#define ORD 353
-#define UNO 354
-#define UEQ 355
-#define UNE 356
-#define MALLOC 357
-#define ALLOCA 358
-#define FREE 359
-#define LOAD 360
-#define STORE 361
-#define GETELEMENTPTR 362
-#define TRUNC 363
-#define ZEXT 364
-#define SEXT 365
-#define FPTRUNC 366
-#define FPEXT 367
-#define BITCAST 368
-#define UITOFP 369
-#define SITOFP 370
-#define FPTOUI 371
-#define FPTOSI 372
-#define INTTOPTR 373
-#define PTRTOINT 374
-#define PHI_TOK 375
-#define SELECT 376
-#define SHL 377
-#define LSHR 378
-#define ASHR 379
-#define VAARG 380
-#define EXTRACTELEMENT 381
-#define INSERTELEMENT 382
-#define SHUFFLEVECTOR 383
-#define NORETURN 384
-#define DEFAULT 385
-#define HIDDEN 386
-
+}
+/* Line 1529 of yacc.c. */
+#line 396 "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;
+