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::ValueRefList *ValueRefList; // 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; double FPVal; 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::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 LABEL 268 #define TYPE 269 #define LOCALVAR 270 #define GLOBALVAR 271 #define LABELSTR 272 #define STRINGCONSTANT 273 #define ATSTRINGCONSTANT 274 #define ZEROINITIALIZER 275 #define TRUETOK 276 #define FALSETOK 277 #define BEGINTOK 278 #define ENDTOK 279 #define DECLARE 280 #define DEFINE 281 #define GLOBAL 282 #define CONSTANT 283 #define SECTION 284 #define VOLATILE 285 #define THREAD_LOCAL 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 extern YYSTYPE llvmAsmlval;