summaryrefslogtreecommitdiffstats
path: root/llvm/lib/AsmParser/llvmAsmParser.h.cvs
blob: bf92ae025f8ee02b90eb974a3dd80b6a84b17ba8 (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
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;
  llvm::FunctionType::ParameterAttributes ParamAttrs;
  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::Module::Endianness          Endianness;
  llvm::ICmpInst::Predicate         IPredicate;
  llvm::FCmpInst::Predicate         FPredicate;
} YYSTYPE;
#define	ESINT64VAL	257
#define	EUINT64VAL	258
#define	SINTVAL	259
#define	UINTVAL	260
#define	FPVAL	261
#define	VOID	262
#define	INTTYPE	263
#define	FLOAT	264
#define	DOUBLE	265
#define	LABEL	266
#define	TYPE	267
#define	VAR_ID	268
#define	LABELSTR	269
#define	STRINGCONSTANT	270
#define	IMPLEMENTATION	271
#define	ZEROINITIALIZER	272
#define	TRUETOK	273
#define	FALSETOK	274
#define	BEGINTOK	275
#define	ENDTOK	276
#define	DECLARE	277
#define	DEFINE	278
#define	GLOBAL	279
#define	CONSTANT	280
#define	SECTION	281
#define	VOLATILE	282
#define	TO	283
#define	DOTDOTDOT	284
#define	NULL_TOK	285
#define	UNDEF	286
#define	INTERNAL	287
#define	LINKONCE	288
#define	WEAK	289
#define	APPENDING	290
#define	DLLIMPORT	291
#define	DLLEXPORT	292
#define	EXTERN_WEAK	293
#define	OPAQUE	294
#define	EXTERNAL	295
#define	TARGET	296
#define	TRIPLE	297
#define	ENDIAN	298
#define	POINTERSIZE	299
#define	LITTLE	300
#define	BIG	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	CSRETCC_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	ICMP	335
#define	FCMP	336
#define	EQ	337
#define	NE	338
#define	SLT	339
#define	SGT	340
#define	SLE	341
#define	SGE	342
#define	ULT	343
#define	UGT	344
#define	ULE	345
#define	UGE	346
#define	OEQ	347
#define	ONE	348
#define	OLT	349
#define	OGT	350
#define	OLE	351
#define	OGE	352
#define	ORD	353
#define	UNO	354
#define	UEQ	355
#define	UNE	356
#define	MALLOC	357
#define	ALLOCA	358
#define	FREE	359
#define	LOAD	360
#define	STORE	361
#define	GETELEMENTPTR	362
#define	TRUNC	363
#define	ZEXT	364
#define	SEXT	365
#define	FPTRUNC	366
#define	FPEXT	367
#define	BITCAST	368
#define	UITOFP	369
#define	SITOFP	370
#define	FPTOUI	371
#define	FPTOSI	372
#define	INTTOPTR	373
#define	PTRTOINT	374
#define	PHI_TOK	375
#define	SELECT	376
#define	SHL	377
#define	LSHR	378
#define	ASHR	379
#define	VAARG	380
#define	EXTRACTELEMENT	381
#define	INSERTELEMENT	382
#define	SHUFFLEVECTOR	383
#define	NORETURN	384
#define	DEFAULT	385
#define	HIDDEN	386


extern YYSTYPE llvmAsmlval;
OpenPOWER on IntegriCloud