summaryrefslogtreecommitdiff
path: root/lib/AsmParser/llvmAsmParser.h.cvs
blob: 0324b0d2ac292d308cc4c1900a4625ba502f1a47 (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
typedef union {
  llvm::Module                           *ModuleVal;
  llvm::Function                         *FunctionVal;
  std::pair<llvm::PATypeHolder*, char*>  *ArgVal;
  llvm::BasicBlock                       *BasicBlockVal;
  llvm::TerminatorInst                   *TermInstVal;
  llvm::Instruction                      *InstVal;
  llvm::Constant                         *ConstVal;

  const llvm::Type                       *PrimType;
  llvm::PATypeHolder                     *TypeVal;
  llvm::Value                            *ValueVal;

  std::vector<std::pair<llvm::PATypeHolder*,char*> > *ArgList;
  std::vector<llvm::Value*>              *ValueList;
  std::list<llvm::PATypeHolder>          *TypeList;
  // 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;
  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!

  BinaryOpInfo                      BinaryOpVal;
  TermOpInfo                        TermOpVal;
  MemOpInfo                         MemOpVal;
  OtherOpInfo                       OtherOpVal;
  llvm::Module::Endianness          Endianness;
} YYSTYPE;
#define	ESINT64VAL	257
#define	EUINT64VAL	258
#define	SINTVAL	259
#define	UINTVAL	260
#define	FPVAL	261
#define	VOID	262
#define	BOOL	263
#define	SBYTE	264
#define	UBYTE	265
#define	SHORT	266
#define	USHORT	267
#define	INT	268
#define	UINT	269
#define	LONG	270
#define	ULONG	271
#define	FLOAT	272
#define	DOUBLE	273
#define	TYPE	274
#define	LABEL	275
#define	VAR_ID	276
#define	LABELSTR	277
#define	STRINGCONSTANT	278
#define	IMPLEMENTATION	279
#define	ZEROINITIALIZER	280
#define	TRUETOK	281
#define	FALSETOK	282
#define	BEGINTOK	283
#define	ENDTOK	284
#define	DECLARE	285
#define	GLOBAL	286
#define	CONSTANT	287
#define	SECTION	288
#define	VOLATILE	289
#define	TO	290
#define	DOTDOTDOT	291
#define	NULL_TOK	292
#define	UNDEF	293
#define	CONST	294
#define	INTERNAL	295
#define	LINKONCE	296
#define	WEAK	297
#define	APPENDING	298
#define	DLLIMPORT	299
#define	DLLEXPORT	300
#define	EXTERN_WEAK	301
#define	OPAQUE	302
#define	NOT	303
#define	EXTERNAL	304
#define	TARGET	305
#define	TRIPLE	306
#define	ENDIAN	307
#define	POINTERSIZE	308
#define	LITTLE	309
#define	BIG	310
#define	ALIGN	311
#define	DEPLIBS	312
#define	CALL	313
#define	TAIL	314
#define	ASM_TOK	315
#define	MODULE	316
#define	SIDEEFFECT	317
#define	CC_TOK	318
#define	CCC_TOK	319
#define	CSRETCC_TOK	320
#define	FASTCC_TOK	321
#define	COLDCC_TOK	322
#define	X86_STDCALLCC_TOK	323
#define	X86_FASTCALLCC_TOK	324
#define	DATALAYOUT	325
#define	RET	326
#define	BR	327
#define	SWITCH	328
#define	INVOKE	329
#define	UNWIND	330
#define	UNREACHABLE	331
#define	ADD	332
#define	SUB	333
#define	MUL	334
#define	UDIV	335
#define	SDIV	336
#define	FDIV	337
#define	UREM	338
#define	SREM	339
#define	FREM	340
#define	AND	341
#define	OR	342
#define	XOR	343
#define	SETLE	344
#define	SETGE	345
#define	SETLT	346
#define	SETGT	347
#define	SETEQ	348
#define	SETNE	349
#define	MALLOC	350
#define	ALLOCA	351
#define	FREE	352
#define	LOAD	353
#define	STORE	354
#define	GETELEMENTPTR	355
#define	PHI_TOK	356
#define	CAST	357
#define	SELECT	358
#define	SHL	359
#define	SHR	360
#define	VAARG	361
#define	EXTRACTELEMENT	362
#define	INSERTELEMENT	363
#define	SHUFFLEVECTOR	364
#define	VAARG_old	365
#define	VANEXT_old	366


extern YYSTYPE llvmAsmlval;