blob: 45d332666df7df0f537ff9e1abe52caa77ef9d12 [file] [log] [blame]
Chris Lattnercf3d0612007-02-13 06:04:17 +00001typedef union {
Reid Spencer950bf602007-01-26 08:19:09 +00002 llvm::Module *ModuleVal;
3 llvm::Function *FunctionVal;
4 std::pair<llvm::PATypeInfo, char*> *ArgVal;
5 llvm::BasicBlock *BasicBlockVal;
6 llvm::TerminatorInst *TermInstVal;
7 llvm::InstrInfo InstVal;
8 llvm::ConstInfo ConstVal;
9 llvm::ValueInfo ValueVal;
10 llvm::PATypeInfo TypeVal;
11 llvm::TypeInfo PrimType;
12 llvm::PHIListInfo PHIList;
13 std::list<llvm::PATypeInfo> *TypeList;
14 std::vector<llvm::ValueInfo> *ValueList;
15 std::vector<llvm::ConstInfo> *ConstVector;
16
17
18 std::vector<std::pair<llvm::PATypeInfo,char*> > *ArgList;
19 // Represent the RHS of PHI node
20 std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
21
22 llvm::GlobalValue::LinkageTypes Linkage;
23 int64_t SInt64Val;
24 uint64_t UInt64Val;
25 int SIntVal;
26 unsigned UIntVal;
27 double FPVal;
28 bool BoolVal;
29
30 char *StrVal; // This memory is strdup'd!
31 llvm::ValID ValIDVal; // strdup'd memory maybe!
32
33 llvm::BinaryOps BinaryOpVal;
34 llvm::TermOps TermOpVal;
35 llvm::MemoryOps MemOpVal;
36 llvm::OtherOps OtherOpVal;
37 llvm::CastOps CastOpVal;
38 llvm::ICmpInst::Predicate IPred;
39 llvm::FCmpInst::Predicate FPred;
40 llvm::Module::Endianness Endianness;
Chris Lattnercf3d0612007-02-13 06:04:17 +000041} YYSTYPE;
42#define ESINT64VAL 257
43#define EUINT64VAL 258
44#define SINTVAL 259
45#define UINTVAL 260
46#define FPVAL 261
47#define VOID 262
48#define BOOL 263
49#define SBYTE 264
50#define UBYTE 265
51#define SHORT 266
52#define USHORT 267
53#define INT 268
54#define UINT 269
55#define LONG 270
56#define ULONG 271
57#define FLOAT 272
58#define DOUBLE 273
59#define TYPE 274
60#define LABEL 275
61#define VAR_ID 276
62#define LABELSTR 277
63#define STRINGCONSTANT 278
64#define IMPLEMENTATION 279
65#define ZEROINITIALIZER 280
66#define TRUETOK 281
67#define FALSETOK 282
68#define BEGINTOK 283
69#define ENDTOK 284
70#define DECLARE 285
71#define GLOBAL 286
72#define CONSTANT 287
73#define SECTION 288
74#define VOLATILE 289
75#define TO 290
76#define DOTDOTDOT 291
77#define NULL_TOK 292
78#define UNDEF 293
79#define CONST 294
80#define INTERNAL 295
81#define LINKONCE 296
82#define WEAK 297
83#define APPENDING 298
84#define DLLIMPORT 299
85#define DLLEXPORT 300
86#define EXTERN_WEAK 301
87#define OPAQUE 302
88#define NOT 303
89#define EXTERNAL 304
90#define TARGET 305
91#define TRIPLE 306
92#define ENDIAN 307
93#define POINTERSIZE 308
94#define LITTLE 309
95#define BIG 310
96#define ALIGN 311
97#define DEPLIBS 312
98#define CALL 313
99#define TAIL 314
100#define ASM_TOK 315
101#define MODULE 316
102#define SIDEEFFECT 317
103#define CC_TOK 318
104#define CCC_TOK 319
105#define CSRETCC_TOK 320
106#define FASTCC_TOK 321
107#define COLDCC_TOK 322
108#define X86_STDCALLCC_TOK 323
109#define X86_FASTCALLCC_TOK 324
110#define DATALAYOUT 325
111#define RET 326
112#define BR 327
113#define SWITCH 328
114#define INVOKE 329
115#define UNREACHABLE 330
116#define UNWIND 331
117#define EXCEPT 332
118#define ADD 333
119#define SUB 334
120#define MUL 335
121#define DIV 336
122#define UDIV 337
123#define SDIV 338
124#define FDIV 339
125#define REM 340
126#define UREM 341
127#define SREM 342
128#define FREM 343
129#define AND 344
130#define OR 345
131#define XOR 346
132#define SHL 347
133#define SHR 348
134#define ASHR 349
135#define LSHR 350
136#define SETLE 351
137#define SETGE 352
138#define SETLT 353
139#define SETGT 354
140#define SETEQ 355
141#define SETNE 356
142#define ICMP 357
143#define FCMP 358
144#define MALLOC 359
145#define ALLOCA 360
146#define FREE 361
147#define LOAD 362
148#define STORE 363
149#define GETELEMENTPTR 364
150#define PHI_TOK 365
151#define SELECT 366
152#define VAARG 367
153#define EXTRACTELEMENT 368
154#define INSERTELEMENT 369
155#define SHUFFLEVECTOR 370
156#define VAARG_old 371
157#define VANEXT_old 372
158#define EQ 373
159#define NE 374
160#define SLT 375
161#define SGT 376
162#define SLE 377
163#define SGE 378
164#define ULT 379
165#define UGT 380
166#define ULE 381
167#define UGE 382
168#define OEQ 383
169#define ONE 384
170#define OLT 385
171#define OGT 386
172#define OLE 387
173#define OGE 388
174#define ORD 389
175#define UNO 390
176#define UEQ 391
177#define UNE 392
178#define CAST 393
179#define TRUNC 394
180#define ZEXT 395
181#define SEXT 396
182#define FPTRUNC 397
183#define FPEXT 398
184#define FPTOUI 399
185#define FPTOSI 400
186#define UITOFP 401
187#define SITOFP 402
188#define PTRTOINT 403
189#define INTTOPTR 404
190#define BITCAST 405
191
Reid Spencere7c3c602006-11-30 06:36:44 +0000192
193extern YYSTYPE Upgradelval;