Provide an accessor for getting function count information. Print a simple
report
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9557 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/llvm-prof/ProfileInfo.h b/tools/llvm-prof/ProfileInfo.h
index 8f823aa..360d5fa 100644
--- a/tools/llvm-prof/ProfileInfo.h
+++ b/tools/llvm-prof/ProfileInfo.h
@@ -17,15 +17,26 @@
#include <vector>
#include <string>
+#include <utility>
+class Module;
+class Function;
class ProfileInfo {
+ Module &M;
std::vector<std::string> CommandLines;
std::vector<unsigned> FunctionCounts;
std::vector<unsigned> BlockCounts;
public:
// ProfileInfo ctor - Read the specified profiling data file, exiting the
// program if the file is invalid or broken.
- ProfileInfo(const char *ToolName, const std::string &Filename);
+ ProfileInfo(const char *ToolName, const std::string &Filename, Module &M);
+
+ // getFunctionCounts - This method is used by consumers of function counting
+ // information. If we do not directly have function count information, we
+ // compute it from other, more refined, types of profile information.
+ //
+ void getFunctionCounts(std::vector<std::pair<Function*, unsigned> > &Counts);
+
};
#endif