|
#define | INSTR_PROF_SECT_ENTRY(Kind, SectNameCommon, SectNameCoff, Prefix) |
#define | INSTR_PROF_VISIBILITY |
#define | INSTR_PROF_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VTABLE_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_RAW_HEADER(Type, Name, Initializer) |
#define | VALUE_PROF_FUNC_PARAM(ArgType, ArgName, ArgLLVMType) |
#define | INSTR_PROF_COMMA |
#define | VALUE_PROF_KIND(Enumerator, Value, Descr) |
#define | COVMAP_FUNC_RECORD(Type, LLVMType, Name, Initializer) |
#define | COVMAP_HEADER(Type, LLVMType, Name, Initializer) |
#define | COVINIT_FUNC(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_DATA_DEFINED |
#define | VALUE_PROF_KIND(Enumerator, Value, Descr) |
#define | INSTR_PROF_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VTABLE_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_RAW_HEADER(Type, Name, Initializer) |
#define | VALUE_PROF_FUNC_PARAM(ArgType, ArgName, ArgLLVMType) |
#define | INSTR_PROF_COMMA |
#define | INSTR_PROF_DATA_DEFINED |
#define | COVMAP_FUNC_RECORD(Type, LLVMType, Name, Initializer) |
#define | COVMAP_HEADER(Type, LLVMType, Name, Initializer) |
#define | COVINIT_FUNC(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VALUE_PROF_DATA |
#define | INSTR_PROF_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VTABLE_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_RAW_HEADER(Type, Name, Initializer) |
#define | VALUE_PROF_FUNC_PARAM(ArgType, ArgName, ArgLLVMType) |
#define | INSTR_PROF_COMMA |
#define | VALUE_PROF_KIND(Enumerator, Value, Descr) |
#define | COVMAP_FUNC_RECORD(Type, LLVMType, Name, Initializer) |
#define | COVMAP_HEADER(Type, LLVMType, Name, Initializer) |
#define | COVINIT_FUNC(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_DATA_DEFINED |
#define | INSTR_PROF_MAX_NUM_VAL_PER_SITE 255 |
#define | INSTR_PROF_DATA(Type, LLVMType, Name, Init) |
#define | INSTR_PROF_DATA_DEFINED |
#define | INSTR_PROF_VTABLE_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_RAW_HEADER(Type, Name, Initializer) |
#define | VALUE_PROF_FUNC_PARAM(ArgType, ArgName, ArgLLVMType) |
#define | INSTR_PROF_COMMA |
#define | VALUE_PROF_KIND(Enumerator, Value, Descr) |
#define | COVMAP_FUNC_RECORD(Type, LLVMType, Name, Initializer) |
#define | COVMAP_HEADER(Type, LLVMType, Name, Initializer) |
#define | COVINIT_FUNC(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VTABLE_DATA(Type, LLVMType, Name, Init) |
#define | INSTR_PROF_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VTABLE_DATA_DEFINED |
#define | INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_RAW_HEADER(Type, Name, Initializer) |
#define | VALUE_PROF_FUNC_PARAM(ArgType, ArgName, ArgLLVMType) |
#define | INSTR_PROF_COMMA |
#define | VALUE_PROF_KIND(Enumerator, Value, Descr) |
#define | COVMAP_FUNC_RECORD(Type, LLVMType, Name, Initializer) |
#define | COVMAP_HEADER(Type, LLVMType, Name, Initializer) |
#define | COVINIT_FUNC(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_DATA_INC |
#define | INSTR_PROF_SIMPLE_QUOTE(x) |
#define | INSTR_PROF_QUOTE(x) |
#define | INSTR_PROF_SIMPLE_CONCAT(x, y) |
#define | INSTR_PROF_CONCAT(x, y) |
#define | INSTR_PROF_RAW_MAGIC_64 |
#define | INSTR_PROF_RAW_MAGIC_32 |
#define | INSTR_PROF_RAW_VERSION 10 |
#define | INSTR_PROF_INDEX_VERSION 12 |
#define | INSTR_PROF_COVMAP_VERSION 6 |
#define | VARIANT_MASKS_ALL 0xffffffff00000000ULL |
#define | GET_VERSION(V) |
#define | VARIANT_MASK_INSTR_LOOP_ENTRIES (0x1ULL << 55) |
#define | VARIANT_MASK_IR_PROF (0x1ULL << 56) |
#define | VARIANT_MASK_CSIR_PROF (0x1ULL << 57) |
#define | VARIANT_MASK_INSTR_ENTRY (0x1ULL << 58) |
#define | VARIANT_MASK_DBG_CORRELATE (0x1ULL << 59) |
#define | VARIANT_MASK_BYTE_COVERAGE (0x1ULL << 60) |
#define | VARIANT_MASK_FUNCTION_ENTRY_ONLY (0x1ULL << 61) |
#define | VARIANT_MASK_MEMPROF (0x1ULL << 62) |
#define | VARIANT_MASK_TEMPORAL_PROF (0x1ULL << 63) |
#define | INSTR_PROF_RAW_VERSION_VAR __llvm_profile_raw_version |
#define | INSTR_PROF_PROFILE_RUNTIME_VAR __llvm_profile_runtime |
#define | INSTR_PROF_PROFILE_COUNTER_BIAS_VAR __llvm_profile_counter_bias |
#define | INSTR_PROF_PROFILE_BITMAP_BIAS_VAR __llvm_profile_bitmap_bias |
#define | INSTR_PROF_PROFILE_SET_TIMESTAMP __llvm_profile_set_timestamp |
#define | INSTR_PROF_PROFILE_SAMPLING_VAR __llvm_profile_sampling |
#define | INSTR_PROF_PROFILE_NAME_VAR __llvm_profile_filename |
#define | INSTR_PROF_DATA_COMMON __llvm_prf_data |
#define | INSTR_PROF_NAME_COMMON __llvm_prf_names |
#define | INSTR_PROF_VNAME_COMMON __llvm_prf_vns |
#define | INSTR_PROF_CNTS_COMMON __llvm_prf_cnts |
#define | INSTR_PROF_BITS_COMMON __llvm_prf_bits |
#define | INSTR_PROF_VALS_COMMON __llvm_prf_vals |
#define | INSTR_PROF_VNODES_COMMON __llvm_prf_vnds |
#define | INSTR_PROF_VTAB_COMMON __llvm_prf_vtab |
#define | INSTR_PROF_COVMAP_COMMON __llvm_covmap |
#define | INSTR_PROF_COVFUN_COMMON __llvm_covfun |
#define | INSTR_PROF_COVDATA_COMMON __llvm_covdata |
#define | INSTR_PROF_COVNAME_COMMON __llvm_covnames |
#define | INSTR_PROF_COVINIT_COMMON __llvm_covinit |
#define | INSTR_PROF_DATA_COFF ".lprfd$M" |
#define | INSTR_PROF_NAME_COFF ".lprfn$M" |
#define | INSTR_PROF_VNAME_COFF ".lprfvn$M" |
#define | INSTR_PROF_CNTS_COFF ".lprfc$M" |
#define | INSTR_PROF_BITS_COFF ".lprfb$M" |
#define | INSTR_PROF_VALS_COFF ".lprfv$M" |
#define | INSTR_PROF_VNODES_COFF ".lprfnd$M" |
#define | INSTR_PROF_VTAB_COFF ".lprfvt$M" |
#define | INSTR_PROF_COVMAP_COFF ".lcovmap$M" |
#define | INSTR_PROF_COVFUN_COFF ".lcovfun$M" |
#define | INSTR_PROF_COVDATA_COFF ".lcovd" |
#define | INSTR_PROF_COVNAME_COFF ".lcovn" |
#define | INSTR_PROF_COVINIT_COFF ".lcovd$M" |
#define | INSTR_PROF_DATA_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_DATA_COMMON) |
#define | INSTR_PROF_NAME_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_NAME_COMMON) |
#define | INSTR_PROF_CNTS_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_CNTS_COMMON) |
#define | INSTR_PROF_BITS_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_BITS_COMMON) |
#define | INSTR_PROF_VTAB_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_VTAB_COMMON) |
#define | INSTR_PROF_VNAME_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_VNAME_COMMON) |
#define | INSTR_PROF_VALS_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_VALS_COMMON) |
#define | INSTR_PROF_VNODES_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_VNODES_COMMON) |
#define | INSTR_PROF_COVMAP_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_COVMAP_COMMON) |
#define | INSTR_PROF_COVFUN_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_COVFUN_COMMON) |
#define | INSTR_PROF_COVDATA_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_COVDATA_COMMON) |
#define | INSTR_PROF_COVNAME_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_COVNAME_COMMON) |
#define | INSTR_PROF_COVINIT_SECT_NAME INSTR_PROF_QUOTE(INSTR_PROF_COVINIT_COMMON) |
#define | INSTR_PROF_SECT_START(Sect) |
#define | INSTR_PROF_SECT_STOP(Sect) |
#define | INSTR_PROF_VALUE_PROF_FUNC __llvm_profile_instrument_target |
#define | INSTR_PROF_VALUE_PROF_FUNC_STR INSTR_PROF_QUOTE(INSTR_PROF_VALUE_PROF_FUNC) |
#define | INSTR_PROF_VALUE_PROF_MEMOP_FUNC __llvm_profile_instrument_memop |
#define | INSTR_PROF_VALUE_PROF_MEMOP_FUNC_STR INSTR_PROF_QUOTE(INSTR_PROF_VALUE_PROF_MEMOP_FUNC) |
#define | INSTR_PROF_DATA_ALIGNMENT 8 |
#define | INSTR_PROF_RAW_HEADER(Type, Name, Init) |
#define | INSTR_PROF_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VTABLE_DATA(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_VALUE_NODE(Type, LLVMType, Name, Initializer) |
#define | INSTR_PROF_DATA_DEFINED |
#define | VALUE_PROF_FUNC_PARAM(ArgType, ArgName, ArgLLVMType) |
#define | INSTR_PROF_COMMA |
#define | VALUE_PROF_KIND(Enumerator, Value, Descr) |
#define | COVMAP_FUNC_RECORD(Type, LLVMType, Name, Initializer) |
#define | COVMAP_HEADER(Type, LLVMType, Name, Initializer) |
#define | COVINIT_FUNC(Type, LLVMType, Name, Initializer) |
|
uint64_t | llvm::getInstrMaxCountValue () |
| Return the max count value. We reserver a few large values for special use.
|
LLVM_ABI std::string | llvm::getInstrProfSectionName (InstrProfSectKind IPSK, Triple::ObjectFormatType OF, bool AddSegmentInfo=true) |
| Return the name of the profile section corresponding to IPSK .
|
StringRef | llvm::getInstrProfValueProfFuncName () |
| Return the name profile runtime entry point to do value profiling for a given site.
|
StringRef | llvm::getInstrProfValueProfMemOpFuncName () |
| Return the name profile runtime entry point to do memop size value profiling.
|
StringRef | llvm::getInstrProfNameVarPrefix () |
| Return the name prefix of variables containing instrumented function names.
|
StringRef | llvm::getInstrProfVTableVarPrefix () |
| Return the name prefix of variables containing virtual table profile data.
|
StringRef | llvm::getInstrProfDataVarPrefix () |
| Return the name prefix of variables containing per-function control data.
|
StringRef | llvm::getInstrProfCountersVarPrefix () |
| Return the name prefix of profile counter variables.
|
StringRef | llvm::getInstrProfBitmapVarPrefix () |
| Return the name prefix of profile bitmap variables.
|
StringRef | llvm::getInstrProfValuesVarPrefix () |
| Return the name prefix of value profile variables.
|
StringRef | llvm::getInstrProfVNodesVarName () |
| Return the name of value profile node array variables:
|
StringRef | llvm::getInstrProfNamesVarName () |
| Return the name of the variable holding the strings (possibly compressed) of all function's PGO names.
|
StringRef | llvm::getInstrProfVTableNamesVarName () |
StringRef | llvm::getCoverageMappingVarName () |
| Return the name of a covarage mapping variable (internal linkage) for each instrumented source module.
|
StringRef | llvm::getCoverageUnusedNamesVarName () |
| Return the name of the internal variable recording the array of PGO name vars referenced by the coverage mapping.
|
StringRef | llvm::getInstrProfRegFuncsName () |
| Return the name of function that registers all the per-function control data at program startup time by calling __llvm_register_function.
|
StringRef | llvm::getInstrProfRegFuncName () |
| Return the name of the runtime interface that registers per-function control data for one instrumented function.
|
StringRef | llvm::getInstrProfNamesRegFuncName () |
| Return the name of the runtime interface that registers the PGO name strings.
|
StringRef | llvm::getInstrProfInitFuncName () |
| Return the name of the runtime initialization method that is generated by the compiler.
|
StringRef | llvm::getInstrProfRuntimeHookVarName () |
| Return the name of the hook variable defined in profile runtime library.
|
StringRef | llvm::getInstrProfRuntimeHookVarUseFuncName () |
| Return the name of the compiler generated function that references the runtime hook variable.
|
StringRef | llvm::getInstrProfCounterBiasVarName () |
StringRef | llvm::getInstrProfBitmapBiasVarName () |
StringRef | llvm::getInstrProfNameSeparator () |
| Return the marker used to separate PGO names during serialization.
|
LLVM_ABI bool | llvm::isGPUProfTarget (const Module &M) |
| Determines whether module targets a GPU eligable for PGO instrumentation.
|
LLVM_ABI std::string | llvm::getPGOFuncName (const Function &F, bool InLTO=false, uint64_t Version=INSTR_PROF_INDEX_VERSION) |
| Please use getIRPGOFuncName for LLVM IR instrumentation.
|
LLVM_ABI std::string | llvm::getPGOFuncName (StringRef RawFuncName, GlobalValue::LinkageTypes Linkage, StringRef FileName, uint64_t Version=INSTR_PROF_INDEX_VERSION) |
| Return the modified name for a function suitable to be used the key for profile lookup.
|
LLVM_ABI std::string | llvm::getIRPGOFuncName (const Function &F, bool InLTO=false) |
LLVM_ABI std::pair< StringRef, StringRef > | llvm::getParsedIRPGOName (StringRef IRPGOName) |
LLVM_ABI std::string | llvm::getPGOFuncNameVarName (StringRef FuncName, GlobalValue::LinkageTypes Linkage) |
| Return the name of the global variable used to store a function name in PGO instrumentation.
|
LLVM_ABI GlobalVariable * | llvm::createPGOFuncNameVar (Function &F, StringRef PGOFuncName) |
| Create and return the global variable for function name used in PGO instrumentation.
|
LLVM_ABI GlobalVariable * | llvm::createPGOFuncNameVar (Module &M, GlobalValue::LinkageTypes Linkage, StringRef PGOFuncName) |
| Create and return the global variable for function name used in PGO instrumentation.
|
LLVM_ABI StringRef | llvm::getPGOFuncNameVarInitializer (GlobalVariable *NameVar) |
| Return the initializer in string of the PGO name var NameVar .
|
LLVM_ABI StringRef | llvm::getFuncNameWithoutPrefix (StringRef PGOFuncName, StringRef FileName="<unknown>") |
| Given a PGO function name, remove the filename prefix and return the original (static) function name.
|
LLVM_ABI Error | llvm::collectGlobalObjectNameStrings (ArrayRef< std::string > NameStrs, bool doCompression, std::string &Result) |
| Given a vector of strings (names of global objects like functions or, virtual tables) NameStrs , the method generates a combined string Result that is ready to be serialized.
|
LLVM_ABI Error | llvm::collectPGOFuncNameStrings (ArrayRef< GlobalVariable * > NameVars, std::string &Result, bool doCompression=true) |
| Produce Result string with the same format described above.
|
LLVM_ABI Error | llvm::collectVTableStrings (ArrayRef< GlobalVariable * > VTables, std::string &Result, bool doCompression) |
LLVM_ABI bool | llvm::isIRPGOFlagSet (const Module *M) |
| Check if INSTR_PROF_RAW_VERSION_VAR is defined.
|
LLVM_ABI bool | llvm::canRenameComdatFunc (const Function &F, bool CheckAddressTaken=false) |
| Check if we can safely rename this Comdat function.
|
LLVM_ABI void | llvm::annotateValueSite (Module &M, Instruction &Inst, const InstrProfRecord &InstrProfR, InstrProfValueKind ValueKind, uint32_t SiteIndx, uint32_t MaxMDCount=3) |
| Get the value profile data for value site SiteIdx from InstrProfR and annotate the instruction Inst with the value profile meta data.
|
LLVM_ABI void | llvm::annotateValueSite (Module &M, Instruction &Inst, ArrayRef< InstrProfValueData > VDs, uint64_t Sum, InstrProfValueKind ValueKind, uint32_t MaxMDCount) |
| Same as the above interface but using an ArrayRef, as well as Sum .
|
LLVM_ABI SmallVector< InstrProfValueData, 4 > | llvm::getValueProfDataFromInst (const Instruction &Inst, InstrProfValueKind ValueKind, uint32_t MaxNumValueData, uint64_t &TotalC, bool GetNoICPValue=false) |
| Extract the value profile data from Inst and returns them if Inst is annotated with value profile data.
|
StringRef | llvm::getPGOFuncNameMetadataName () |
StringRef | llvm::getPGONameMetadataName () |
LLVM_ABI MDNode * | llvm::getPGOFuncNameMetadata (const Function &F) |
| Return the PGOFuncName meta data associated with a function.
|
LLVM_ABI std::string | llvm::getPGOName (const GlobalVariable &V, bool InLTO=false) |
LLVM_ABI void | llvm::createPGOFuncNameMetadata (Function &F, StringRef PGOFuncName) |
| Create the PGOFuncName meta data if PGOFuncName is different from function's raw name.
|
LLVM_ABI void | llvm::createPGONameMetadata (GlobalObject &GO, StringRef PGOName) |
| Create the PGOName metadata if a global object's PGO name is different from its mangled name.
|
LLVM_ABI bool | llvm::needsComdatForCounter (const GlobalObject &GV, const Module &M) |
| Check if we can use Comdat for profile variables.
|
LLVM_ABI Error | llvm::readAndDecodeStrings (StringRef NameStrings, std::function< Error(StringRef)> NameCallback) |
| NameStrings is a string composed of one or more possibly encoded sub-strings.
|
LLVM_ABI const std::error_category & | llvm::instrprof_category () |
std::error_code | llvm::make_error_code (instrprof_error E) |
uint64_t | llvm::IndexedInstrProf::ComputeHash (StringRef K) |
| llvm::INSTR_PROF_DATA (const uint64_t, llvm::Type::getInt64Ty(Ctx), NameRef, ConstantInt::get(llvm::Type::getInt64Ty(Ctx), IndexedInstrProf::ComputeHash(getPGOFuncNameVarInitializer(Inc->getName())))) INSTR_PROF_DATA(const uint64_t |
FunctionAddr | llvm::INSTR_PROF_DATA (IntPtrT, llvm::PointerType::getUnqual(Ctx), Values, ValuesPtrExpr) INSTR_PROF_DATA(const uint32_t |
FunctionAddr VTableAddr | llvm::INSTR_PROF_VTABLE_DATA (const uint32_t, llvm::Type::getInt32Ty(Ctx), VTableSize, ConstantInt::get(llvm::Type::getInt32Ty(Ctx), VTableSizeVal)) INSTR_PROF_VALUE_NODE(uint64_t |
FunctionAddr VTableAddr uintptr_t | llvm::CountersBegin (uintptr_t) DataBegin) INSTR_PROF_RAW_HEADER(uint64_t |
FunctionAddr VTableAddr uintptr_t uintptr_t | llvm::BitmapBegin (uintptr_t) DataBegin) VALUE_PROF_FUNC_PARAM(uint64_t |
FunctionAddr VTableAddr uintptr_t uintptr_t WriteoutF | llvm::COVINIT_FUNC (IntPtrT, llvm::PointerType::getUnqual(Ctx), ResetFunction, ResetF) typedef struct ValueProfRecord |
| This is the header of the data structure that defines the on-disk layout of the value profile data of a particular kind for one function.
|
INSTR_PROF_VISIBILITY ValueProfRecord * | llvm::getFirstValueProfRecord (ValueProfData *This) |
| Return the first ValueProfRecord instance.
|
INSTR_PROF_VISIBILITY ValueProfRecord * | llvm::getValueProfRecordNext (ValueProfRecord *This) |
| Use this method to advance to the next This ValueProfRecord .
|
INSTR_PROF_VISIBILITY InstrProfValueData * | llvm::getValueProfRecordValueData (ValueProfRecord *This) |
| Return the pointer to the start of value data array.
|
INSTR_PROF_VISIBILITY uint32_t | llvm::getValueProfRecordHeaderSize (uint32_t NumValueSites) |
uint64_t | llvm::IndexedInstrProf::ComputeHash (HashT Type, StringRef K) |
std::unique_ptr< Summary > | llvm::IndexedInstrProf::allocSummary (uint32_t TotalSize) |
template<class IntPtrT> |
uint64_t | llvm::RawInstrProf::getMagic () |
template<> |
uint64_t | llvm::RawInstrProf::getMagic< uint64_t > () |
template<> |
uint64_t | llvm::RawInstrProf::getMagic< uint32_t > () |
LLVM_ABI void | llvm::createProfileFileNameVar (Module &M, StringRef InstrProfileOutput) |