Global value summary symbol table record codes for per‐module and combined ThinLTO indexes.

Synopsis

Declared in <llvm/Bitcode/LLVMBitCodes.h>

enum GlobalValueSummarySymtabCodes;

Members

Name

Description

FS_PERMODULE

PERMODULE: [valueid, flags, instcount, numrefs, numrefs x valueid,] n x (valueid)]

FS_PERMODULE_PROFILE

PERMODULE_PROFILE: [valueid, flags, instcount, numrefs,] numrefs x valueid, n x (valueid, hotness+tailcall)]

FS_PERMODULE_GLOBALVAR_INIT_REFS

PERMODULE_GLOBALVAR_INIT_REFS: [valueid, flags, n x valueid]

FS_COMBINED

COMBINED: [valueid, modid, flags, instcount, numrefs, numrefs x valueid,] n x (valueid)]

FS_COMBINED_PROFILE

COMBINED_PROFILE: [valueid, modid, flags, instcount, numrefs,] numrefs x valueid, n x (valueid, hotness+tailcall)]

FS_COMBINED_GLOBALVAR_INIT_REFS

COMBINED_GLOBALVAR_INIT_REFS: [valueid, modid, flags, n x valueid]

FS_ALIAS

ALIAS: [valueid, flags, valueid]

FS_COMBINED_ALIAS

COMBINED_ALIAS: [valueid, modid, flags, valueid]

FS_COMBINED_ORIGINAL_NAME

COMBINED_ORIGINAL_NAME: [original_name_hash]

FS_VERSION

VERSION of the summary, bumped when adding flags for instance.

FS_TYPE_TESTS

The list of llvm.type.test type identifiers used by the following function that are used other than by an llvm.assume. [n x typeid]

FS_TYPE_TEST_ASSUME_VCALLS

The list of virtual calls made by this function using llvm.assume(llvm.type.test) intrinsics that do not have all constant integer arguments. [n x (typeid, offset)]

FS_TYPE_CHECKED_LOAD_VCALLS

The list of virtual calls made by this function using llvm.type.checked.load intrinsics that do not have all constant integer arguments. [n x (typeid, offset)]

FS_TYPE_TEST_ASSUME_CONST_VCALL

Identifies a virtual call made by this function using an llvm.assume(llvm.type.test) intrinsic with all constant integer arguments. [typeid, offset, n x arg]

FS_TYPE_CHECKED_LOAD_CONST_VCALL

Identifies a virtual call made by this function using an llvm.type.checked.load intrinsic with all constant integer arguments. [typeid, offset, n x arg]

FS_VALUE_GUID

Assigns a GUID to a value ID. This normally appears only in combined summaries, but it can also appear in per‐module summaries for PGO data. [valueid, guid]

FS_CFI_FUNCTION_DEFS

The list of local functions with CFI jump tables. Function names are strings in strtab. [n * name]

FS_CFI_FUNCTION_DECLS

The list of external functions with CFI jump tables. Function names are strings in strtab. [n * name]

FS_PERMODULE_RELBF

Deprecated per‐module summary that also adds relative block frequency to callee info. PERMODULE_RELBF: [valueid, flags, instcount, numrefs, numrefs x valueid,] n x (valueid, relblockfreq+tailcall)]

FS_FLAGS

Index‐wide flags.

FS_TYPE_ID

Maps type identifier to summary information for that type identifier. Produced by the thin link (only lives in combined index). TYPE_ID: [typeid, kind, bitwidth, align, size, bitmask, inlinebits,] n x (typeid, kind, name, numrba, numrba x (numarg, numarg x arg, kind, info, byte, bit))]

FS_TYPE_ID_METADATA

For background see overview at https://llvm.org/docs/TypeMetadata.html. The type metadata includes both the type identifier and the offset of the address point of the type (the address held by objects of that type which may not be the beginning of the virtual table). Vtable definitions are decorated with type metadata for the types they are compatible with.

FS_PERMODULE_VTABLE_GLOBALVAR_INIT_REFS

Summarizes vtable definition for use in index‐based whole program devirtualization during the thin link. PERMODULE_VTABLE_GLOBALVAR_INIT_REFS: [valueid, flags, varflags,] numrefs, numrefs x valueid, n x (valueid, offset)]

FS_BLOCK_COUNT

The total number of basic blocks in the module.

FS_PARAM_ACCESS

Range information for accessed offsets for every argument. [n x (paramno, range, numcalls, numcalls x (callee_guid, paramno, range))]

FS_PERMODULE_CALLSITE_INFO

Summary of per‐module memprof callsite metadata. [valueid, n x stackidindex]

FS_PERMODULE_ALLOC_INFO

Summary of per‐module allocation memprof metadata. [nummib, nummib x (alloc type, context radix tree index),] [nummib x (numcontext x total size)]?]

FS_COMBINED_CALLSITE_INFO

Summary of combined index memprof callsite metadata. [valueid, numstackindices, numver,] numstackindices x stackidindex, numver x version]

FS_COMBINED_ALLOC_INFO

Summary of combined index allocation memprof metadata. [nummib, numver, nummib x (alloc type, context radix tree index),] numver x version]

FS_STACK_IDS

List of all stack ids referenced by index in the callsite and alloc infos. [n x stack id]

FS_ALLOC_CONTEXT_IDS

List of all full stack id pairs corresponding to the total sizes recorded at the end of the alloc info when reporting of hinted bytes is enabled. We use a fixed‐width array, which is more efficient as these ids typically are close to 64 bits in size. The max fixed width value supported is 32 bits so each 64‐bit context id hash is recorded as a pair (upper 32 bits first). This record must immediately precede the associated alloc info, and the entries must be in the exact same order as the corresponding sizes. [nummib x (numcontext x full stack id)]

FS_CONTEXT_RADIX_TREE_ARRAY

Linearized radix tree of allocation contexts. See the description above the CallStackRadixTreeBuilder class in ProfileData/MemProf.h for format. [n x entry]

FS_COMBINED_ALLOC_INFO_NO_CONTEXT

Summary of combined index allocation memprof metadata, without context. [nummib, numver, nummib x alloc type, numver x version]

Created with MrDocs