LLVM 20.0.0git
Classes | Namespaces | Functions
MemoryProfileInfo.h File Reference
#include "llvm/IR/Metadata.h"
#include "llvm/IR/ModuleSummaryIndex.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

AllocationType llvm::memprof::getAllocType (uint64_t TotalLifetimeAccessDensity, uint64_t AllocCount, uint64_t TotalLifetime)
 Return the allocation type for a given set of memory profile values.
 
MDNodellvm::memprof::buildCallstackMetadata (ArrayRef< uint64_t > CallStack, LLVMContext &Ctx)
 Build callstack metadata from the provided list of call stack ids.
 
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.
 
MDNodellvm::memprof::getMIBStackNode (const MDNode *MIB)
 Returns the stack node from an MIB metadata node.
 
AllocationType llvm::memprof::getMIBAllocType (const MDNode *MIB)
 Returns the allocation type from an MIB metadata node.
 
std::string llvm::memprof::getAllocTypeAttributeString (AllocationType Type)
 Returns the string to use in attributes with the given type.
 
bool llvm::memprof::hasSingleAllocType (uint8_t AllocTypes)
 True if the AllocTypes bitmask contains just a single type.