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

  // 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;
  double                            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	LABEL	268
#define	TYPE	269
#define	LOCALVAR	270
#define	GLOBALVAR	271
#define	LABELSTR	272
#define	STRINGCONSTANT	273
#define	ATSTRINGCONSTANT	274
#define	PCTSTRINGCONSTANT	275
#define	ZEROINITIALIZER	276
#define	TRUETOK	277
#define	FALSETOK	278
#define	BEGINTOK	279
#define	ENDTOK	280
#define	DECLARE	281
#define	DEFINE	282
#define	GLOBAL	283
#define	CONSTANT	284
#define	SECTION	285
#define	ALIAS	286
#define	VOLATILE	287
#define	THREAD_LOCAL	288
#define	TO	289
#define	DOTDOTDOT	290
#define	NULL_TOK	291
#define	UNDEF	292
#define	INTERNAL	293
#define	LINKONCE	294
#define	WEAK	295
#define	APPENDING	296
#define	DLLIMPORT	297
#define	DLLEXPORT	298
#define	EXTERN_WEAK	299
#define	OPAQUE	300
#define	EXTERNAL	301
#define	TARGET	302
#define	TRIPLE	303
#define	ALIGN	304
#define	DEPLIBS	305
#define	CALL	306
#define	TAIL	307
#define	ASM_TOK	308
#define	MODULE	309
#define	SIDEEFFECT	310
#define	CC_TOK	311
#define	CCC_TOK	312
#define	FASTCC_TOK	313
#define	COLDCC_TOK	314
#define	X86_STDCALLCC_TOK	315
#define	X86_FASTCALLCC_TOK	316
#define	DATALAYOUT	317
#define	RET	318
#define	BR	319
#define	SWITCH	320
#define	INVOKE	321
#define	UNWIND	322
#define	UNREACHABLE	323
#define	ADD	324
#define	SUB	325
#define	MUL	326
#define	UDIV	327
#define	SDIV	328
#define	FDIV	329
#define	UREM	330
#define	SREM	331
#define	FREM	332
#define	AND	333
#define	OR	334
#define	XOR	335
#define	SHL	336
#define	LSHR	337
#define	ASHR	338
#define	ICMP	339
#define	FCMP	340
#define	EQ	341
#define	NE	342
#define	SLT	343
#define	SGT	344
#define	SLE	345
#define	SGE	346
#define	ULT	347
#define	UGT	348
#define	ULE	349
#define	UGE	350
#define	OEQ	351
#define	ONE	352
#define	OLT	353
#define	OGT	354
#define	OLE	355
#define	OGE	356
#define	ORD	357
#define	UNO	358
#define	UEQ	359
#define	UNE	360
#define	MALLOC	361
#define	ALLOCA	362
#define	FREE	363
#define	LOAD	364
#define	STORE	365
#define	GETELEMENTPTR	366
#define	TRUNC	367
#define	ZEXT	368
#define	SEXT	369
#define	FPTRUNC	370
#define	FPEXT	371
#define	BITCAST	372
#define	UITOFP	373
#define	SITOFP	374
#define	FPTOUI	375
#define	FPTOSI	376
#define	INTTOPTR	377
#define	PTRTOINT	378
#define	PHI_TOK	379
#define	SELECT	380
#define	VAARG	381
#define	EXTRACTELEMENT	382
#define	INSERTELEMENT	383
#define	SHUFFLEVECTOR	384
#define	NORETURN	385
#define	INREG	386
#define	SRET	387
#define	NOUNWIND	388
#define	NOALIAS	389
#define	DEFAULT	390
#define	HIDDEN	391
#define	PROTECTED	392


extern YYSTYPE llvmAsmlval;