aboutsummaryrefslogtreecommitdiffstats
path: root/lib/AsmParser/llvmAsmParser.h.cvs
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;