class SampleCoverageTracker

Declaration

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

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:35

Member Variables

private llvm::sampleprofutil::SampleCoverageTracker:: FunctionSamplesCoverageMap SampleCoverage
Each entry in the map corresponds to a FunctionSamples instance. This is another map that counts how many times the sample record at the given location has been used.
private uint64_t TotalUsedSamples = 0
Note that this accumulator tracks samples used from a single function and all the inlined callsites. Strictly, we should have a map of counters keyed by FunctionSamples pointers, but these stats are cleared after every function, so we just need to keep a single counter.
private bool ProfAccForSymsInList = false

Method Overview

  • public void clear()
  • public unsigned int computeCoverage(unsigned int Used, unsigned int Total) const
  • public unsigned int countBodyRecords(const llvm::sampleprof::FunctionSamples * FS, llvm::ProfileSummaryInfo * PSI) const
  • public uint64_t countBodySamples(const llvm::sampleprof::FunctionSamples * FS, llvm::ProfileSummaryInfo * PSI) const
  • public unsigned int countUsedRecords(const llvm::sampleprof::FunctionSamples * FS, llvm::ProfileSummaryInfo * PSI) const
  • public uint64_t getTotalUsedSamples() const
  • public bool markSamplesUsed(const llvm::sampleprof::FunctionSamples * FS, uint32_t LineOffset, uint32_t Discriminator, uint64_t Samples)
  • public void setProfAccForSymsInList(bool V)

Methods

void clear()

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:48

unsigned int computeCoverage(
    unsigned int Used,
    unsigned int Total) const

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:39

Parameters

unsigned int Used
unsigned int Total

unsigned int countBodyRecords(
    const llvm::sampleprof::FunctionSamples* FS,
    llvm::ProfileSummaryInfo* PSI) const

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:42

Parameters

const llvm::sampleprof::FunctionSamples* FS
llvm::ProfileSummaryInfo* PSI

uint64_t countBodySamples(
    const llvm::sampleprof::FunctionSamples* FS,
    llvm::ProfileSummaryInfo* PSI) const

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:45

Parameters

const llvm::sampleprof::FunctionSamples* FS
llvm::ProfileSummaryInfo* PSI

unsigned int countUsedRecords(
    const llvm::sampleprof::FunctionSamples* FS,
    llvm::ProfileSummaryInfo* PSI) const

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:40

Parameters

const llvm::sampleprof::FunctionSamples* FS
llvm::ProfileSummaryInfo* PSI

uint64_t getTotalUsedSamples() const

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:44

bool markSamplesUsed(
    const llvm::sampleprof::FunctionSamples* FS,
    uint32_t LineOffset,
    uint32_t Discriminator,
    uint64_t Samples)

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:37

Parameters

const llvm::sampleprof::FunctionSamples* FS
uint32_t LineOffset
uint32_t Discriminator
uint64_t Samples

void setProfAccForSymsInList(bool V)

Declared at: llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseUtil.h:52

Parameters

bool V