Changeset View
Changeset View
Standalone View
Standalone View
include/llvm/Bitcode/LLVMBitCodes.h
Show First 20 Lines • Show All 65 Lines • ▼ Show 20 Lines | |||||
/// | /// | ||||
/// LLVM guarantees in a major release that a minor release can read bitcode | /// LLVM guarantees in a major release that a minor release can read bitcode | ||||
/// generated by previous minor releases. We translate this by making the reader | /// generated by previous minor releases. We translate this by making the reader | ||||
/// accepting only bitcode with the same epoch, except for the X.0 release which | /// accepting only bitcode with the same epoch, except for the X.0 release which | ||||
/// also accepts N-1. | /// also accepts N-1. | ||||
enum { BITCODE_CURRENT_EPOCH = 0 }; | enum { BITCODE_CURRENT_EPOCH = 0 }; | ||||
/// MODULE blocks have a number of optional fields and subblocks. | /// MODULE blocks have a number of optional fields and subblocks. | ||||
enum ModuleCodes { | enum ModuleCodes { | ||||
MODULE_CODE_VERSION = 1, // VERSION: [version#] | MODULE_CODE_VERSION = 1, // VERSION: [version#] | ||||
MODULE_CODE_TRIPLE = 2, // TRIPLE: [strchr x N] | MODULE_CODE_TRIPLE = 2, // TRIPLE: [strchr x N] | ||||
MODULE_CODE_DATALAYOUT = 3, // DATALAYOUT: [strchr x N] | MODULE_CODE_DATALAYOUT = 3, // DATALAYOUT: [strchr x N] | ||||
MODULE_CODE_ASM = 4, // ASM: [strchr x N] | MODULE_CODE_ASM = 4, // ASM: [strchr x N] | ||||
MODULE_CODE_SECTIONNAME = 5, // SECTIONNAME: [strchr x N] | MODULE_CODE_SECTIONNAME = 5, // SECTIONNAME: [strchr x N] | ||||
// FIXME: Remove DEPLIB in 4.0. | // FIXME: Remove DEPLIB in 4.0. | ||||
MODULE_CODE_DEPLIB = 6, // DEPLIB: [strchr x N] | MODULE_CODE_DEPLIB = 6, // DEPLIB: [strchr x N] | ||||
// GLOBALVAR: [pointer type, isconst, initid, | // GLOBALVAR: [pointer type, isconst, initid, | ||||
// linkage, alignment, section, visibility, threadlocal] | // linkage, alignment, section, visibility, threadlocal] | ||||
MODULE_CODE_GLOBALVAR = 7, | MODULE_CODE_GLOBALVAR = 7, | ||||
// FUNCTION: [type, callingconv, isproto, linkage, paramattrs, alignment, | // FUNCTION: [type, callingconv, isproto, linkage, paramattrs, alignment, | ||||
// section, visibility, gc, unnamed_addr] | // section, visibility, gc, unnamed_addr] | ||||
MODULE_CODE_FUNCTION = 8, | MODULE_CODE_FUNCTION = 8, | ||||
// ALIAS: [alias type, aliasee val#, linkage, visibility] | // ALIAS: [alias type, aliasee val#, linkage, visibility] | ||||
MODULE_CODE_ALIAS_OLD = 9, | MODULE_CODE_ALIAS_OLD = 9, | ||||
// MODULE_CODE_PURGEVALS: [numvals] | // MODULE_CODE_PURGEVALS: [numvals] | ||||
MODULE_CODE_PURGEVALS = 10, | MODULE_CODE_PURGEVALS = 10, | ||||
MODULE_CODE_GCNAME = 11, // GCNAME: [strchr x N] | MODULE_CODE_GCNAME = 11, // GCNAME: [strchr x N] | ||||
MODULE_CODE_COMDAT = 12, // COMDAT: [selection_kind, name] | MODULE_CODE_COMDAT = 12, // COMDAT: [selection_kind, name] | ||||
MODULE_CODE_VSTOFFSET = 13, // VSTOFFSET: [offset] | MODULE_CODE_VSTOFFSET = 13, // VSTOFFSET: [offset] | ||||
// ALIAS: [alias value type, addrspace, aliasee val#, linkage, visibility] | // ALIAS: [alias value type, addrspace, aliasee val#, linkage, visibility] | ||||
MODULE_CODE_ALIAS = 14, | MODULE_CODE_ALIAS = 14, | ||||
MODULE_CODE_METADATA_VALUES_UNUSED = 15, | MODULE_CODE_METADATA_VALUES_UNUSED = 15, | ||||
// SOURCE_FILENAME: [namechar x N] | // SOURCE_FILENAME: [namechar x N] | ||||
MODULE_CODE_SOURCE_FILENAME = 16, | MODULE_CODE_SOURCE_FILENAME = 16, | ||||
// HASH: [5*i32] | |||||
MODULE_CODE_HASH = 17, | |||||
}; | }; | ||||
/// PARAMATTR blocks have code for defining a parameter attribute set. | /// PARAMATTR blocks have code for defining a parameter attribute set. | ||||
enum AttributeCodes { | enum AttributeCodes { | ||||
// FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0 | // FIXME: Remove `PARAMATTR_CODE_ENTRY_OLD' in 4.0 | ||||
PARAMATTR_CODE_ENTRY_OLD = 1, // ENTRY: [paramidx0, attr0, | PARAMATTR_CODE_ENTRY_OLD = 1, // ENTRY: [paramidx0, attr0, | ||||
// paramidx1, attr1...] | // paramidx1, attr1...] | ||||
PARAMATTR_CODE_ENTRY = 2, // ENTRY: [paramidx0, attrgrp0, | PARAMATTR_CODE_ENTRY = 2, // ENTRY: [paramidx0, attrgrp0, | ||||
// paramidx1, attrgrp1, ...] | // paramidx1, attrgrp1, ...] | ||||
▲ Show 20 Lines • Show All 58 Lines • ▼ Show 20 Lines | enum ValueSymtabCodes { | ||||
// VST_COMBINED_GVDEFENTRY: [valueid, sumoffset, guid] | // VST_COMBINED_GVDEFENTRY: [valueid, sumoffset, guid] | ||||
VST_CODE_COMBINED_GVDEFENTRY = 4, | VST_CODE_COMBINED_GVDEFENTRY = 4, | ||||
// VST_COMBINED_ENTRY: [valueid, refguid] | // VST_COMBINED_ENTRY: [valueid, refguid] | ||||
VST_CODE_COMBINED_ENTRY = 5 | VST_CODE_COMBINED_ENTRY = 5 | ||||
}; | }; | ||||
// The module path symbol table only has one code (MST_CODE_ENTRY). | // The module path symbol table only has one code (MST_CODE_ENTRY). | ||||
enum ModulePathSymtabCodes { | enum ModulePathSymtabCodes { | ||||
MST_CODE_ENTRY = 1, // MST_ENTRY: [modid, namechar x N] | MST_CODE_ENTRY = 1, // MST_ENTRY: [modid, namechar x N] | ||||
MST_CODE_HASH = 2, // MST_HASH: [5*i32] | |||||
}; | }; | ||||
// The summary section uses different codes in the per-module | // The summary section uses different codes in the per-module | ||||
// and combined index cases. | // and combined index cases. | ||||
enum GlobalValueSummarySymtabCodes { | enum GlobalValueSummarySymtabCodes { | ||||
// PERMODULE: [valueid, linkage, instcount, numrefs, numrefs x valueid, | // PERMODULE: [valueid, linkage, instcount, numrefs, numrefs x valueid, | ||||
// n x (valueid, callsitecount)] | // n x (valueid, callsitecount)] | ||||
FS_PERMODULE = 1, | FS_PERMODULE = 1, | ||||
▲ Show 20 Lines • Show All 330 Lines • Show Last 20 Lines |