Go to the source code of this file.
|
namespace | llvm |
| This is an optimization pass for GlobalISel generic memory operations.
|
|
LLVM_ABI cl::opt< bool > | llvm::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 > | llvm::MemProfReportHintedSizes ("memprof-report-hinted-sizes", cl::init(false), cl::Hidden, cl::desc("Report total allocation sizes of hinted allocations")) |
cl::opt< unsigned > | llvm::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 > | llvm::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 > | llvm::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 211 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(), llvm::MinCallsiteColdBytePercent, llvm::MinPercentMaxColdSize, llvm::MDTuple::push_back(), and llvm::SmallVectorTemplateBase< T, bool >::push_back().
◆ saveFilteredNewMIBNodes()
Definition at line 278 of file MemoryProfileInfo.cpp.
References llvm::append_range(), assert(), llvm::cast(), llvm::Cold, llvm::dyn_cast(), llvm::mdconst::dyn_extract(), llvm::errs(), llvm::format(), llvm::memprof::getMIBAllocType(), llvm::memprof::getMIBStackNode(), llvm::MDNode::getNumOperands(), llvm::MDNode::getOperand(), I, llvm::make_filter_range(), llvm::MemProfKeepAllNotColdContexts(), llvm::MemProfReportHintedSizes, llvm::MinCallsiteColdBytePercent, and llvm::raw_string_ostream::str().