Go to the source code of this file.
|
LLVM_ABI cl::opt< bool > | MemProfKeepAllNotColdContexts ("memprof-keep-all-not-cold-contexts", cl::init(false), cl::Hidden, cl::desc("Keep all non-cold contexts (increases cloning overheads)")) |
|
static MDNode * | createMIBNode (LLVMContext &Ctx, ArrayRef< uint64_t > MIBCallStack, AllocationType AllocType, ArrayRef< ContextTotalSize > ContextSizeInfo, const uint64_t MaxColdSize, bool BuiltFromExistingMetadata, uint64_t &TotalBytes, uint64_t &ColdBytes) |
|
static void | saveFilteredNewMIBNodes (std::vector< Metadata * > &NewMIBNodes, std::vector< Metadata * > &SavedMIBNodes, unsigned CallerContextLength, uint64_t TotalBytes, uint64_t ColdBytes, bool BuiltFromExistingMetadata) |
|
|
cl::opt< bool > | MemProfReportHintedSizes ("memprof-report-hinted-sizes", cl::init(false), cl::Hidden, cl::desc("Report total allocation sizes of hinted allocations")) |
|
cl::opt< unsigned > | MinClonedColdBytePercent ("memprof-cloning-cold-threshold", cl::init(100), cl::Hidden, cl::desc("Min percent of cold bytes to hint alloc cold during cloning")) |
|
cl::opt< unsigned > | MinCallsiteColdBytePercent ("memprof-callsite-cold-threshold", cl::init(100), cl::Hidden, cl::desc("Min percent of cold bytes at a callsite to discard non-cold " "contexts")) |
|
cl::opt< unsigned > | MinPercentMaxColdSize ("memprof-min-percent-max-cold-size", cl::init(100), cl::Hidden, cl::desc("Min percent of max cold bytes for critical cold context")) |
|
◆ DEBUG_TYPE
#define DEBUG_TYPE "memory-profile-info" |
◆ createMIBNode()
Definition at line 189 of file MemoryProfileInfo.cpp.
References assert(), llvm::memprof::buildCallstackMetadata(), llvm::Cold, llvm::ArrayRef< T >::empty(), llvm::MDNode::get(), llvm::MDString::get(), llvm::ValueAsMetadata::get(), llvm::memprof::getAllocTypeAttributeString(), llvm::Type::getInt64Ty(), llvm::memprof::metadataIncludesAllContextSizeInfo(), MinCallsiteColdBytePercent, MinPercentMaxColdSize, llvm::SmallVectorTemplateBase< T, bool >::push_back(), and llvm::MDTuple::push_back().
◆ MemProfKeepAllNotColdContexts()
LLVM_ABI cl::opt< bool > MemProfKeepAllNotColdContexts |
( |
"memprof-keep-all-not-cold-contexts" |
, |
|
|
cl::init(false) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Keep all non-cold contexts (increases cloning overheads)") |
|
|
) |
| |
◆ saveFilteredNewMIBNodes()
static void saveFilteredNewMIBNodes |
( |
std::vector< Metadata * > & |
NewMIBNodes, |
|
|
std::vector< Metadata * > & |
SavedMIBNodes, |
|
|
unsigned |
CallerContextLength, |
|
|
uint64_t |
TotalBytes, |
|
|
uint64_t |
ColdBytes, |
|
|
bool |
BuiltFromExistingMetadata |
|
) |
| |
|
static |
Definition at line 256 of file MemoryProfileInfo.cpp.
References llvm::append_range(), assert(), llvm::Cold, llvm::errs(), llvm::format(), llvm::memprof::getMIBAllocType(), llvm::memprof::getMIBStackNode(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), I, llvm::make_filter_range(), MemProfKeepAllNotColdContexts(), MemProfReportHintedSizes, MinCallsiteColdBytePercent, OS, and llvm::Tag.
◆ MemProfReportHintedSizes
cl::opt< bool > MemProfReportHintedSizes("memprof-report-hinted-sizes", cl::init(false), cl::Hidden, cl::desc("Report total allocation sizes of hinted allocations")) |
( |
"memprof-report-hinted-sizes" |
, |
|
|
cl::init(false) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Report total allocation sizes of hinted allocations") |
|
|
) |
| |
◆ MinCallsiteColdBytePercent
cl::opt< unsigned > MinCallsiteColdBytePercent("memprof-callsite-cold-threshold", cl::init(100), cl::Hidden, cl::desc("Min percent of cold bytes at a callsite to discard non-cold " "contexts")) |
( |
"memprof-callsite-cold-threshold" |
, |
|
|
cl::init(100) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Min percent of cold bytes at a callsite to discard non-cold " "contexts") |
|
|
) |
| |
◆ MinClonedColdBytePercent
cl::opt< unsigned > MinClonedColdBytePercent("memprof-cloning-cold-threshold", cl::init(100), cl::Hidden, cl::desc("Min percent of cold bytes to hint alloc cold during cloning")) |
( |
"memprof-cloning-cold-threshold" |
, |
|
|
cl::init(100) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Min percent of cold bytes to hint alloc cold during cloning") |
|
|
) |
| |
◆ MinPercentMaxColdSize
cl::opt< unsigned > MinPercentMaxColdSize("memprof-min-percent-max-cold-size", cl::init(100), cl::Hidden, cl::desc("Min percent of max cold bytes for critical cold context")) |
( |
"memprof-min-percent-max-cold-size" |
, |
|
|
cl::init(100) |
, |
|
|
cl::Hidden |
, |
|
|
cl::desc("Min percent of max cold bytes for critical cold context") |
|
|
) |
| |