LLVM 22.0.0git
Classes | Namespaces | Functions
MemoryProfileInfo.h File Reference
#include "llvm/IR/Metadata.h"
#include "llvm/IR/ModuleSummaryIndex.h"
#include "llvm/Support/Compiler.h"
#include <map>

Go to the source code of this file.

Classes

class  llvm::memprof::CallStackTrie
 Class to build a trie of call stack contexts for a particular profiled allocation call, along with their associated allocation types. More...
 
class  llvm::memprof::CallStack< NodeT, IteratorT >
 Helper class to iterate through stack ids in both metadata (memprof MIB and callsite) and the corresponding ThinLTO summary data structures (CallsiteInfo and MIBInfo). More...
 
struct  llvm::memprof::CallStack< NodeT, IteratorT >::CallStackIterator
 

Namespaces

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 
namespace  llvm::memprof
 

Functions

LLVM_ABI bool llvm::memprof::metadataIncludesAllContextSizeInfo ()
 Whether the alloc memeprof metadata will include context size info for all MIBs.
 
LLVM_ABI bool llvm::memprof::metadataMayIncludeContextSizeInfo ()
 Whether the alloc memprof metadata may include context size info for some MIBs (but possibly not all).
 
LLVM_ABI bool llvm::memprof::recordContextSizeInfoForAnalysis ()
 Whether we need to record the context size info in the alloc trie used to build metadata.
 
LLVM_ABI MDNodellvm::memprof::buildCallstackMetadata (ArrayRef< uint64_t > CallStack, LLVMContext &Ctx)
 Build callstack metadata from the provided list of call stack ids.
 
LLVM_ABI MDNode * llvm::memprof::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 MDNodellvm::memprof::getMIBStackNode (const MDNode *MIB)
 Returns the stack node from an MIB metadata node.
 
LLVM_ABI AllocationType llvm::memprof::getMIBAllocType (const MDNode *MIB)
 Returns the allocation type from an MIB metadata node.
 
LLVM_ABI std::string llvm::memprof::getAllocTypeAttributeString (AllocationType Type)
 Returns the string to use in attributes with the given type.
 
LLVM_ABI bool llvm::memprof::hasSingleAllocType (uint8_t AllocTypes)
 True if the AllocTypes bitmask contains just a single type.