15 #ifndef LLVM_PROFILEDATA_PROFILE_COMMON_H
16 #define LLVM_PROFILEDATA_PROFILE_COMMON_H
30 namespace IndexedInstrProf {
33 namespace sampleprof {
51 std::map<uint64_t, uint32_t, std::greater<uint64_t>> CountFrequencies;
52 std::vector<uint32_t> DetailedSummaryCutoffs;
57 : DetailedSummaryCutoffs(std::move(Cutoffs)) {}
58 inline void addCount(uint64_t Count);
70 uint64_t MaxInternalBlockCount = 0;
71 inline void addEntryCount(uint64_t Count);
72 inline void addInternalCount(uint64_t Count);
96 CountFrequencies[Count]++;
ProfileSummaryBuilder(std::vector< uint32_t > Cutoffs)
const char * getUnlikelySectionPrefix()
const char * getHotSectionPrefix()
~ProfileSummaryBuilder()=default
static const ArrayRef< uint32_t > DefaultCutoffs
A vector of useful cutoff values for detailed summary.
void addCount(uint64_t Count)
This is called when a count is seen in the profile.
void addRecord(const InstrProfRecord &)
SampleProfileSummaryBuilder(std::vector< uint32_t > Cutoffs)
Representation of the samples collected for a function.
void computeDetailedSummary()
InstrProfSummaryBuilder(std::vector< uint32_t > Cutoffs)
This is an important class for using LLVM in a threaded context.
uint64_t MaxFunctionCount
std::unique_ptr< ProfileSummary > getSummary()
void addRecord(const sampleprof::FunctionSamples &FS)
SummaryEntryVector DetailedSummary
std::unique_ptr< ProfileSummary > getSummary()
Profiling information for a single function.
std::vector< ProfileSummaryEntry > SummaryEntryVector