eebec734bc522e0529f7397c3e5104ac2f03dc6b
[oota-llvm.git] / lib / AsmParser / llvmAsmParser.h.cvs
1 typedef union {
2   llvm::Module                           *ModuleVal;
3   llvm::Function                         *FunctionVal;
4   llvm::BasicBlock                       *BasicBlockVal;
5   llvm::TerminatorInst                   *TermInstVal;
6   llvm::Instruction                      *InstVal;
7   llvm::Constant                         *ConstVal;
8
9   const llvm::Type                       *PrimType;
10   std::list<llvm::PATypeHolder>          *TypeList;
11   llvm::PATypeHolder                     *TypeVal;
12   llvm::Value                            *ValueVal;
13   std::vector<llvm::Value*>              *ValueList;
14   llvm::ArgListType                      *ArgList;
15   llvm::TypeWithAttrs                     TypeWithAttrs;
16   llvm::TypeWithAttrsList                *TypeWithAttrsList;
17   llvm::ValueRefList                     *ValueRefList;
18
19   // Represent the RHS of PHI node
20   std::list<std::pair<llvm::Value*,
21                       llvm::BasicBlock*> > *PHIList;
22   std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
23   std::vector<llvm::Constant*>           *ConstVector;
24
25   llvm::GlobalValue::LinkageTypes         Linkage;
26   llvm::GlobalValue::VisibilityTypes      Visibility;
27   uint16_t                          ParamAttrs;
28   llvm::APInt                       *APIntVal;
29   int64_t                           SInt64Val;
30   uint64_t                          UInt64Val;
31   int                               SIntVal;
32   unsigned                          UIntVal;
33   double                            FPVal;
34   bool                              BoolVal;
35
36   char                             *StrVal;   // This memory is strdup'd!
37   llvm::ValID                       ValIDVal; // strdup'd memory maybe!
38
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;
44   llvm::ICmpInst::Predicate         IPredicate;
45   llvm::FCmpInst::Predicate         FPredicate;
46 } YYSTYPE;
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 LABEL   268
59 #define TYPE    269
60 #define LOCALVAR        270
61 #define GLOBALVAR       271
62 #define LABELSTR        272
63 #define STRINGCONSTANT  273
64 #define ATSTRINGCONSTANT        274
65 #define ZEROINITIALIZER 275
66 #define TRUETOK 276
67 #define FALSETOK        277
68 #define BEGINTOK        278
69 #define ENDTOK  279
70 #define DECLARE 280
71 #define DEFINE  281
72 #define GLOBAL  282
73 #define CONSTANT        283
74 #define SECTION 284
75 #define ALIAS   285
76 #define VOLATILE        286
77 #define THREAD_LOCAL    287
78 #define TO      288
79 #define DOTDOTDOT       289
80 #define NULL_TOK        290
81 #define UNDEF   291
82 #define INTERNAL        292
83 #define LINKONCE        293
84 #define WEAK    294
85 #define APPENDING       295
86 #define DLLIMPORT       296
87 #define DLLEXPORT       297
88 #define EXTERN_WEAK     298
89 #define OPAQUE  299
90 #define EXTERNAL        300
91 #define TARGET  301
92 #define TRIPLE  302
93 #define ALIGN   303
94 #define DEPLIBS 304
95 #define CALL    305
96 #define TAIL    306
97 #define ASM_TOK 307
98 #define MODULE  308
99 #define SIDEEFFECT      309
100 #define CC_TOK  310
101 #define CCC_TOK 311
102 #define FASTCC_TOK      312
103 #define COLDCC_TOK      313
104 #define X86_STDCALLCC_TOK       314
105 #define X86_FASTCALLCC_TOK      315
106 #define DATALAYOUT      316
107 #define RET     317
108 #define BR      318
109 #define SWITCH  319
110 #define INVOKE  320
111 #define UNWIND  321
112 #define UNREACHABLE     322
113 #define ADD     323
114 #define SUB     324
115 #define MUL     325
116 #define UDIV    326
117 #define SDIV    327
118 #define FDIV    328
119 #define UREM    329
120 #define SREM    330
121 #define FREM    331
122 #define AND     332
123 #define OR      333
124 #define XOR     334
125 #define SHL     335
126 #define LSHR    336
127 #define ASHR    337
128 #define ICMP    338
129 #define FCMP    339
130 #define EQ      340
131 #define NE      341
132 #define SLT     342
133 #define SGT     343
134 #define SLE     344
135 #define SGE     345
136 #define ULT     346
137 #define UGT     347
138 #define ULE     348
139 #define UGE     349
140 #define OEQ     350
141 #define ONE     351
142 #define OLT     352
143 #define OGT     353
144 #define OLE     354
145 #define OGE     355
146 #define ORD     356
147 #define UNO     357
148 #define UEQ     358
149 #define UNE     359
150 #define MALLOC  360
151 #define ALLOCA  361
152 #define FREE    362
153 #define LOAD    363
154 #define STORE   364
155 #define GETELEMENTPTR   365
156 #define TRUNC   366
157 #define ZEXT    367
158 #define SEXT    368
159 #define FPTRUNC 369
160 #define FPEXT   370
161 #define BITCAST 371
162 #define UITOFP  372
163 #define SITOFP  373
164 #define FPTOUI  374
165 #define FPTOSI  375
166 #define INTTOPTR        376
167 #define PTRTOINT        377
168 #define PHI_TOK 378
169 #define SELECT  379
170 #define VAARG   380
171 #define EXTRACTELEMENT  381
172 #define INSERTELEMENT   382
173 #define SHUFFLEVECTOR   383
174 #define NORETURN        384
175 #define INREG   385
176 #define SRET    386
177 #define NOUNWIND        387
178 #define DEFAULT 388
179 #define HIDDEN  389
180
181
182 extern YYSTYPE llvmAsmlval;