blob: d50f0169d12080e832efe5141436cc42b9aa3f1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
|
typedef union {
llvm::Module *ModuleVal;
llvm::Function *FunctionVal;
llvm::BasicBlock *BasicBlockVal;
llvm::TerminatorInst *TermInstVal;
llvm::Instruction *InstVal;
llvm::Constant *ConstVal;
const llvm::Type *PrimType;
std::list<llvm::PATypeHolder> *TypeList;
llvm::PATypeHolder *TypeVal;
llvm::Value *ValueVal;
std::vector<llvm::Value*> *ValueList;
llvm::ArgListType *ArgList;
llvm::TypeWithAttrs TypeWithAttrs;
llvm::TypeWithAttrsList *TypeWithAttrsList;
llvm::ParamList *ParamList;
// Represent the RHS of PHI node
std::list<std::pair<llvm::Value*,
llvm::BasicBlock*> > *PHIList;
std::vector<std::pair<llvm::Constant*, llvm::BasicBlock*> > *JumpTable;
std::vector<llvm::Constant*> *ConstVector;
llvm::GlobalValue::LinkageTypes Linkage;
llvm::GlobalValue::VisibilityTypes Visibility;
uint16_t ParamAttrs;
llvm::APInt *APIntVal;
int64_t SInt64Val;
uint64_t UInt64Val;
int SIntVal;
unsigned UIntVal;
llvm::APFloat *FPVal;
bool BoolVal;
std::string *StrVal; // This memory must be deleted
llvm::ValID ValIDVal;
llvm::Instruction::BinaryOps BinaryOpVal;
llvm::Instruction::TermOps TermOpVal;
llvm::Instruction::MemoryOps MemOpVal;
llvm::Instruction::CastOps CastOpVal;
llvm::Instruction::OtherOps OtherOpVal;
llvm::ICmpInst::Predicate IPredicate;
llvm::FCmpInst::Predicate FPredicate;
} YYSTYPE;
#define ESINT64VAL 257
#define EUINT64VAL 258
#define ESAPINTVAL 259
#define EUAPINTVAL 260
#define LOCALVAL_ID 261
#define GLOBALVAL_ID 262
#define FPVAL 263
#define VOID 264
#define INTTYPE 265
#define FLOAT 266
#define DOUBLE 267
#define X86_FP80 268
#define FP128 269
#define PPC_FP128 270
#define LABEL 271
#define TYPE 272
#define LOCALVAR 273
#define GLOBALVAR 274
#define LABELSTR 275
#define STRINGCONSTANT 276
#define ATSTRINGCONSTANT 277
#define PCTSTRINGCONSTANT 278
#define ZEROINITIALIZER 279
#define TRUETOK 280
#define FALSETOK 281
#define BEGINTOK 282
#define ENDTOK 283
#define DECLARE 284
#define DEFINE 285
#define GLOBAL 286
#define CONSTANT 287
#define SECTION 288
#define ALIAS 289
#define VOLATILE 290
#define THREAD_LOCAL 291
#define TO 292
#define DOTDOTDOT 293
#define NULL_TOK 294
#define UNDEF 295
#define INTERNAL 296
#define LINKONCE 297
#define WEAK 298
#define APPENDING 299
#define DLLIMPORT 300
#define DLLEXPORT 301
#define EXTERN_WEAK 302
#define OPAQUE 303
#define EXTERNAL 304
#define TARGET 305
#define TRIPLE 306
#define ALIGN 307
#define ADDRSPACE 308
#define DEPLIBS 309
#define CALL 310
#define TAIL 311
#define ASM_TOK 312
#define MODULE 313
#define SIDEEFFECT 314
#define CC_TOK 315
#define CCC_TOK 316
#define FASTCC_TOK 317
#define COLDCC_TOK 318
#define X86_STDCALLCC_TOK 319
#define X86_FASTCALLCC_TOK 320
#define DATALAYOUT 321
#define RET 322
#define BR 323
#define SWITCH 324
#define INVOKE 325
#define UNWIND 326
#define UNREACHABLE 327
#define ADD 328
#define SUB 329
#define MUL 330
#define UDIV 331
#define SDIV 332
#define FDIV 333
#define UREM 334
#define SREM 335
#define FREM 336
#define AND 337
#define OR 338
#define XOR 339
#define SHL 340
#define LSHR 341
#define ASHR 342
#define ICMP 343
#define FCMP 344
#define EQ 345
#define NE 346
#define SLT 347
#define SGT 348
#define SLE 349
#define SGE 350
#define ULT 351
#define UGT 352
#define ULE 353
#define UGE 354
#define OEQ 355
#define ONE 356
#define OLT 357
#define OGT 358
#define OLE 359
#define OGE 360
#define ORD 361
#define UNO 362
#define UEQ 363
#define UNE 364
#define MALLOC 365
#define ALLOCA 366
#define FREE 367
#define LOAD 368
#define STORE 369
#define GETELEMENTPTR 370
#define TRUNC 371
#define ZEXT 372
#define SEXT 373
#define FPTRUNC 374
#define FPEXT 375
#define BITCAST 376
#define UITOFP 377
#define SITOFP 378
#define FPTOUI 379
#define FPTOSI 380
#define INTTOPTR 381
#define PTRTOINT 382
#define PHI_TOK 383
#define SELECT 384
#define VAARG 385
#define EXTRACTELEMENT 386
#define INSERTELEMENT 387
#define SHUFFLEVECTOR 388
#define SIGNEXT 389
#define ZEROEXT 390
#define NORETURN 391
#define INREG 392
#define SRET 393
#define NOUNWIND 394
#define NOALIAS 395
#define BYVAL 396
#define NEST 397
#define READNONE 398
#define READONLY 399
#define GC 400
#define DEFAULT 401
#define HIDDEN 402
#define PROTECTED 403
extern YYSTYPE llvmAsmlval;
|