OLD | NEW |
---|---|
1 //===- LLVMBitCodes.h - Enum values for the LLVM bitcode format -*- C++ -*-===// | 1 //===- NaClBitCodes.h -------------------------------------------*- C++ -*-===// |
jvoung (off chromium)
2013/05/01 17:33:36
NaClLLVMBitCodes.h
Karl
2013/05/01 17:43:06
Done.
| |
2 // Enum values for the NaCl bitcode wire format | |
2 // | 3 // |
3 // The LLVM Compiler Infrastructure | 4 // The LLVM Compiler Infrastructure |
4 // | 5 // |
5 // This file is distributed under the University of Illinois Open Source | 6 // This file is distributed under the University of Illinois Open Source |
6 // License. See LICENSE.TXT for details. | 7 // License. See LICENSE.TXT for details. |
7 // | 8 // |
8 //===----------------------------------------------------------------------===// | 9 //===----------------------------------------------------------------------===// |
9 // | 10 // |
10 // This header defines Bitcode enum values for LLVM IR bitcode files. | 11 // This header defines Bitcode enum values for NaCl bitcode wire format. |
11 // | 12 // |
12 // The enum values defined in this file should be considered permanent. If | 13 // The enum values defined in this file should be considered permanent. If |
13 // new features are added, they should have values added at the end of the | 14 // new features are added, they should have values added at the end of the |
14 // respective lists. | 15 // respective lists. |
15 // | 16 // |
16 //===----------------------------------------------------------------------===// | 17 //===----------------------------------------------------------------------===// |
17 | 18 |
18 #ifndef LLVM_BITCODE_LLVMBITCODES_H | 19 #ifndef LLVM_BITCODE_NACL_NACLBITCODES_H |
jvoung (off chromium)
2013/05/01 17:33:36
NACLLLVMBITCODES_H
Karl
2013/05/01 17:43:06
Done.
jvoung (off chromium)
2013/05/01 17:48:09
I don't see this part of the change in patchset 5?
| |
19 #define LLVM_BITCODE_LLVMBITCODES_H | 20 #define LLVM_BITCODE_NACL_NACLBITCODES_H |
20 | 21 |
22 // TODO(kschimpf) Make a NaCl version of BitCodes.h, so that block id's | |
23 // and abbreviations can be modified. | |
21 #include "llvm/Bitcode/BitCodes.h" | 24 #include "llvm/Bitcode/BitCodes.h" |
Karl
2013/05/01 16:23:23
Added TODO here to move BitCodes.h into NaCl subdi
| |
22 | 25 |
23 namespace llvm { | 26 namespace llvm { |
24 namespace bitc { | 27 namespace naclbitc { |
25 // The only top-level block type defined is for a module. | 28 // The only top-level block type defined is for a module. |
26 enum BlockIDs { | 29 enum NaClBlockIDs { |
27 // Blocks | 30 // Blocks |
28 MODULE_BLOCK_ID = FIRST_APPLICATION_BLOCKID, | 31 MODULE_BLOCK_ID = bitc::FIRST_APPLICATION_BLOCKID, |
29 | 32 |
30 // Module sub-block id's. | 33 // Module sub-block id's. |
31 PARAMATTR_BLOCK_ID, | 34 PARAMATTR_BLOCK_ID, |
32 PARAMATTR_GROUP_BLOCK_ID, | 35 PARAMATTR_GROUP_BLOCK_ID, |
33 | 36 |
34 CONSTANTS_BLOCK_ID, | 37 CONSTANTS_BLOCK_ID, |
35 FUNCTION_BLOCK_ID, | 38 FUNCTION_BLOCK_ID, |
36 | 39 |
37 UNUSED_ID1, | 40 UNUSED_ID1, |
38 | 41 |
39 VALUE_SYMTAB_BLOCK_ID, | 42 VALUE_SYMTAB_BLOCK_ID, |
40 METADATA_BLOCK_ID, | 43 METADATA_BLOCK_ID, |
41 METADATA_ATTACHMENT_ID, | 44 METADATA_ATTACHMENT_ID, |
42 | 45 |
43 TYPE_BLOCK_ID_NEW, | 46 TYPE_BLOCK_ID_NEW, |
44 | 47 |
45 USELIST_BLOCK_ID | 48 USELIST_BLOCK_ID |
46 }; | 49 }; |
47 | 50 |
48 | 51 |
49 /// MODULE blocks have a number of optional fields and subblocks. | 52 /// MODULE blocks have a number of optional fields and subblocks. |
50 enum ModuleCodes { | 53 enum NaClModuleCodes { |
51 MODULE_CODE_VERSION = 1, // VERSION: [version#] | 54 MODULE_CODE_VERSION = 1, // VERSION: [version#] |
52 MODULE_CODE_TRIPLE = 2, // TRIPLE: [strchr x N] | 55 MODULE_CODE_TRIPLE = 2, // TRIPLE: [strchr x N] |
53 MODULE_CODE_DATALAYOUT = 3, // DATALAYOUT: [strchr x N] | 56 MODULE_CODE_DATALAYOUT = 3, // DATALAYOUT: [strchr x N] |
54 MODULE_CODE_ASM = 4, // ASM: [strchr x N] | 57 MODULE_CODE_ASM = 4, // ASM: [strchr x N] |
55 MODULE_CODE_SECTIONNAME = 5, // SECTIONNAME: [strchr x N] | 58 MODULE_CODE_SECTIONNAME = 5, // SECTIONNAME: [strchr x N] |
56 | 59 |
57 // FIXME: Remove DEPLIB in 4.0. | 60 // FIXME: Remove DEPLIB in 4.0. |
58 MODULE_CODE_DEPLIB = 6, // DEPLIB: [strchr x N] | 61 MODULE_CODE_DEPLIB = 6, // DEPLIB: [strchr x N] |
59 | 62 |
60 // GLOBALVAR: [pointer type, isconst, initid, | 63 // GLOBALVAR: [pointer type, isconst, initid, |
61 // linkage, alignment, section, visibility, threadlocal] | 64 // linkage, alignment, section, visibility, threadlocal] |
62 MODULE_CODE_GLOBALVAR = 7, | 65 MODULE_CODE_GLOBALVAR = 7, |
63 | 66 |
64 // FUNCTION: [type, callingconv, isproto, linkage, paramattrs, alignment, | 67 // FUNCTION: [type, callingconv, isproto, linkage, paramattrs, alignment, |
65 // section, visibility, gc, unnamed_addr] | 68 // section, visibility, gc, unnamed_addr] |
66 MODULE_CODE_FUNCTION = 8, | 69 MODULE_CODE_FUNCTION = 8, |
67 | 70 |
68 // ALIAS: [alias type, aliasee val#, linkage, visibility] | 71 // ALIAS: [alias type, aliasee val#, linkage, visibility] |
69 MODULE_CODE_ALIAS = 9, | 72 MODULE_CODE_ALIAS = 9, |
70 | 73 |
71 // MODULE_CODE_PURGEVALS: [numvals] | 74 // MODULE_CODE_PURGEVALS: [numvals] |
72 MODULE_CODE_PURGEVALS = 10, | 75 MODULE_CODE_PURGEVALS = 10, |
73 | 76 |
74 MODULE_CODE_GCNAME = 11 // GCNAME: [strchr x N] | 77 MODULE_CODE_GCNAME = 11 // GCNAME: [strchr x N] |
75 }; | 78 }; |
76 | 79 |
77 /// PARAMATTR blocks have code for defining a parameter attribute set. | 80 /// PARAMATTR blocks have code for defining a parameter attribute set. |
78 enum AttributeCodes { | 81 enum NaClAttributeCodes { |
79 // FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0 | 82 // FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0 |
80 PARAMATTR_CODE_ENTRY_OLD = 1, // ENTRY: [paramidx0, attr0, | 83 PARAMATTR_CODE_ENTRY_OLD = 1, // ENTRY: [paramidx0, attr0, |
81 // paramidx1, attr1...] | 84 // paramidx1, attr1...] |
82 PARAMATTR_CODE_ENTRY = 2, // ENTRY: [paramidx0, attrgrp0, | 85 PARAMATTR_CODE_ENTRY = 2, // ENTRY: [paramidx0, attrgrp0, |
83 // paramidx1, attrgrp1, ...] | 86 // paramidx1, attrgrp1, ...] |
84 PARAMATTR_GRP_CODE_ENTRY = 3 // ENTRY: [id, attr0, att1, ...] | 87 PARAMATTR_GRP_CODE_ENTRY = 3 // ENTRY: [id, attr0, att1, ...] |
85 }; | 88 }; |
86 | 89 |
87 /// TYPE blocks have codes for each type primitive they use. | 90 /// TYPE blocks have codes for each type primitive they use. |
88 enum TypeCodes { | 91 enum NaClTypeCodes { |
89 TYPE_CODE_NUMENTRY = 1, // NUMENTRY: [numentries] | 92 TYPE_CODE_NUMENTRY = 1, // NUMENTRY: [numentries] |
90 | 93 |
91 // Type Codes | 94 // Type Codes |
92 TYPE_CODE_VOID = 2, // VOID | 95 TYPE_CODE_VOID = 2, // VOID |
93 TYPE_CODE_FLOAT = 3, // FLOAT | 96 TYPE_CODE_FLOAT = 3, // FLOAT |
94 TYPE_CODE_DOUBLE = 4, // DOUBLE | 97 TYPE_CODE_DOUBLE = 4, // DOUBLE |
95 TYPE_CODE_LABEL = 5, // LABEL | 98 TYPE_CODE_LABEL = 5, // LABEL |
96 TYPE_CODE_OPAQUE = 6, // OPAQUE | 99 TYPE_CODE_OPAQUE = 6, // OPAQUE |
97 TYPE_CODE_INTEGER = 7, // INTEGER: [width] | 100 TYPE_CODE_INTEGER = 7, // INTEGER: [width] |
98 TYPE_CODE_POINTER = 8, // POINTER: [pointee type] | 101 TYPE_CODE_POINTER = 8, // POINTER: [pointee type] |
(...skipping 18 matching lines...) Expand all Loading... | |
117 TYPE_CODE_X86_MMX = 17, // X86 MMX | 120 TYPE_CODE_X86_MMX = 17, // X86 MMX |
118 | 121 |
119 TYPE_CODE_STRUCT_ANON = 18, // STRUCT_ANON: [ispacked, eltty x N] | 122 TYPE_CODE_STRUCT_ANON = 18, // STRUCT_ANON: [ispacked, eltty x N] |
120 TYPE_CODE_STRUCT_NAME = 19, // STRUCT_NAME: [strchr x N] | 123 TYPE_CODE_STRUCT_NAME = 19, // STRUCT_NAME: [strchr x N] |
121 TYPE_CODE_STRUCT_NAMED = 20,// STRUCT_NAMED: [ispacked, eltty x N] | 124 TYPE_CODE_STRUCT_NAMED = 20,// STRUCT_NAMED: [ispacked, eltty x N] |
122 | 125 |
123 TYPE_CODE_FUNCTION = 21 // FUNCTION: [vararg, retty, paramty x N] | 126 TYPE_CODE_FUNCTION = 21 // FUNCTION: [vararg, retty, paramty x N] |
124 }; | 127 }; |
125 | 128 |
126 // The type symbol table only has one code (TST_ENTRY_CODE). | 129 // The type symbol table only has one code (TST_ENTRY_CODE). |
127 enum TypeSymtabCodes { | 130 enum NaClTypeSymtabCodes { |
128 TST_CODE_ENTRY = 1 // TST_ENTRY: [typeid, namechar x N] | 131 TST_CODE_ENTRY = 1 // TST_ENTRY: [typeid, namechar x N] |
129 }; | 132 }; |
130 | 133 |
131 // The value symbol table only has one code (VST_ENTRY_CODE). | 134 // The value symbol table only has one code (VST_ENTRY_CODE). |
132 enum ValueSymtabCodes { | 135 enum NaClValueSymtabCodes { |
133 VST_CODE_ENTRY = 1, // VST_ENTRY: [valid, namechar x N] | 136 VST_CODE_ENTRY = 1, // VST_ENTRY: [valid, namechar x N] |
134 VST_CODE_BBENTRY = 2 // VST_BBENTRY: [bbid, namechar x N] | 137 VST_CODE_BBENTRY = 2 // VST_BBENTRY: [bbid, namechar x N] |
135 }; | 138 }; |
136 | 139 |
137 enum MetadataCodes { | 140 enum NaClMetadataCodes { |
138 METADATA_STRING = 1, // MDSTRING: [values] | 141 METADATA_STRING = 1, // MDSTRING: [values] |
139 // 2 is unused. | 142 // 2 is unused. |
140 // 3 is unused. | 143 // 3 is unused. |
141 METADATA_NAME = 4, // STRING: [values] | 144 METADATA_NAME = 4, // STRING: [values] |
142 // 5 is unused. | 145 // 5 is unused. |
143 METADATA_KIND = 6, // [n x [id, name]] | 146 METADATA_KIND = 6, // [n x [id, name]] |
144 // 7 is unused. | 147 // 7 is unused. |
145 METADATA_NODE = 8, // NODE: [n x (type num, value num)] | 148 METADATA_NODE = 8, // NODE: [n x (type num, value num)] |
146 METADATA_FN_NODE = 9, // FN_NODE: [n x (type num, value num)] | 149 METADATA_FN_NODE = 9, // FN_NODE: [n x (type num, value num)] |
147 METADATA_NAMED_NODE = 10, // NAMED_NODE: [n x mdnodes] | 150 METADATA_NAMED_NODE = 10, // NAMED_NODE: [n x mdnodes] |
148 METADATA_ATTACHMENT = 11 // [m x [value, [n x [id, mdnode]]] | 151 METADATA_ATTACHMENT = 11 // [m x [value, [n x [id, mdnode]]] |
149 }; | 152 }; |
150 | 153 |
151 // The constants block (CONSTANTS_BLOCK_ID) describes emission for each | 154 // The constants block (CONSTANTS_BLOCK_ID) describes emission for each |
152 // constant and maintains an implicit current type value. | 155 // constant and maintains an implicit current type value. |
153 enum ConstantsCodes { | 156 enum NaClConstantsCodes { |
154 CST_CODE_SETTYPE = 1, // SETTYPE: [typeid] | 157 CST_CODE_SETTYPE = 1, // SETTYPE: [typeid] |
155 CST_CODE_NULL = 2, // NULL | 158 CST_CODE_NULL = 2, // NULL |
156 CST_CODE_UNDEF = 3, // UNDEF | 159 CST_CODE_UNDEF = 3, // UNDEF |
157 CST_CODE_INTEGER = 4, // INTEGER: [intval] | 160 CST_CODE_INTEGER = 4, // INTEGER: [intval] |
158 CST_CODE_WIDE_INTEGER = 5, // WIDE_INTEGER: [n x intval] | 161 CST_CODE_WIDE_INTEGER = 5, // WIDE_INTEGER: [n x intval] |
159 CST_CODE_FLOAT = 6, // FLOAT: [fpval] | 162 CST_CODE_FLOAT = 6, // FLOAT: [fpval] |
160 CST_CODE_AGGREGATE = 7, // AGGREGATE: [n x value number] | 163 CST_CODE_AGGREGATE = 7, // AGGREGATE: [n x value number] |
161 CST_CODE_STRING = 8, // STRING: [values] | 164 CST_CODE_STRING = 8, // STRING: [values] |
162 CST_CODE_CSTRING = 9, // CSTRING: [values] | 165 CST_CODE_CSTRING = 9, // CSTRING: [values] |
163 CST_CODE_CE_BINOP = 10, // CE_BINOP: [opcode, opval, opval] | 166 CST_CODE_CE_BINOP = 10, // CE_BINOP: [opcode, opval, opval] |
(...skipping 11 matching lines...) Expand all Loading... | |
175 CST_CODE_BLOCKADDRESS = 21, // CST_CODE_BLOCKADDRESS [fnty, fnval, bb#] | 178 CST_CODE_BLOCKADDRESS = 21, // CST_CODE_BLOCKADDRESS [fnty, fnval, bb#] |
176 CST_CODE_DATA = 22, // DATA: [n x elements] | 179 CST_CODE_DATA = 22, // DATA: [n x elements] |
177 CST_CODE_INLINEASM = 23 // INLINEASM: [sideeffect|alignstack| | 180 CST_CODE_INLINEASM = 23 // INLINEASM: [sideeffect|alignstack| |
178 // asmdialect,asmstr,conststr] | 181 // asmdialect,asmstr,conststr] |
179 }; | 182 }; |
180 | 183 |
181 /// CastOpcodes - These are values used in the bitcode files to encode which | 184 /// CastOpcodes - These are values used in the bitcode files to encode which |
182 /// cast a CST_CODE_CE_CAST or a XXX refers to. The values of these enums | 185 /// cast a CST_CODE_CE_CAST or a XXX refers to. The values of these enums |
183 /// have no fixed relation to the LLVM IR enum values. Changing these will | 186 /// have no fixed relation to the LLVM IR enum values. Changing these will |
184 /// break compatibility with old files. | 187 /// break compatibility with old files. |
185 enum CastOpcodes { | 188 enum NaClCastOpcodes { |
186 CAST_TRUNC = 0, | 189 CAST_TRUNC = 0, |
187 CAST_ZEXT = 1, | 190 CAST_ZEXT = 1, |
188 CAST_SEXT = 2, | 191 CAST_SEXT = 2, |
189 CAST_FPTOUI = 3, | 192 CAST_FPTOUI = 3, |
190 CAST_FPTOSI = 4, | 193 CAST_FPTOSI = 4, |
191 CAST_UITOFP = 5, | 194 CAST_UITOFP = 5, |
192 CAST_SITOFP = 6, | 195 CAST_SITOFP = 6, |
193 CAST_FPTRUNC = 7, | 196 CAST_FPTRUNC = 7, |
194 CAST_FPEXT = 8, | 197 CAST_FPEXT = 8, |
195 CAST_PTRTOINT = 9, | 198 CAST_PTRTOINT = 9, |
196 CAST_INTTOPTR = 10, | 199 CAST_INTTOPTR = 10, |
197 CAST_BITCAST = 11 | 200 CAST_BITCAST = 11 |
198 }; | 201 }; |
199 | 202 |
200 /// BinaryOpcodes - These are values used in the bitcode files to encode which | 203 /// BinaryOpcodes - These are values used in the bitcode files to encode which |
201 /// binop a CST_CODE_CE_BINOP or a XXX refers to. The values of these enums | 204 /// binop a CST_CODE_CE_BINOP or a XXX refers to. The values of these enums |
202 /// have no fixed relation to the LLVM IR enum values. Changing these will | 205 /// have no fixed relation to the LLVM IR enum values. Changing these will |
203 /// break compatibility with old files. | 206 /// break compatibility with old files. |
204 enum BinaryOpcodes { | 207 enum NaClBinaryOpcodes { |
205 BINOP_ADD = 0, | 208 BINOP_ADD = 0, |
206 BINOP_SUB = 1, | 209 BINOP_SUB = 1, |
207 BINOP_MUL = 2, | 210 BINOP_MUL = 2, |
208 BINOP_UDIV = 3, | 211 BINOP_UDIV = 3, |
209 BINOP_SDIV = 4, // overloaded for FP | 212 BINOP_SDIV = 4, // overloaded for FP |
210 BINOP_UREM = 5, | 213 BINOP_UREM = 5, |
211 BINOP_SREM = 6, // overloaded for FP | 214 BINOP_SREM = 6, // overloaded for FP |
212 BINOP_SHL = 7, | 215 BINOP_SHL = 7, |
213 BINOP_LSHR = 8, | 216 BINOP_LSHR = 8, |
214 BINOP_ASHR = 9, | 217 BINOP_ASHR = 9, |
215 BINOP_AND = 10, | 218 BINOP_AND = 10, |
216 BINOP_OR = 11, | 219 BINOP_OR = 11, |
217 BINOP_XOR = 12 | 220 BINOP_XOR = 12 |
218 }; | 221 }; |
219 | 222 |
220 /// These are values used in the bitcode files to encode AtomicRMW operations. | 223 /// These are values used in the bitcode files to encode AtomicRMW operations. |
221 /// The values of these enums have no fixed relation to the LLVM IR enum | 224 /// The values of these enums have no fixed relation to the LLVM IR enum |
222 /// values. Changing these will break compatibility with old files. | 225 /// values. Changing these will break compatibility with old files. |
223 enum RMWOperations { | 226 enum NaClRMWOperations { |
224 RMW_XCHG = 0, | 227 RMW_XCHG = 0, |
225 RMW_ADD = 1, | 228 RMW_ADD = 1, |
226 RMW_SUB = 2, | 229 RMW_SUB = 2, |
227 RMW_AND = 3, | 230 RMW_AND = 3, |
228 RMW_NAND = 4, | 231 RMW_NAND = 4, |
229 RMW_OR = 5, | 232 RMW_OR = 5, |
230 RMW_XOR = 6, | 233 RMW_XOR = 6, |
231 RMW_MAX = 7, | 234 RMW_MAX = 7, |
232 RMW_MIN = 8, | 235 RMW_MIN = 8, |
233 RMW_UMAX = 9, | 236 RMW_UMAX = 9, |
234 RMW_UMIN = 10 | 237 RMW_UMIN = 10 |
235 }; | 238 }; |
236 | 239 |
237 /// OverflowingBinaryOperatorOptionalFlags - Flags for serializing | 240 /// OverflowingBinaryOperatorOptionalFlags - Flags for serializing |
238 /// OverflowingBinaryOperator's SubclassOptionalData contents. | 241 /// OverflowingBinaryOperator's SubclassOptionalData contents. |
239 enum OverflowingBinaryOperatorOptionalFlags { | 242 enum NaClOverflowingBinaryOperatorOptionalFlags { |
240 OBO_NO_UNSIGNED_WRAP = 0, | 243 OBO_NO_UNSIGNED_WRAP = 0, |
241 OBO_NO_SIGNED_WRAP = 1 | 244 OBO_NO_SIGNED_WRAP = 1 |
242 }; | 245 }; |
243 | 246 |
244 /// PossiblyExactOperatorOptionalFlags - Flags for serializing | 247 /// PossiblyExactOperatorOptionalFlags - Flags for serializing |
245 /// PossiblyExactOperator's SubclassOptionalData contents. | 248 /// PossiblyExactOperator's SubclassOptionalData contents. |
246 enum PossiblyExactOperatorOptionalFlags { | 249 enum NaClPossiblyExactOperatorOptionalFlags { |
247 PEO_EXACT = 0 | 250 PEO_EXACT = 0 |
248 }; | 251 }; |
249 | 252 |
250 /// Encoded AtomicOrdering values. | 253 /// Encoded AtomicOrdering values. |
251 enum AtomicOrderingCodes { | 254 enum NaClAtomicOrderingCodes { |
252 ORDERING_NOTATOMIC = 0, | 255 ORDERING_NOTATOMIC = 0, |
253 ORDERING_UNORDERED = 1, | 256 ORDERING_UNORDERED = 1, |
254 ORDERING_MONOTONIC = 2, | 257 ORDERING_MONOTONIC = 2, |
255 ORDERING_ACQUIRE = 3, | 258 ORDERING_ACQUIRE = 3, |
256 ORDERING_RELEASE = 4, | 259 ORDERING_RELEASE = 4, |
257 ORDERING_ACQREL = 5, | 260 ORDERING_ACQREL = 5, |
258 ORDERING_SEQCST = 6 | 261 ORDERING_SEQCST = 6 |
259 }; | 262 }; |
260 | 263 |
261 /// Encoded SynchronizationScope values. | 264 /// Encoded SynchronizationScope values. |
262 enum AtomicSynchScopeCodes { | 265 enum NaClAtomicSynchScopeCodes { |
263 SYNCHSCOPE_SINGLETHREAD = 0, | 266 SYNCHSCOPE_SINGLETHREAD = 0, |
264 SYNCHSCOPE_CROSSTHREAD = 1 | 267 SYNCHSCOPE_CROSSTHREAD = 1 |
265 }; | 268 }; |
266 | 269 |
267 // The function body block (FUNCTION_BLOCK_ID) describes function bodies. It | 270 // The function body block (FUNCTION_BLOCK_ID) describes function bodies. It |
268 // can contain a constant block (CONSTANTS_BLOCK_ID). | 271 // can contain a constant block (CONSTANTS_BLOCK_ID). |
269 enum FunctionCodes { | 272 enum NaClFunctionCodes { |
270 FUNC_CODE_DECLAREBLOCKS = 1, // DECLAREBLOCKS: [n] | 273 FUNC_CODE_DECLAREBLOCKS = 1, // DECLAREBLOCKS: [n] |
271 | 274 |
272 FUNC_CODE_INST_BINOP = 2, // BINOP: [opcode, ty, opval, opval] | 275 FUNC_CODE_INST_BINOP = 2, // BINOP: [opcode, ty, opval, opval] |
273 FUNC_CODE_INST_CAST = 3, // CAST: [opcode, ty, opty, opval] | 276 FUNC_CODE_INST_CAST = 3, // CAST: [opcode, ty, opty, opval] |
274 FUNC_CODE_INST_GEP = 4, // GEP: [n x operands] | 277 FUNC_CODE_INST_GEP = 4, // GEP: [n x operands] |
275 FUNC_CODE_INST_SELECT = 5, // SELECT: [ty, opval, opval, opval] | 278 FUNC_CODE_INST_SELECT = 5, // SELECT: [ty, opval, opval, opval] |
276 FUNC_CODE_INST_EXTRACTELT = 6, // EXTRACTELT: [opty, opval, opval] | 279 FUNC_CODE_INST_EXTRACTELT = 6, // EXTRACTELT: [opty, opval, opval] |
277 FUNC_CODE_INST_INSERTELT = 7, // INSERTELT: [ty, opval, opval, opval] | 280 FUNC_CODE_INST_INSERTELT = 7, // INSERTELT: [ty, opval, opval, opval] |
278 FUNC_CODE_INST_SHUFFLEVEC = 8, // SHUFFLEVEC: [ty, opval, opval, opval] | 281 FUNC_CODE_INST_SHUFFLEVEC = 8, // SHUFFLEVEC: [ty, opval, opval, opval] |
279 FUNC_CODE_INST_CMP = 9, // CMP: [opty, opval, opval, pred] | 282 FUNC_CODE_INST_CMP = 9, // CMP: [opty, opval, opval, pred] |
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
320 // align, vol, | 323 // align, vol, |
321 // ordering, synchscope] | 324 // ordering, synchscope] |
322 FUNC_CODE_INST_RESUME = 39, // RESUME: [opval] | 325 FUNC_CODE_INST_RESUME = 39, // RESUME: [opval] |
323 FUNC_CODE_INST_LANDINGPAD = 40, // LANDINGPAD: [ty,val,val,num,id0,val0...] | 326 FUNC_CODE_INST_LANDINGPAD = 40, // LANDINGPAD: [ty,val,val,num,id0,val0...] |
324 FUNC_CODE_INST_LOADATOMIC = 41, // LOAD: [opty, op, align, vol, | 327 FUNC_CODE_INST_LOADATOMIC = 41, // LOAD: [opty, op, align, vol, |
325 // ordering, synchscope] | 328 // ordering, synchscope] |
326 FUNC_CODE_INST_STOREATOMIC = 42 // STORE: [ptrty,ptr,val, align, vol | 329 FUNC_CODE_INST_STOREATOMIC = 42 // STORE: [ptrty,ptr,val, align, vol |
327 // ordering, synchscope] | 330 // ordering, synchscope] |
328 }; | 331 }; |
329 | 332 |
330 enum UseListCodes { | 333 enum NaClUseListCodes { |
331 USELIST_CODE_ENTRY = 1 // USELIST_CODE_ENTRY: TBD. | 334 USELIST_CODE_ENTRY = 1 // USELIST_CODE_ENTRY: TBD. |
332 }; | 335 }; |
333 } // End bitc namespace | 336 } // End naclbitc namespace |
334 } // End llvm namespace | 337 } // End llvm namespace |
335 | 338 |
336 #endif | 339 #endif |
OLD | NEW |