aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.h.cvs
blob: 6701dd17eb917e32b0ff68fbb63df704d7e27c60 (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
197
198
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;
  llvm::ParameterAttributes         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	UNWINDS	322
#define	RET	323
#define	BR	324
#define	SWITCH	325
#define	INVOKE	326
#define	UNWIND	327
#define	UNREACHABLE	328
#define	ADD	329
#define	SUB	330
#define	MUL	331
#define	UDIV	332
#define	SDIV	333
#define	FDIV	334
#define	UREM	335
#define	SREM	336
#define	FREM	337
#define	AND	338
#define	OR	339
#define	XOR	340
#define	SHL	341
#define	LSHR	342
#define	ASHR	343
#define	ICMP	344
#define	FCMP	345
#define	EQ	346
#define	NE	347
#define	SLT	348
#define	SGT	349
#define	SLE	350
#define	SGE	351
#define	ULT	352
#define	UGT	353
#define	ULE	354
#define	UGE	355
#define	OEQ	356
#define	ONE	357
#define	OLT	358
#define	OGT	359
#define	OLE	360
#define	OGE	361
#define	ORD	362
#define	UNO	363
#define	UEQ	364
#define	UNE	365
#define	MALLOC	366
#define	ALLOCA	367
#define	FREE	368
#define	LOAD	369
#define	STORE	370
#define	GETELEMENTPTR	371
#define	TRUNC	372
#define	ZEXT	373
#define	SEXT	374
#define	FPTRUNC	375
#define	FPEXT	376
#define	BITCAST	377
#define	UITOFP	378
#define	SITOFP	379
#define	FPTOUI	380
#define	FPTOSI	381
#define	INTTOPTR	382
#define	PTRTOINT	383
#define	PHI_TOK	384
#define	SELECT	385
#define	VAARG	386
#define	EXTRACTELEMENT	387
#define	INSERTELEMENT	388
#define	SHUFFLEVECTOR	389
#define	GETRESULT	390
#define	SIGNEXT	391
#define	ZEROEXT	392
#define	NORETURN	393
#define	INREG	394
#define	SRET	395
#define	NOUNWIND	396
#define	NOALIAS	397
#define	BYVAL	398
#define	NEST	399
#define	READNONE	400
#define	READONLY	401
#define	GC	402
#define	DEFAULT	403
#define	HIDDEN	404
#define	PROTECTED	405


extern YYSTYPE llvmAsmlval;