blob: a639953b8833b33531b4adb9570a3504da8af125 [file] [log] [blame]
Chris Lattner2f7c9632001-06-06 20:29:01 +00001typedef union {
2 Module *ModuleVal;
3 Method *MethodVal;
4 MethodArgument *MethArgVal;
5 BasicBlock *BasicBlockVal;
6 TerminatorInst *TermInstVal;
7 Instruction *InstVal;
8 ConstPoolVal *ConstVal;
9 const Type *TypeVal;
10
11 list<MethodArgument*> *MethodArgList;
12 list<Value*> *ValueList;
13 list<const Type*> *TypeList;
Chris Lattner931ef3b2001-06-11 15:04:20 +000014 list<pair<Value*, BasicBlock*> > *PHIList; // Represent the RHS of PHI node
Chris Lattner2f7c9632001-06-06 20:29:01 +000015 list<pair<ConstPoolVal*, BasicBlock*> > *JumpTable;
16 vector<ConstPoolVal*> *ConstVector;
17
18 int64_t SInt64Val;
19 uint64_t UInt64Val;
20 int SIntVal;
21 unsigned UIntVal;
22
23 char *StrVal; // This memory is allocated by strdup!
24 ValID ValIDVal; // May contain memory allocated by strdup
25
26 Instruction::UnaryOps UnaryOpVal;
27 Instruction::BinaryOps BinaryOpVal;
28 Instruction::TermOps TermOpVal;
29 Instruction::MemoryOps MemOpVal;
30} YYSTYPE;
31#define ESINT64VAL 257
32#define EUINT64VAL 258
33#define SINTVAL 259
34#define UINTVAL 260
35#define VOID 261
36#define BOOL 262
37#define SBYTE 263
38#define UBYTE 264
39#define SHORT 265
40#define USHORT 266
41#define INT 267
42#define UINT 268
43#define LONG 269
44#define ULONG 270
45#define FLOAT 271
46#define DOUBLE 272
47#define STRING 273
48#define TYPE 274
49#define LABEL 275
50#define VAR_ID 276
51#define LABELSTR 277
52#define STRINGCONSTANT 278
53#define IMPLEMENTATION 279
54#define TRUE 280
55#define FALSE 281
56#define BEGINTOK 282
57#define END 283
58#define DECLARE 284
Chris Lattnera6821822001-07-08 04:57:15 +000059#define TO 285
60#define PHI 286
61#define CALL 287
Chris Lattner49c64322001-07-08 19:03:27 +000062#define CAST 288
63#define RET 289
64#define BR 290
65#define SWITCH 291
66#define NOT 292
Chris Lattnera6821822001-07-08 04:57:15 +000067#define ADD 293
68#define SUB 294
69#define MUL 295
70#define DIV 296
71#define REM 297
72#define SETLE 298
73#define SETGE 299
74#define SETLT 300
75#define SETGT 301
76#define SETEQ 302
77#define SETNE 303
78#define MALLOC 304
79#define ALLOCA 305
80#define FREE 306
81#define LOAD 307
82#define STORE 308
83#define GETFIELD 309
84#define PUTFIELD 310
Chris Lattner2f7c9632001-06-06 20:29:01 +000085
86
87extern YYSTYPE llvmAsmlval;