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


extern YYSTYPE llvmAsmlval;