aboutsummaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.h.cvs
blob: b320828509ae0632b97454f5bdc018e0db8b11bf (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
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;

  char                             *StrVal;   // This memory is strdup'd!
  llvm::ValID                       ValIDVal; // strdup'd memory maybe!

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


extern YYSTYPE llvmAsmlval;