class ProfileSummaryBuilder

Declaration

class ProfileSummaryBuilder { /* full declaration omitted */ };

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:40

Member Variables

private std::map<uint64_t, uint32_t, std::greater<uint64_t>> CountFrequencies
We keep track of the number of times a count (block count or samples) appears in the profile. The map is kept sorted in the descending order of counts.
private std::vector<uint32_t> DetailedSummaryCutoffs
protected llvm::SummaryEntryVector DetailedSummary
protected uint64_t TotalCount = 0
protected uint64_t MaxCount = 0
protected uint64_t MaxFunctionCount = 0
protected uint32_t NumCounts = 0
protected uint32_t NumFunctions = 0
public static const ArrayRef<uint32_t> DefaultCutoffs
A vector of useful cutoff values for detailed summary.

Method Overview

Methods

ProfileSummaryBuilder(
    std::vector<uint32_t> Cutoffs)

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:56

Parameters

std::vector<uint32_t> Cutoffs

inline void addCount(uint64_t Count)

Description

This is called when a count is seen in the profile.

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:60

Parameters

uint64_t Count

void computeDetailedSummary()

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:61

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

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:71

Parameters

const llvm::SummaryEntryVector& DS

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

Description

Find the summary entry for a desired percentile of counts.

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:69

Parameters

const llvm::SummaryEntryVector& DS
uint64_t Percentile

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

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:70

Parameters

const llvm::SummaryEntryVector& DS

~ProfileSummaryBuilder()

Declared at: llvm/include/llvm/ProfileData/ProfileCommon.h:58