Changed memory reference instructions to store the result as the implicit
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h
1 typedef 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;
14   list<pair<Value*, BasicBlock*> > *PHIList;   // Represent the RHS of PHI node
15   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
88 extern YYSTYPE llvmAsmlval;