mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
[Profile] dump ic value profile value/site-count histogram
Differential Revision: http://reviews.google.com/D24783 llvm-svn: 282017
This commit is contained in:
parent
658d5cf8a0
commit
71316d5b37
@ -66,4 +66,7 @@ foo2:20000
|
||||
#ICSUM: Total Number of Indirect Call Sites : 3
|
||||
#ICSUM: Total Number of Sites With Values : 2
|
||||
#ICSUM: Total Number of Profiled Values : 3
|
||||
#ICSUM: NumTargets, SiteCount
|
||||
#ICSUM 1, 1
|
||||
#ICSUM 2, 1
|
||||
|
||||
|
@ -463,6 +463,7 @@ static int showInstrProfile(const std::string &Filename, bool ShowCounts,
|
||||
uint64_t TotalNumValueSites = 0;
|
||||
uint64_t TotalNumValueSitesWithValueProfile = 0;
|
||||
uint64_t TotalNumValues = 0;
|
||||
std::vector<unsigned> ICHistogram;
|
||||
for (const auto &Func : *Reader) {
|
||||
bool Show =
|
||||
ShowAllFunctions || (!ShowFunction.empty() &&
|
||||
@ -515,8 +516,12 @@ static int showInstrProfile(const std::string &Filename, bool ShowCounts,
|
||||
std::unique_ptr<InstrProfValueData[]> VD =
|
||||
Func.getValueForSite(IPVK_IndirectCallTarget, I);
|
||||
TotalNumValues += NV;
|
||||
if (NV)
|
||||
if (NV) {
|
||||
TotalNumValueSitesWithValueProfile++;
|
||||
if (NV > ICHistogram.size())
|
||||
ICHistogram.resize(NV, 0);
|
||||
ICHistogram[NV - 1]++;
|
||||
}
|
||||
for (uint32_t V = 0; V < NV; V++) {
|
||||
OS << "\t[ " << I << ", ";
|
||||
OS << Symtab.getFuncName(VD[V].Value) << ", " << VD[V].Count
|
||||
@ -543,6 +548,11 @@ static int showInstrProfile(const std::string &Filename, bool ShowCounts,
|
||||
OS << "Total Number of Sites With Values : "
|
||||
<< TotalNumValueSitesWithValueProfile << "\n";
|
||||
OS << "Total Number of Profiled Values : " << TotalNumValues << "\n";
|
||||
|
||||
OS << "IC Value histogram : \n\tNumTargets, SiteCount\n";
|
||||
for (unsigned I = 0; I < ICHistogram.size(); I++) {
|
||||
OS << "\t" << I + 1 << ", " << ICHistogram[I] << "\n";
|
||||
}
|
||||
}
|
||||
|
||||
if (ShowDetailedSummary) {
|
||||
|
Loading…
Reference in New Issue
Block a user