LLVM 22.0.0git
llvm::ProfileSummaryBuilder Class Reference

#include "llvm/ProfileData/ProfileCommon.h"

Inheritance diagram for llvm::ProfileSummaryBuilder:
[legend]

Static Public Member Functions

static LLVM_ABI const ProfileSummaryEntrygetEntryForPercentile (const SummaryEntryVector &DS, uint64_t Percentile)
 Find the summary entry for a desired percentile of counts.
static LLVM_ABI uint64_t getHotCountThreshold (const SummaryEntryVector &DS)
static LLVM_ABI uint64_t getColdCountThreshold (const SummaryEntryVector &DS)

Static Public Attributes

static LLVM_ABI const ArrayRef< uint32_tDefaultCutoffs
 A vector of useful cutoff values for detailed summary.

Protected Member Functions

 ProfileSummaryBuilder (std::vector< uint32_t > Cutoffs)
 ~ProfileSummaryBuilder ()=default
void addCount (uint64_t Count)
 This is called when a count is seen in the profile.
LLVM_ABI void computeDetailedSummary ()

Protected Attributes

SummaryEntryVector DetailedSummary
uint64_t TotalCount = 0
uint64_t MaxCount = 0
uint64_t MaxFunctionCount = 0
uint32_t NumCounts = 0
uint32_t NumFunctions = 0

Detailed Description

Definition at line 46 of file ProfileCommon.h.

Constructor & Destructor Documentation

◆ ProfileSummaryBuilder()

llvm::ProfileSummaryBuilder::ProfileSummaryBuilder ( std::vector< uint32_t > Cutoffs)
inlineprotected

◆ ~ProfileSummaryBuilder()

llvm::ProfileSummaryBuilder::~ProfileSummaryBuilder ( )
protecteddefault

References llvm::Count, and LLVM_ABI.

Member Function Documentation

◆ addCount()

void llvm::ProfileSummaryBuilder::addCount ( uint64_t Count)
inlineprotected

◆ computeDetailedSummary()

◆ getColdCountThreshold()

uint64_t ProfileSummaryBuilder::getColdCountThreshold ( const SummaryEntryVector & DS)
static

◆ getEntryForPercentile()

const ProfileSummaryEntry & ProfileSummaryBuilder::getEntryForPercentile ( const SummaryEntryVector & DS,
uint64_t Percentile )
static

Find the summary entry for a desired percentile of counts.

Definition at line 87 of file ProfileSummaryBuilder.cpp.

References llvm::partition_point(), llvm::report_fatal_error(), and ZeroCutoffEntry.

Referenced by getColdCountThreshold(), and getHotCountThreshold().

◆ getHotCountThreshold()

uint64_t ProfileSummaryBuilder::getHotCountThreshold ( const SummaryEntryVector & DS)
static

Member Data Documentation

◆ DefaultCutoffs

const ArrayRef< uint32_t > ProfileSummaryBuilder::DefaultCutoffs
static
Initial value:
=
static const uint32_t DefaultCutoffsData[]

A vector of useful cutoff values for detailed summary.

Definition at line 71 of file ProfileCommon.h.

Referenced by llvm::sampleprof::SampleProfileReader::computeSummary(), llvm::sampleprof::SampleProfileWriter::computeSummary(), and llvm::PGOCtxProfFlatteningPass::run().

◆ DetailedSummary

SummaryEntryVector llvm::ProfileSummaryBuilder::DetailedSummary
protected

◆ MaxCount

uint64_t llvm::ProfileSummaryBuilder::MaxCount = 0
protected

◆ MaxFunctionCount

◆ NumCounts

uint32_t llvm::ProfileSummaryBuilder::NumCounts = 0
protected

◆ NumFunctions

◆ TotalCount

uint64_t llvm::ProfileSummaryBuilder::TotalCount = 0
protected

The documentation for this class was generated from the following files: