2006-11-08 13:58:47 +08:00
|
|
|
typedef union {
|
2005-08-28 02:50:39 +08:00
|
|
|
llvm::Module *ModuleVal;
|
|
|
|
llvm::Function *FunctionVal;
|
|
|
|
std::pair<llvm::PATypeHolder*, char*> *ArgVal;
|
|
|
|
llvm::BasicBlock *BasicBlockVal;
|
|
|
|
llvm::TerminatorInst *TermInstVal;
|
|
|
|
llvm::Instruction *InstVal;
|
|
|
|
llvm::Constant *ConstVal;
|
|
|
|
|
|
|
|
const llvm::Type *PrimType;
|
|
|
|
llvm::PATypeHolder *TypeVal;
|
|
|
|
llvm::Value *ValueVal;
|
|
|
|
|
|
|
|
std::vector<std::pair<llvm::PATypeHolder*,char*> > *ArgList;
|
|
|
|
std::vector<llvm::Value*> *ValueList;
|
|
|
|
std::list<llvm::PATypeHolder> *TypeList;
|
|
|
|
// 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;
|
|
|
|
int64_t SInt64Val;
|
|
|
|
uint64_t UInt64Val;
|
|
|
|
int SIntVal;
|
|
|
|
unsigned UIntVal;
|
|
|
|
double FPVal;
|
|
|
|
bool BoolVal;
|
|
|
|
|
|
|
|
char *StrVal; // This memory is strdup'd!
|
2006-10-26 14:15:43 +08:00
|
|
|
llvm::ValID ValIDVal; // strdup'd memory maybe!
|
2005-08-28 02:50:39 +08:00
|
|
|
|
2006-10-26 14:15:43 +08:00
|
|
|
BinaryOpInfo BinaryOpVal;
|
|
|
|
TermOpInfo TermOpVal;
|
|
|
|
MemOpInfo MemOpVal;
|
|
|
|
OtherOpInfo OtherOpVal;
|
|
|
|
llvm::Module::Endianness Endianness;
|
2006-09-29 03:28:24 +08:00
|
|
|
} YYSTYPE;
|
2006-11-08 13:58:47 +08:00
|
|
|
#define ESINT64VAL 257
|
|
|
|
#define EUINT64VAL 258
|
|
|
|
#define SINTVAL 259
|
|
|
|
#define UINTVAL 260
|
|
|
|
#define FPVAL 261
|
|
|
|
#define VOID 262
|
|
|
|
#define BOOL 263
|
|
|
|
#define SBYTE 264
|
|
|
|
#define UBYTE 265
|
|
|
|
#define SHORT 266
|
|
|
|
#define USHORT 267
|
|
|
|
#define INT 268
|
|
|
|
#define UINT 269
|
|
|
|
#define LONG 270
|
|
|
|
#define ULONG 271
|
|
|
|
#define FLOAT 272
|
|
|
|
#define DOUBLE 273
|
|
|
|
#define TYPE 274
|
|
|
|
#define LABEL 275
|
|
|
|
#define VAR_ID 276
|
|
|
|
#define LABELSTR 277
|
|
|
|
#define STRINGCONSTANT 278
|
|
|
|
#define IMPLEMENTATION 279
|
|
|
|
#define ZEROINITIALIZER 280
|
|
|
|
#define TRUETOK 281
|
|
|
|
#define FALSETOK 282
|
|
|
|
#define BEGINTOK 283
|
|
|
|
#define ENDTOK 284
|
|
|
|
#define DECLARE 285
|
|
|
|
#define GLOBAL 286
|
|
|
|
#define CONSTANT 287
|
|
|
|
#define SECTION 288
|
|
|
|
#define VOLATILE 289
|
|
|
|
#define TO 290
|
|
|
|
#define DOTDOTDOT 291
|
|
|
|
#define NULL_TOK 292
|
|
|
|
#define UNDEF 293
|
|
|
|
#define CONST 294
|
|
|
|
#define INTERNAL 295
|
|
|
|
#define LINKONCE 296
|
|
|
|
#define WEAK 297
|
|
|
|
#define APPENDING 298
|
|
|
|
#define DLLIMPORT 299
|
|
|
|
#define DLLEXPORT 300
|
|
|
|
#define EXTERN_WEAK 301
|
|
|
|
#define OPAQUE 302
|
|
|
|
#define NOT 303
|
|
|
|
#define EXTERNAL 304
|
|
|
|
#define TARGET 305
|
|
|
|
#define TRIPLE 306
|
|
|
|
#define ENDIAN 307
|
|
|
|
#define POINTERSIZE 308
|
|
|
|
#define LITTLE 309
|
|
|
|
#define BIG 310
|
|
|
|
#define ALIGN 311
|
|
|
|
#define DEPLIBS 312
|
|
|
|
#define CALL 313
|
|
|
|
#define TAIL 314
|
|
|
|
#define ASM_TOK 315
|
|
|
|
#define MODULE 316
|
|
|
|
#define SIDEEFFECT 317
|
|
|
|
#define CC_TOK 318
|
|
|
|
#define CCC_TOK 319
|
|
|
|
#define CSRETCC_TOK 320
|
|
|
|
#define FASTCC_TOK 321
|
|
|
|
#define COLDCC_TOK 322
|
|
|
|
#define X86_STDCALLCC_TOK 323
|
|
|
|
#define X86_FASTCALLCC_TOK 324
|
|
|
|
#define DATALAYOUT 325
|
|
|
|
#define RET 326
|
|
|
|
#define BR 327
|
|
|
|
#define SWITCH 328
|
|
|
|
#define INVOKE 329
|
|
|
|
#define UNWIND 330
|
|
|
|
#define UNREACHABLE 331
|
|
|
|
#define ADD 332
|
|
|
|
#define SUB 333
|
|
|
|
#define MUL 334
|
|
|
|
#define UDIV 335
|
|
|
|
#define SDIV 336
|
|
|
|
#define FDIV 337
|
|
|
|
#define UREM 338
|
|
|
|
#define SREM 339
|
|
|
|
#define FREM 340
|
|
|
|
#define AND 341
|
|
|
|
#define OR 342
|
|
|
|
#define XOR 343
|
|
|
|
#define SETLE 344
|
|
|
|
#define SETGE 345
|
|
|
|
#define SETLT 346
|
|
|
|
#define SETGT 347
|
|
|
|
#define SETEQ 348
|
|
|
|
#define SETNE 349
|
|
|
|
#define MALLOC 350
|
|
|
|
#define ALLOCA 351
|
|
|
|
#define FREE 352
|
|
|
|
#define LOAD 353
|
|
|
|
#define STORE 354
|
|
|
|
#define GETELEMENTPTR 355
|
|
|
|
#define PHI_TOK 356
|
|
|
|
#define CAST 357
|
|
|
|
#define SELECT 358
|
|
|
|
#define SHL 359
|
|
|
|
#define SHR 360
|
|
|
|
#define VAARG 361
|
|
|
|
#define EXTRACTELEMENT 362
|
|
|
|
#define INSERTELEMENT 363
|
|
|
|
#define SHUFFLEVECTOR 364
|
|
|
|
#define VAARG_old 365
|
|
|
|
#define VANEXT_old 366
|
2006-10-22 15:03:43 +08:00
|
|
|
|
|
|
|
|
2006-11-08 13:58:47 +08:00
|
|
|
extern YYSTYPE llvmAsmlval;
|