blob: d6cf28d31e8a780f6df36a709cecf00afe1cabb7 [file] [log] [blame]
typedef union {
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;
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<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
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;
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;
} YYSTYPE;
#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;