summaryrefslogtreecommitdiff
path: root/tools/llvm-prof
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-08-13 01:55:43 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-08-13 01:55:43 +0000
commit3cdfb4afbbe213bf82c260505bf9729fd6036190 (patch)
tree106479e0ceb11e89cb932d97b33b8916ffefa4dc /tools/llvm-prof
parent01889caf73a2faa3b77142851faa09abad5c73b0 (diff)
downloadllvm-3cdfb4afbbe213bf82c260505bf9729fd6036190.tar.gz
llvm-3cdfb4afbbe213bf82c260505bf9729fd6036190.tar.bz2
llvm-3cdfb4afbbe213bf82c260505bf9729fd6036190.tar.xz
Update llvm-prof for ProfileInfo API changes.
- Patch by Erick Tryzelaar git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78880 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools/llvm-prof')
-rw-r--r--tools/llvm-prof/llvm-prof.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/tools/llvm-prof/llvm-prof.cpp b/tools/llvm-prof/llvm-prof.cpp
index c370e6bee7..f9f109df50 100644
--- a/tools/llvm-prof/llvm-prof.cpp
+++ b/tools/llvm-prof/llvm-prof.cpp
@@ -58,10 +58,10 @@ namespace {
// PairSecondSort - A sorting predicate to sort by the second element of a pair.
template<class T>
struct PairSecondSortReverse
- : public std::binary_function<std::pair<T, unsigned>,
- std::pair<T, unsigned>, bool> {
- bool operator()(const std::pair<T, unsigned> &LHS,
- const std::pair<T, unsigned> &RHS) const {
+ : public std::binary_function<std::pair<T, double>,
+ std::pair<T, double>, bool> {
+ bool operator()(const std::pair<T, double> &LHS,
+ const std::pair<T, double> &RHS) const {
return LHS.second > RHS.second;
}
};
@@ -98,7 +98,7 @@ namespace {
virtual void emitBasicBlockEndAnnot(const BasicBlock *BB, raw_ostream &OS) {
// Figure out how many times each successor executed.
- std::vector<std::pair<ProfileInfo::Edge, unsigned> > SuccCounts;
+ std::vector<std::pair<ProfileInfo::Edge, double> > SuccCounts;
const TerminatorInst *TI = BB->getTerminator();
for (unsigned s = 0, e = TI->getNumSuccessors(); s != e; ++s) {
@@ -151,8 +151,8 @@ bool ProfileInfoPrinterPass::runOnModule(Module &M) {
// the command line, for now, just keep things simple.
// Emit the most frequent function table...
- std::vector<std::pair<Function*, unsigned> > FunctionCounts;
- std::vector<std::pair<BasicBlock*, unsigned> > Counts;
+ std::vector<std::pair<Function*, double> > FunctionCounts;
+ std::vector<std::pair<BasicBlock*, double> > Counts;
for (Module::iterator FI = M.begin(), FE = M.end(); FI != FE; ++FI) {
if (FI->isDeclaration()) continue;
double w = ignoreMissing(PI.getExecutionCount(FI));
@@ -168,7 +168,7 @@ bool ProfileInfoPrinterPass::runOnModule(Module &M) {
sort(FunctionCounts.begin(), FunctionCounts.end(),
PairSecondSortReverse<Function*>());
- uint64_t TotalExecutions = 0;
+ double TotalExecutions = 0;
for (unsigned i = 0, e = FunctionCounts.size(); i != e; ++i)
TotalExecutions += FunctionCounts[i].second;