| LLVM_ABI bool |
metadataIncludesAllContextSizeInfo () |
|
Whether the alloc memeprof metadata will include context size info for all MIBs. |
| LLVM_ABI bool |
metadataMayIncludeContextSizeInfo () |
|
Whether the alloc memprof metadata may include context size info for some MIBs (but possibly not all). |
| LLVM_ABI bool |
recordContextSizeInfoForAnalysis () |
|
Whether we need to record the context size info in the alloc trie used to build metadata. |
| LLVM_ABI MDNode * |
buildCallstackMetadata (ArrayRef< uint64_t > CallStack, LLVMContext &Ctx) |
|
Build callstack metadata from the provided list of call stack ids. |
| LLVM_ABI MDNode * |
buildContextSizeMetadata (ArrayRef< ContextTotalSize > ContextSizeInfo, LLVMContext &Ctx) |
|
Build metadata from the provided list of full stack id and profiled size, to use when reporting of hinted sizes is enabled. |
| LLVM_ABI MDNode * |
getMIBStackNode (const MDNode *MIB) |
|
Returns the stack node from an MIB metadata node. |
| LLVM_ABI AllocationType |
getMIBAllocType (const MDNode *MIB) |
|
Returns the allocation type from an MIB metadata node. |
| LLVM_ABI std::string |
getAllocTypeAttributeString (AllocationType Type) |
|
Returns the string to use in attributes with the given type. |
| LLVM_ABI bool |
hasSingleAllocType (uint8_t AllocTypes) |
|
True if the AllocTypes bitmask contains just a single type. |
| LLVM_ABI void |
removeAnyExistingAmbiguousAttribute (CallBase *CB) |
|
Removes any existing "ambiguous" memprof attribute. |
| LLVM_ABI void |
addAmbiguousAttribute (CallBase *CB) |
|
Adds an "ambiguous" memprof attribute to call with a matched allocation profile but that we haven't yet been able to disambiguate. |
| AnnotationKind |
getAnnotationKind (const GlobalVariable &GV) |
|
Returns the annotation kind of the global variable GV. |
| bool |
IsAnnotationOK (const GlobalVariable &GV) |
|
Returns true if the annotation kind of the global variable GV is AnnotationOK. |
| llvm::StringRef |
getMemprofOptionsSymbolDarwinLinkageName () |
| llvm::StringRef |
getMemprofOptionsSymbolName () |
| LLVM_ABI MemProfSchema |
getFullSchema () |
| LLVM_ABI MemProfSchema |
getHotColdSchema () |
| LLVM_ABI GlobalValue::GUID |
getGUID (const StringRef FunctionName) |
| LLVM_ABI Expected< MemProfSchema > |
readMemProfSchema (const unsigned char *&Buffer) |
| LLVM_ABI AllocationType |
getAllocType (uint64_t TotalLifetimeAccessDensity, uint64_t AllocCount, uint64_t TotalLifetime) |
|
Return the allocation type for a given set of memory profile values. |
| LLVM_ABI uint64_t |
computeFullStackId (ArrayRef< Frame > CallStack) |
|
Helper to generate a single hash id for a given callstack, used for emitting matching statistics and useful for uniquing such statistics across modules. |
| template |
|
| llvm::DenseMap< FrameIdTy, FrameStat > |
computeFrameHistogram (llvm::MapVector< CallStackId, llvm::SmallVector< FrameIdTy > > &MemProfCallStackData) |
| LLVM_ABI DenseMap< uint64_t, SmallVector< CallEdgeTy, 0 > > |
extractCallsFromIR (Module &M, const TargetLibraryInfo &TLI, function_ref< bool(uint64_t)> IsPresentInProfile=[](uint64_t) { return true;}) |
| LLVM_ABI DenseMap< uint64_t, LocToLocMap > |
computeUndriftMap (Module &M, IndexedInstrProfReader *MemProfReader, const TargetLibraryInfo &TLI) |
| static bool |
hasExplicitSectionName (const GlobalVariable &GVar) |
| static std::pair< StringRef, uint64_t > |
saveStringToMap (DataAccessProfData::StringToIndexMap &Map, llvm::UniqueStringSaver &Saver, StringRef Str) |
| static Expected< StringRef > |
getCanonicalName (StringRef Name) |
| static size_t |
serializedSizeV2 (const IndexedAllocationInfo &IAI, const MemProfSchema &Schema) |
| static size_t |
serializedSizeV3 (const IndexedAllocationInfo &IAI, const MemProfSchema &Schema) |
| static size_t |
serializedSizeV2 (const IndexedMemProfRecord &Record, const MemProfSchema &Schema) |
| static size_t |
serializedSizeV3 (const IndexedMemProfRecord &Record, const MemProfSchema &Schema) |
| static size_t |
serializedSizeV4 (const IndexedMemProfRecord &Record, const MemProfSchema &Schema) |
| static void |
serializeV2 (const IndexedMemProfRecord &Record, const MemProfSchema &Schema, raw_ostream &OS) |
| static void |
serializeV3 (const IndexedMemProfRecord &Record, const MemProfSchema &Schema, raw_ostream &OS, llvm::DenseMap< CallStackId, LinearCallStackId > &MemProfCallStackIndexes) |
| static void |
serializeV4 (const IndexedMemProfRecord &Record, const MemProfSchema &Schema, raw_ostream &OS, llvm::DenseMap< CallStackId, LinearCallStackId > &MemProfCallStackIndexes) |
| static IndexedMemProfRecord |
deserializeV2 (const MemProfSchema &Schema, const unsigned char *Ptr) |
| static IndexedMemProfRecord |
deserializeV3 (const MemProfSchema &Schema, const unsigned char *Ptr) |
| static IndexedMemProfRecord |
deserializeV4 (const MemProfSchema &Schema, const unsigned char *Ptr) |
| template LLVM_ABI llvm::DenseMap< FrameId, FrameStat > |
computeFrameHistogram< FrameId > (llvm::MapVector< CallStackId, llvm::SmallVector< FrameId > > &MemProfCallStackData) |
| template LLVM_ABI llvm::DenseMap< LinearFrameId, FrameStat > |
computeFrameHistogram< LinearFrameId > (llvm::MapVector< CallStackId, llvm::SmallVector< LinearFrameId > > &MemProfCallStackData) |