| Index: include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
|
| diff --git a/include/llvm/Bitcode/LLVMBitCodes.h b/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
|
| similarity index 92%
|
| copy from include/llvm/Bitcode/LLVMBitCodes.h
|
| copy to include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
|
| index f9690d5b779c0113468753d6f95aefdd9651cb97..a211a61edc2fe06568b974e44fa5f7065c8c923f 100644
|
| --- a/include/llvm/Bitcode/LLVMBitCodes.h
|
| +++ b/include/llvm/Bitcode/NaCl/NaClLLVMBitCodes.h
|
| @@ -1,4 +1,5 @@
|
| -//===- LLVMBitCodes.h - Enum values for the LLVM bitcode format -*- C++ -*-===//
|
| +//===- NaClLLVMBitCodes.h ---------------------------------------*- C++ -*-===//
|
| +// Enum values for the NaCl bitcode wire format
|
| //
|
| // The LLVM Compiler Infrastructure
|
| //
|
| @@ -7,7 +8,7 @@
|
| //
|
| //===----------------------------------------------------------------------===//
|
| //
|
| -// This header defines Bitcode enum values for LLVM IR bitcode files.
|
| +// This header defines Bitcode enum values for NaCl bitcode wire format.
|
| //
|
| // The enum values defined in this file should be considered permanent. If
|
| // new features are added, they should have values added at the end of the
|
| @@ -15,17 +16,19 @@
|
| //
|
| //===----------------------------------------------------------------------===//
|
|
|
| -#ifndef LLVM_BITCODE_LLVMBITCODES_H
|
| -#define LLVM_BITCODE_LLVMBITCODES_H
|
| +#ifndef LLVM_BITCODE_NACL_NACLBITCODES_H
|
| +#define LLVM_BITCODE_NACL_NACLBITCODES_H
|
|
|
| +// TODO(kschimpf) Make a NaCl version of BitCodes.h, so that block id's
|
| +// and abbreviations can be modified.
|
| #include "llvm/Bitcode/BitCodes.h"
|
|
|
| namespace llvm {
|
| -namespace bitc {
|
| +namespace naclbitc {
|
| // The only top-level block type defined is for a module.
|
| - enum BlockIDs {
|
| + enum NaClBlockIDs {
|
| // Blocks
|
| - MODULE_BLOCK_ID = FIRST_APPLICATION_BLOCKID,
|
| + MODULE_BLOCK_ID = bitc::FIRST_APPLICATION_BLOCKID,
|
|
|
| // Module sub-block id's.
|
| PARAMATTR_BLOCK_ID,
|
| @@ -47,7 +50,7 @@ namespace bitc {
|
|
|
|
|
| /// MODULE blocks have a number of optional fields and subblocks.
|
| - enum ModuleCodes {
|
| + enum NaClModuleCodes {
|
| MODULE_CODE_VERSION = 1, // VERSION: [version#]
|
| MODULE_CODE_TRIPLE = 2, // TRIPLE: [strchr x N]
|
| MODULE_CODE_DATALAYOUT = 3, // DATALAYOUT: [strchr x N]
|
| @@ -75,7 +78,7 @@ namespace bitc {
|
| };
|
|
|
| /// PARAMATTR blocks have code for defining a parameter attribute set.
|
| - enum AttributeCodes {
|
| + enum NaClAttributeCodes {
|
| // FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0
|
| PARAMATTR_CODE_ENTRY_OLD = 1, // ENTRY: [paramidx0, attr0,
|
| // paramidx1, attr1...]
|
| @@ -85,7 +88,7 @@ namespace bitc {
|
| };
|
|
|
| /// TYPE blocks have codes for each type primitive they use.
|
| - enum TypeCodes {
|
| + enum NaClTypeCodes {
|
| TYPE_CODE_NUMENTRY = 1, // NUMENTRY: [numentries]
|
|
|
| // Type Codes
|
| @@ -124,17 +127,17 @@ namespace bitc {
|
| };
|
|
|
| // The type symbol table only has one code (TST_ENTRY_CODE).
|
| - enum TypeSymtabCodes {
|
| + enum NaClTypeSymtabCodes {
|
| TST_CODE_ENTRY = 1 // TST_ENTRY: [typeid, namechar x N]
|
| };
|
|
|
| // The value symbol table only has one code (VST_ENTRY_CODE).
|
| - enum ValueSymtabCodes {
|
| + enum NaClValueSymtabCodes {
|
| VST_CODE_ENTRY = 1, // VST_ENTRY: [valid, namechar x N]
|
| VST_CODE_BBENTRY = 2 // VST_BBENTRY: [bbid, namechar x N]
|
| };
|
|
|
| - enum MetadataCodes {
|
| + enum NaClMetadataCodes {
|
| METADATA_STRING = 1, // MDSTRING: [values]
|
| // 2 is unused.
|
| // 3 is unused.
|
| @@ -150,7 +153,7 @@ namespace bitc {
|
|
|
| // The constants block (CONSTANTS_BLOCK_ID) describes emission for each
|
| // constant and maintains an implicit current type value.
|
| - enum ConstantsCodes {
|
| + enum NaClConstantsCodes {
|
| CST_CODE_SETTYPE = 1, // SETTYPE: [typeid]
|
| CST_CODE_NULL = 2, // NULL
|
| CST_CODE_UNDEF = 3, // UNDEF
|
| @@ -182,7 +185,7 @@ namespace bitc {
|
| /// cast a CST_CODE_CE_CAST or a XXX refers to. The values of these enums
|
| /// have no fixed relation to the LLVM IR enum values. Changing these will
|
| /// break compatibility with old files.
|
| - enum CastOpcodes {
|
| + enum NaClCastOpcodes {
|
| CAST_TRUNC = 0,
|
| CAST_ZEXT = 1,
|
| CAST_SEXT = 2,
|
| @@ -201,7 +204,7 @@ namespace bitc {
|
| /// binop a CST_CODE_CE_BINOP or a XXX refers to. The values of these enums
|
| /// have no fixed relation to the LLVM IR enum values. Changing these will
|
| /// break compatibility with old files.
|
| - enum BinaryOpcodes {
|
| + enum NaClBinaryOpcodes {
|
| BINOP_ADD = 0,
|
| BINOP_SUB = 1,
|
| BINOP_MUL = 2,
|
| @@ -220,7 +223,7 @@ namespace bitc {
|
| /// These are values used in the bitcode files to encode AtomicRMW operations.
|
| /// The values of these enums have no fixed relation to the LLVM IR enum
|
| /// values. Changing these will break compatibility with old files.
|
| - enum RMWOperations {
|
| + enum NaClRMWOperations {
|
| RMW_XCHG = 0,
|
| RMW_ADD = 1,
|
| RMW_SUB = 2,
|
| @@ -236,19 +239,19 @@ namespace bitc {
|
|
|
| /// OverflowingBinaryOperatorOptionalFlags - Flags for serializing
|
| /// OverflowingBinaryOperator's SubclassOptionalData contents.
|
| - enum OverflowingBinaryOperatorOptionalFlags {
|
| + enum NaClOverflowingBinaryOperatorOptionalFlags {
|
| OBO_NO_UNSIGNED_WRAP = 0,
|
| OBO_NO_SIGNED_WRAP = 1
|
| };
|
|
|
| /// PossiblyExactOperatorOptionalFlags - Flags for serializing
|
| /// PossiblyExactOperator's SubclassOptionalData contents.
|
| - enum PossiblyExactOperatorOptionalFlags {
|
| + enum NaClPossiblyExactOperatorOptionalFlags {
|
| PEO_EXACT = 0
|
| };
|
|
|
| /// Encoded AtomicOrdering values.
|
| - enum AtomicOrderingCodes {
|
| + enum NaClAtomicOrderingCodes {
|
| ORDERING_NOTATOMIC = 0,
|
| ORDERING_UNORDERED = 1,
|
| ORDERING_MONOTONIC = 2,
|
| @@ -259,14 +262,14 @@ namespace bitc {
|
| };
|
|
|
| /// Encoded SynchronizationScope values.
|
| - enum AtomicSynchScopeCodes {
|
| + enum NaClAtomicSynchScopeCodes {
|
| SYNCHSCOPE_SINGLETHREAD = 0,
|
| SYNCHSCOPE_CROSSTHREAD = 1
|
| };
|
|
|
| // The function body block (FUNCTION_BLOCK_ID) describes function bodies. It
|
| // can contain a constant block (CONSTANTS_BLOCK_ID).
|
| - enum FunctionCodes {
|
| + enum NaClFunctionCodes {
|
| FUNC_CODE_DECLAREBLOCKS = 1, // DECLAREBLOCKS: [n]
|
|
|
| FUNC_CODE_INST_BINOP = 2, // BINOP: [opcode, ty, opval, opval]
|
| @@ -327,10 +330,10 @@ namespace bitc {
|
| // ordering, synchscope]
|
| };
|
|
|
| - enum UseListCodes {
|
| + enum NaClUseListCodes {
|
| USELIST_CODE_ENTRY = 1 // USELIST_CODE_ENTRY: TBD.
|
| };
|
| -} // End bitc namespace
|
| +} // End naclbitc namespace
|
| } // End llvm namespace
|
|
|
| #endif
|
|
|