blob: 6ee826958d0b35570f712f8e2636d091432fde1f [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
59#define PHI 285
60#define CALL 286
61#define RET 287
62#define BR 288
63#define SWITCH 289
64#define NEG 290
65#define NOT 291
66#define TOINT 292
67#define TOUINT 293
68#define ADD 294
69#define SUB 295
70#define MUL 296
71#define DIV 297
72#define REM 298
73#define SETLE 299
74#define SETGE 300
75#define SETLT 301
76#define SETGT 302
77#define SETEQ 303
78#define SETNE 304
79#define MALLOC 305
80#define ALLOCA 306
81#define FREE 307
82#define LOAD 308
83#define STORE 309
84#define GETFIELD 310
85#define PUTFIELD 311
86
87
88extern YYSTYPE llvmAsmlval;