LLVM 22.0.0git
|
#include "llvm/ProfileData/InstrProf.h"
Public Member Functions | |
InstrProfValueSiteRecord ()=default | |
InstrProfValueSiteRecord (std::vector< InstrProfValueData > &&VD) | |
void | sortByTargetValues () |
Sort ValueData ascending by Value. | |
void | sortByCount () |
Sort ValueData Descending by Count. | |
LLVM_ABI void | merge (InstrProfValueSiteRecord &Input, uint64_t Weight, function_ref< void(instrprof_error)> Warn) |
Merge data from another InstrProfValueSiteRecord Optionally scale merged counts by Weight . | |
LLVM_ABI void | scale (uint64_t N, uint64_t D, function_ref< void(instrprof_error)> Warn) |
Scale up value profile data counts by N (Numerator) / D (Denominator). | |
LLVM_ABI void | overlap (InstrProfValueSiteRecord &Input, uint32_t ValueKind, OverlapStats &Overlap, OverlapStats &FuncLevelOverlap) |
Compute the overlap b/w this record and Input record. |
Public Attributes | |
std::vector< InstrProfValueData > | ValueData |
Value profiling data pairs at a given value site. |
Definition at line 863 of file InstrProf.h.
|
default |
|
inline |
Definition at line 868 of file InstrProf.h.
References ValueData.
void llvm::InstrProfValueSiteRecord::merge | ( | InstrProfValueSiteRecord & | Input, |
uint64_t | Weight, | ||
function_ref< void(instrprof_error)> | Warn ) |
Merge data from another InstrProfValueSiteRecord Optionally scale merged counts by Weight
.
Definition at line 897 of file InstrProf.cpp.
References llvm::counter_overflow, I, InstrProfValueSiteRecord(), llvm::SaturatingMultiplyAdd(), sortByTargetValues(), and ValueData.
void llvm::InstrProfValueSiteRecord::overlap | ( | InstrProfValueSiteRecord & | Input, |
uint32_t | ValueKind, | ||
OverlapStats & | Overlap, | ||
OverlapStats & | FuncLevelOverlap ) |
Compute the overlap b/w this record and Input record.
Definition at line 797 of file InstrProf.cpp.
References llvm::OverlapStats::Base, I, InstrProfValueSiteRecord(), llvm::OverlapStats::Overlap, llvm::OverlapStats::score(), sortByTargetValues(), llvm::OverlapStats::Test, llvm::CountSumOrPercent::ValueCounts, and ValueData.
void llvm::InstrProfValueSiteRecord::scale | ( | uint64_t | N, |
uint64_t | D, | ||
function_ref< void(instrprof_error)> | Warn ) |
Scale up value profile data counts by N (Numerator) / D (Denominator).
Definition at line 926 of file InstrProf.cpp.
References llvm::counter_overflow, D(), I, N, llvm::SaturatingMultiply(), and ValueData.
|
inline |
Sort ValueData Descending by Count.
Definition at line 1115 of file InstrProf.h.
References INSTR_PROF_MAX_NUM_VAL_PER_SITE, llvm::stable_sort(), and ValueData.
|
inline |
Sort ValueData ascending by Value.
Definition at line 872 of file InstrProf.h.
std::vector<InstrProfValueData> llvm::InstrProfValueSiteRecord::ValueData |
Value profiling data pairs at a given value site.
Definition at line 865 of file InstrProf.h.
Referenced by InstrProfValueSiteRecord(), merge(), overlap(), scale(), and sortByCount().