-/* A Bison parser, made by GNU Bison 2.1. */
-
-/* Skeleton parser for Yacc-like parsing with Bison,
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005 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, when this file is copied by Bison into a
- Bison output file, you may use that output file without restriction.
- This special exception was added by the Free Software Foundation
- in version 1.24 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,
- VOLATILE = 286,
- TO = 287,
- DOTDOTDOT = 288,
- NULL_TOK = 289,
- UNDEF = 290,
- INTERNAL = 291,
- LINKONCE = 292,
- WEAK = 293,
- APPENDING = 294,
- DLLIMPORT = 295,
- DLLEXPORT = 296,
- EXTERN_WEAK = 297,
- OPAQUE = 298,
- EXTERNAL = 299,
- TARGET = 300,
- TRIPLE = 301,
- ALIGN = 302,
- DEPLIBS = 303,
- CALL = 304,
- TAIL = 305,
- ASM_TOK = 306,
- MODULE = 307,
- SIDEEFFECT = 308,
- CC_TOK = 309,
- CCC_TOK = 310,
- FASTCC_TOK = 311,
- COLDCC_TOK = 312,
- X86_STDCALLCC_TOK = 313,
- X86_FASTCALLCC_TOK = 314,
- DATALAYOUT = 315,
- RET = 316,
- BR = 317,
- SWITCH = 318,
- INVOKE = 319,
- UNWIND = 320,
- UNREACHABLE = 321,
- ADD = 322,
- SUB = 323,
- MUL = 324,
- UDIV = 325,
- SDIV = 326,
- FDIV = 327,
- UREM = 328,
- SREM = 329,
- FREM = 330,
- AND = 331,
- OR = 332,
- XOR = 333,
- SHL = 334,
- LSHR = 335,
- ASHR = 336,
- ICMP = 337,
- FCMP = 338,
- EQ = 339,
- NE = 340,
- SLT = 341,
- SGT = 342,
- SLE = 343,
- SGE = 344,
- ULT = 345,
- UGT = 346,
- ULE = 347,
- UGE = 348,
- OEQ = 349,
- ONE = 350,
- OLT = 351,
- OGT = 352,
- OLE = 353,
- OGE = 354,
- ORD = 355,
- UNO = 356,
- UEQ = 357,
- UNE = 358,
- MALLOC = 359,
- ALLOCA = 360,
- FREE = 361,
- LOAD = 362,
- STORE = 363,
- GETELEMENTPTR = 364,
- TRUNC = 365,
- ZEXT = 366,
- SEXT = 367,
- FPTRUNC = 368,
- FPEXT = 369,
- BITCAST = 370,
- UITOFP = 371,
- SITOFP = 372,
- FPTOUI = 373,
- FPTOSI = 374,
- INTTOPTR = 375,
- PTRTOINT = 376,
- PHI_TOK = 377,
- SELECT = 378,
- VAARG = 379,
- EXTRACTELEMENT = 380,
- INSERTELEMENT = 381,
- SHUFFLEVECTOR = 382,
- NORETURN = 383,
- INREG = 384,
- SRET = 385,
- NOUNWIND = 386,
- DEFAULT = 387,
- HIDDEN = 388
- };
-#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 VOLATILE 286
-#define TO 287
-#define DOTDOTDOT 288
-#define NULL_TOK 289
-#define UNDEF 290
-#define INTERNAL 291
-#define LINKONCE 292
-#define WEAK 293
-#define APPENDING 294
-#define DLLIMPORT 295
-#define DLLEXPORT 296
-#define EXTERN_WEAK 297
-#define OPAQUE 298
-#define EXTERNAL 299
-#define TARGET 300
-#define TRIPLE 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 FASTCC_TOK 311
-#define COLDCC_TOK 312
-#define X86_STDCALLCC_TOK 313
-#define X86_FASTCALLCC_TOK 314
-#define DATALAYOUT 315
-#define RET 316
-#define BR 317
-#define SWITCH 318
-#define INVOKE 319
-#define UNWIND 320
-#define UNREACHABLE 321
-#define ADD 322
-#define SUB 323
-#define MUL 324
-#define UDIV 325
-#define SDIV 326
-#define FDIV 327
-#define UREM 328
-#define SREM 329
-#define FREM 330
-#define AND 331
-#define OR 332
-#define XOR 333
-#define SHL 334
-#define LSHR 335
-#define ASHR 336
-#define ICMP 337
-#define FCMP 338
-#define EQ 339
-#define NE 340
-#define SLT 341
-#define SGT 342
-#define SLE 343
-#define SGE 344
-#define ULT 345
-#define UGT 346
-#define ULE 347
-#define UGE 348
-#define OEQ 349
-#define ONE 350
-#define OLT 351
-#define OGT 352
-#define OLE 353
-#define OGE 354
-#define ORD 355
-#define UNO 356
-#define UEQ 357
-#define UNE 358
-#define MALLOC 359
-#define ALLOCA 360
-#define FREE 361
-#define LOAD 362
-#define STORE 363
-#define GETELEMENTPTR 364
-#define TRUNC 365
-#define ZEXT 366
-#define SEXT 367
-#define FPTRUNC 368
-#define FPEXT 369
-#define BITCAST 370
-#define UITOFP 371
-#define SITOFP 372
-#define FPTOUI 373
-#define FPTOSI 374
-#define INTTOPTR 375
-#define PTRTOINT 376
-#define PHI_TOK 377
-#define SELECT 378
-#define VAARG 379
-#define EXTRACTELEMENT 380
-#define INSERTELEMENT 381
-#define SHUFFLEVECTOR 382
-#define NORETURN 383
-#define INREG 384
-#define SRET 385
-#define NOUNWIND 386
-#define DEFAULT 387
-#define HIDDEN 388
-
-
-
-
-#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
-#line 939 "/proj/llvm/llvm-4/lib/AsmParser/llvmAsmParser.y"
-typedef union YYSTYPE {
+typedef union {
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;
+ uint16_t 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::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
-/* Line 1447 of yacc.c. */
-#line 351 "llvmAsmParser.tab.h"
-# define yystype YYSTYPE /* obsolescent; will be withdrawn */
-# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
-#endif
-
-extern YYSTYPE llvmAsmlval;
-
+#define ESINT64VAL 257
+#define EUINT64VAL 258
+#define ESAPINTVAL 259
+#define EUAPINTVAL 260
+#define LOCALVAL_ID 261
+#define GLOBALVAL_ID 262
+#define FPVAL 263
+#define VOID 264
+#define INTTYPE 265
+#define FLOAT 266
+#define DOUBLE 267
+#define X86_FP80 268
+#define FP128 269
+#define PPC_FP128 270
+#define LABEL 271
+#define TYPE 272
+#define LOCALVAR 273
+#define GLOBALVAR 274
+#define LABELSTR 275
+#define STRINGCONSTANT 276
+#define ATSTRINGCONSTANT 277
+#define PCTSTRINGCONSTANT 278
+#define ZEROINITIALIZER 279
+#define TRUETOK 280
+#define FALSETOK 281
+#define BEGINTOK 282
+#define ENDTOK 283
+#define DECLARE 284
+#define DEFINE 285
+#define GLOBAL 286
+#define CONSTANT 287
+#define SECTION 288
+#define ALIAS 289
+#define VOLATILE 290
+#define THREAD_LOCAL 291
+#define TO 292
+#define DOTDOTDOT 293
+#define NULL_TOK 294
+#define UNDEF 295
+#define INTERNAL 296
+#define LINKONCE 297
+#define WEAK 298
+#define APPENDING 299
+#define DLLIMPORT 300
+#define DLLEXPORT 301
+#define EXTERN_WEAK 302
+#define OPAQUE 303
+#define EXTERNAL 304
+#define TARGET 305
+#define TRIPLE 306
+#define ALIGN 307
+#define DEPLIBS 308
+#define CALL 309
+#define TAIL 310
+#define ASM_TOK 311
+#define MODULE 312
+#define SIDEEFFECT 313
+#define CC_TOK 314
+#define CCC_TOK 315
+#define FASTCC_TOK 316
+#define COLDCC_TOK 317
+#define X86_STDCALLCC_TOK 318
+#define X86_FASTCALLCC_TOK 319
+#define DATALAYOUT 320
+#define RET 321
+#define BR 322
+#define SWITCH 323
+#define INVOKE 324
+#define UNWIND 325
+#define UNREACHABLE 326
+#define ADD 327
+#define SUB 328
+#define MUL 329
+#define UDIV 330
+#define SDIV 331
+#define FDIV 332
+#define UREM 333
+#define SREM 334
+#define FREM 335
+#define AND 336
+#define OR 337
+#define XOR 338
+#define SHL 339
+#define LSHR 340
+#define ASHR 341
+#define ICMP 342
+#define FCMP 343
+#define EQ 344
+#define NE 345
+#define SLT 346
+#define SGT 347
+#define SLE 348
+#define SGE 349
+#define ULT 350
+#define UGT 351
+#define ULE 352
+#define UGE 353
+#define OEQ 354
+#define ONE 355
+#define OLT 356
+#define OGT 357
+#define OLE 358
+#define OGE 359
+#define ORD 360
+#define UNO 361
+#define UEQ 362
+#define UNE 363
+#define MALLOC 364
+#define ALLOCA 365
+#define FREE 366
+#define LOAD 367
+#define STORE 368
+#define GETELEMENTPTR 369
+#define TRUNC 370
+#define ZEXT 371
+#define SEXT 372
+#define FPTRUNC 373
+#define FPEXT 374
+#define BITCAST 375
+#define UITOFP 376
+#define SITOFP 377
+#define FPTOUI 378
+#define FPTOSI 379
+#define INTTOPTR 380
+#define PTRTOINT 381
+#define PHI_TOK 382
+#define SELECT 383
+#define VAARG 384
+#define EXTRACTELEMENT 385
+#define INSERTELEMENT 386
+#define SHUFFLEVECTOR 387
+#define SIGNEXT 388
+#define ZEROEXT 389
+#define NORETURN 390
+#define INREG 391
+#define SRET 392
+#define NOUNWIND 393
+#define NOALIAS 394
+#define BYVAL 395
+#define NEST 396
+#define DEFAULT 397
+#define HIDDEN 398
+#define PROTECTED 399
+extern YYSTYPE llvmAsmlval;