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 *TypeList; llvm::PATypeHolder *TypeVal; llvm::Value *ValueVal; std::vector *ValueList; llvm::ArgListType *ArgList; llvm::TypeWithAttrs TypeWithAttrs; llvm::TypeWithAttrsList *TypeWithAttrsList; llvm::ParamList *ParamList; // Represent the RHS of PHI node std::list > *PHIList; std::vector > *JumpTable; std::vector *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 ADDRSPACE 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 FASTCC_TOK 317 #define COLDCC_TOK 318 #define X86_STDCALLCC_TOK 319 #define X86_FASTCALLCC_TOK 320 #define DATALAYOUT 321 #define RET 322 #define BR 323 #define SWITCH 324 #define INVOKE 325 #define UNWIND 326 #define UNREACHABLE 327 #define ADD 328 #define SUB 329 #define MUL 330 #define UDIV 331 #define SDIV 332 #define FDIV 333 #define UREM 334 #define SREM 335 #define FREM 336 #define AND 337 #define OR 338 #define XOR 339 #define SHL 340 #define LSHR 341 #define ASHR 342 #define ICMP 343 #define FCMP 344 #define EQ 345 #define NE 346 #define SLT 347 #define SGT 348 #define SLE 349 #define SGE 350 #define ULT 351 #define UGT 352 #define ULE 353 #define UGE 354 #define OEQ 355 #define ONE 356 #define OLT 357 #define OGT 358 #define OLE 359 #define OGE 360 #define ORD 361 #define UNO 362 #define UEQ 363 #define UNE 364 #define MALLOC 365 #define ALLOCA 366 #define FREE 367 #define LOAD 368 #define STORE 369 #define GETELEMENTPTR 370 #define TRUNC 371 #define ZEXT 372 #define SEXT 373 #define FPTRUNC 374 #define FPEXT 375 #define BITCAST 376 #define UITOFP 377 #define SITOFP 378 #define FPTOUI 379 #define FPTOSI 380 #define INTTOPTR 381 #define PTRTOINT 382 #define PHI_TOK 383 #define SELECT 384 #define VAARG 385 #define EXTRACTELEMENT 386 #define INSERTELEMENT 387 #define SHUFFLEVECTOR 388 #define SIGNEXT 389 #define ZEROEXT 390 #define NORETURN 391 #define INREG 392 #define SRET 393 #define NOUNWIND 394 #define NOALIAS 395 #define BYVAL 396 #define NEST 397 #define READNONE 398 #define READONLY 399 #define GC 400 #define DEFAULT 401 #define HIDDEN 402 #define PROTECTED 403 extern YYSTYPE llvmAsmlval;