14 #ifndef LLVM_IR_PROFILESUMMARY_H 15 #define LLVM_IR_PROFILESUMMARY_H 38 uint64_t TheNumCounts)
39 : Cutoff(TheCutoff), MinCount(TheMinCount), NumCounts(TheNumCounts) {}
46 enum Kind { PSK_Instr, PSK_Sample };
50 static const char *KindStr[2];
52 uint64_t TotalCount, MaxCount, MaxInternalCount, MaxFunctionCount;
58 static const int Scale = 1000000;
61 uint64_t TotalCount, uint64_t MaxCount,
62 uint64_t MaxInternalCount, uint64_t MaxFunctionCount,
64 : PSK(K), DetailedSummary(
std::move(DetailedSummary)),
65 TotalCount(TotalCount), MaxCount(MaxCount),
66 MaxInternalCount(MaxInternalCount), MaxFunctionCount(MaxFunctionCount),
67 NumCounts(NumCounts), NumFunctions(NumFunctions) {}
85 #endif // LLVM_IR_PROFILESUMMARY_H
uint32_t Cutoff
The required percentile of counts.
This class represents lattice values for constants.
uint64_t getMaxInternalCount()
ProfileSummary(Kind K, SummaryEntryVector DetailedSummary, uint64_t TotalCount, uint64_t MaxCount, uint64_t MaxInternalCount, uint64_t MaxFunctionCount, uint32_t NumCounts, uint32_t NumFunctions)
uint64_t getMaxFunctionCount()
SummaryEntryVector & getDetailedSummary()
This is an important class for using LLVM in a threaded context.
ProfileSummaryEntry(uint32_t TheCutoff, uint64_t TheMinCount, uint64_t TheNumCounts)
uint32_t getNumFunctions()
uint64_t MinCount
The minimum count for this percentile.
uint64_t NumCounts
Number of counts >= the minimum count.
std::vector< ProfileSummaryEntry > SummaryEntryVector
std::vector< uint32_t > Metadata
PAL metadata represented as a vector.