Dale Johannesen | cdd509a | 2007-09-07 21:07:57 +0000 | [diff] [blame] | 1 | typedef union { |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 2 | llvm::Module *ModuleVal; |
| 3 | llvm::Function *FunctionVal; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 4 | llvm::BasicBlock *BasicBlockVal; |
| 5 | llvm::TerminatorInst *TermInstVal; |
| 6 | llvm::Instruction *InstVal; |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 7 | llvm::Constant *ConstVal; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 8 | |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 9 | const llvm::Type *PrimType; |
Reid Spencer | 1431061 | 2006-12-31 05:40:51 +0000 | [diff] [blame] | 10 | std::list<llvm::PATypeHolder> *TypeList; |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 11 | llvm::PATypeHolder *TypeVal; |
| 12 | llvm::Value *ValueVal; |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 13 | std::vector<llvm::Value*> *ValueList; |
Reid Spencer | 1431061 | 2006-12-31 05:40:51 +0000 | [diff] [blame] | 14 | llvm::ArgListType *ArgList; |
| 15 | llvm::TypeWithAttrs TypeWithAttrs; |
| 16 | llvm::TypeWithAttrsList *TypeWithAttrsList; |
Dale Johannesen | eb57ea7 | 2007-11-05 21:20:28 +0000 | [diff] [blame] | 17 | llvm::ParamList *ParamList; |
Reid Spencer | 1431061 | 2006-12-31 05:40:51 +0000 | [diff] [blame] | 18 | |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 19 | // Represent the RHS of PHI node |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 20 | std::list<std::pair<llvm::Value*, |
| 21 | llvm::BasicBlock*> > *PHIList; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 22 | std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable; |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 23 | std::vector<llvm::Constant*> *ConstVector; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 24 | |
| 25 | llvm::GlobalValue::LinkageTypes Linkage; |
Anton Korobeynikov | 178a352 | 2007-01-12 19:22:51 +0000 | [diff] [blame] | 26 | llvm::GlobalValue::VisibilityTypes Visibility; |
Reid Spencer | 7b5d466 | 2007-04-09 06:16:21 +0000 | [diff] [blame] | 27 | uint16_t ParamAttrs; |
Reid Spencer | 38c91a9 | 2007-02-28 02:24:54 +0000 | [diff] [blame] | 28 | llvm::APInt *APIntVal; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 29 | int64_t SInt64Val; |
| 30 | uint64_t UInt64Val; |
| 31 | int SIntVal; |
| 32 | unsigned UIntVal; |
Dale Johannesen | 43421b3 | 2007-09-06 18:13:44 +0000 | [diff] [blame] | 33 | llvm::APFloat *FPVal; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 34 | bool BoolVal; |
| 35 | |
Reid Spencer | 0a8a16b | 2007-05-22 18:52:55 +0000 | [diff] [blame] | 36 | std::string *StrVal; // This memory must be deleted |
| 37 | llvm::ValID ValIDVal; |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 38 | |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 39 | llvm::Instruction::BinaryOps BinaryOpVal; |
| 40 | llvm::Instruction::TermOps TermOpVal; |
| 41 | llvm::Instruction::MemoryOps MemOpVal; |
| 42 | llvm::Instruction::CastOps CastOpVal; |
| 43 | llvm::Instruction::OtherOps OtherOpVal; |
Reid Spencer | a132e04 | 2006-12-03 05:46:11 +0000 | [diff] [blame] | 44 | llvm::ICmpInst::Predicate IPredicate; |
| 45 | llvm::FCmpInst::Predicate FPredicate; |
Chris Lattner | 0275cff | 2007-08-06 21:00:46 +0000 | [diff] [blame] | 46 | } YYSTYPE; |
Dale Johannesen | cdd509a | 2007-09-07 21:07:57 +0000 | [diff] [blame] | 47 | #define ESINT64VAL 257 |
| 48 | #define EUINT64VAL 258 |
| 49 | #define ESAPINTVAL 259 |
| 50 | #define EUAPINTVAL 260 |
| 51 | #define LOCALVAL_ID 261 |
| 52 | #define GLOBALVAL_ID 262 |
| 53 | #define FPVAL 263 |
| 54 | #define VOID 264 |
| 55 | #define INTTYPE 265 |
| 56 | #define FLOAT 266 |
| 57 | #define DOUBLE 267 |
| 58 | #define X86_FP80 268 |
| 59 | #define FP128 269 |
| 60 | #define PPC_FP128 270 |
| 61 | #define LABEL 271 |
| 62 | #define TYPE 272 |
| 63 | #define LOCALVAR 273 |
| 64 | #define GLOBALVAR 274 |
| 65 | #define LABELSTR 275 |
| 66 | #define STRINGCONSTANT 276 |
| 67 | #define ATSTRINGCONSTANT 277 |
| 68 | #define PCTSTRINGCONSTANT 278 |
| 69 | #define ZEROINITIALIZER 279 |
| 70 | #define TRUETOK 280 |
| 71 | #define FALSETOK 281 |
| 72 | #define BEGINTOK 282 |
| 73 | #define ENDTOK 283 |
| 74 | #define DECLARE 284 |
| 75 | #define DEFINE 285 |
| 76 | #define GLOBAL 286 |
| 77 | #define CONSTANT 287 |
| 78 | #define SECTION 288 |
| 79 | #define ALIAS 289 |
| 80 | #define VOLATILE 290 |
| 81 | #define THREAD_LOCAL 291 |
| 82 | #define TO 292 |
| 83 | #define DOTDOTDOT 293 |
| 84 | #define NULL_TOK 294 |
| 85 | #define UNDEF 295 |
| 86 | #define INTERNAL 296 |
| 87 | #define LINKONCE 297 |
| 88 | #define WEAK 298 |
| 89 | #define APPENDING 299 |
| 90 | #define DLLIMPORT 300 |
| 91 | #define DLLEXPORT 301 |
| 92 | #define EXTERN_WEAK 302 |
| 93 | #define OPAQUE 303 |
| 94 | #define EXTERNAL 304 |
| 95 | #define TARGET 305 |
| 96 | #define TRIPLE 306 |
| 97 | #define ALIGN 307 |
| 98 | #define DEPLIBS 308 |
| 99 | #define CALL 309 |
| 100 | #define TAIL 310 |
| 101 | #define ASM_TOK 311 |
| 102 | #define MODULE 312 |
| 103 | #define SIDEEFFECT 313 |
| 104 | #define CC_TOK 314 |
| 105 | #define CCC_TOK 315 |
| 106 | #define FASTCC_TOK 316 |
| 107 | #define COLDCC_TOK 317 |
| 108 | #define X86_STDCALLCC_TOK 318 |
| 109 | #define X86_FASTCALLCC_TOK 319 |
| 110 | #define DATALAYOUT 320 |
| 111 | #define RET 321 |
| 112 | #define BR 322 |
| 113 | #define SWITCH 323 |
| 114 | #define INVOKE 324 |
| 115 | #define UNWIND 325 |
| 116 | #define UNREACHABLE 326 |
| 117 | #define ADD 327 |
| 118 | #define SUB 328 |
| 119 | #define MUL 329 |
| 120 | #define UDIV 330 |
| 121 | #define SDIV 331 |
| 122 | #define FDIV 332 |
| 123 | #define UREM 333 |
| 124 | #define SREM 334 |
| 125 | #define FREM 335 |
| 126 | #define AND 336 |
| 127 | #define OR 337 |
| 128 | #define XOR 338 |
| 129 | #define SHL 339 |
| 130 | #define LSHR 340 |
| 131 | #define ASHR 341 |
| 132 | #define ICMP 342 |
| 133 | #define FCMP 343 |
| 134 | #define EQ 344 |
| 135 | #define NE 345 |
| 136 | #define SLT 346 |
| 137 | #define SGT 347 |
| 138 | #define SLE 348 |
| 139 | #define SGE 349 |
| 140 | #define ULT 350 |
| 141 | #define UGT 351 |
| 142 | #define ULE 352 |
| 143 | #define UGE 353 |
| 144 | #define OEQ 354 |
| 145 | #define ONE 355 |
| 146 | #define OLT 356 |
| 147 | #define OGT 357 |
| 148 | #define OLE 358 |
| 149 | #define OGE 359 |
| 150 | #define ORD 360 |
| 151 | #define UNO 361 |
| 152 | #define UEQ 362 |
| 153 | #define UNE 363 |
| 154 | #define MALLOC 364 |
| 155 | #define ALLOCA 365 |
| 156 | #define FREE 366 |
| 157 | #define LOAD 367 |
| 158 | #define STORE 368 |
| 159 | #define GETELEMENTPTR 369 |
| 160 | #define TRUNC 370 |
| 161 | #define ZEXT 371 |
| 162 | #define SEXT 372 |
| 163 | #define FPTRUNC 373 |
| 164 | #define FPEXT 374 |
| 165 | #define BITCAST 375 |
| 166 | #define UITOFP 376 |
| 167 | #define SITOFP 377 |
| 168 | #define FPTOUI 378 |
| 169 | #define FPTOSI 379 |
| 170 | #define INTTOPTR 380 |
| 171 | #define PTRTOINT 381 |
| 172 | #define PHI_TOK 382 |
| 173 | #define SELECT 383 |
| 174 | #define VAARG 384 |
| 175 | #define EXTRACTELEMENT 385 |
| 176 | #define INSERTELEMENT 386 |
| 177 | #define SHUFFLEVECTOR 387 |
| 178 | #define SIGNEXT 388 |
| 179 | #define ZEROEXT 389 |
| 180 | #define NORETURN 390 |
| 181 | #define INREG 391 |
| 182 | #define SRET 392 |
| 183 | #define NOUNWIND 393 |
| 184 | #define NOALIAS 394 |
| 185 | #define BYVAL 395 |
| 186 | #define NEST 396 |
| 187 | #define DEFAULT 397 |
| 188 | #define HIDDEN 398 |
| 189 | #define PROTECTED 399 |
| 190 | |
Reid Spencer | 68a24bd | 2005-08-27 18:50:39 +0000 | [diff] [blame] | 191 | |
| 192 | extern YYSTYPE llvmAsmlval; |