summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-profdata/llvm-profdata.cpp
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2014-03-12 20:26:37 +0000
committerJustin Bogner <mail@justinbogner.com>2014-03-12 20:26:37 +0000
commita1f278f96c2e96b38905b9351e66007a92a817a3 (patch)
tree6ff508dabac6bb498e5fb3f798f6f6426b4b3d53 /llvm/tools/llvm-profdata/llvm-profdata.cpp
parent62f0236d36021108bd19a1265bfb9ffd3cf0c9f4 (diff)
downloadbcm5719-llvm-a1f278f96c2e96b38905b9351e66007a92a817a3.tar.gz
bcm5719-llvm-a1f278f96c2e96b38905b9351e66007a92a817a3.zip
Profile: Remove an inefficient and unnecessary API function
This was leftover from an approach I abandoned, but I forgot to update it before committing. llvm-svn: 203708
Diffstat (limited to 'llvm/tools/llvm-profdata/llvm-profdata.cpp')
-rw-r--r--llvm/tools/llvm-profdata/llvm-profdata.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/tools/llvm-profdata/llvm-profdata.cpp b/llvm/tools/llvm-profdata/llvm-profdata.cpp
index fcc54042f40..989c4281f82 100644
--- a/llvm/tools/llvm-profdata/llvm-profdata.cpp
+++ b/llvm/tools/llvm-profdata/llvm-profdata.cpp
@@ -171,21 +171,24 @@ int show_main(int argc, const char *argv[]) {
if (ShowAllFunctions && !ShowFunction.empty())
errs() << "warning: -function argument ignored: showing all functions\n";
- uint64_t MaxBlockCount = 0, MaxFunctionCount = 0;
+ uint64_t MaxFunctionCount = Reader->getMaximumFunctionCount();
+
+ uint64_t MaxBlockCount = 0;
uint64_t Hash;
- double CallFreq;
size_t ShownFunctions = false;
std::vector<uint64_t> Counts;
for (const auto &Name : *Reader) {
bool Show = ShowAllFunctions || Name.find(ShowFunction) != Name.npos;
if (error_code EC = Reader->getFunctionCounts(Name, Hash, Counts))
exitWithError(EC.message(), Filename);
- if (error_code EC = Reader->getCallFrequency(Name, Hash, CallFreq))
- exitWithError(EC.message(), Filename);
+
if (Show) {
+ double CallFreq = Counts[0] / (double)MaxFunctionCount;
+
if (!ShownFunctions)
OS << "Counters:\n";
++ShownFunctions;
+
OS << " " << Name << ":\n"
<< " Hash: " << HashPrinter(Hash) << "\n"
<< " Relative call frequency: " << FreqPrinter(CallFreq) << "\n"
@@ -193,9 +196,6 @@ int show_main(int argc, const char *argv[]) {
<< " Function count: " << Counts[0] << "\n";
}
- if (Counts[0] > MaxFunctionCount)
- MaxFunctionCount = Counts[0];
-
if (Show && ShowCounts)
OS << " Block counts: [";
for (size_t I = 1, E = Counts.size(); I < E; ++I) {
OpenPOWER on IntegriCloud