aboutsummaryrefslogtreecommitdiffstats
path: root/tools/llvm-prof/ProfileInfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/llvm-prof/ProfileInfo.h')
-rw-r--r--tools/llvm-prof/ProfileInfo.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/tools/llvm-prof/ProfileInfo.h b/tools/llvm-prof/ProfileInfo.h
index 360d5fa1c9..eab9bc9781 100644
--- a/tools/llvm-prof/ProfileInfo.h
+++ b/tools/llvm-prof/ProfileInfo.h
@@ -20,6 +20,7 @@
#include <utility>
class Module;
class Function;
+class BasicBlock;
class ProfileInfo {
Module &M;
@@ -37,6 +38,18 @@ public:
//
void getFunctionCounts(std::vector<std::pair<Function*, unsigned> > &Counts);
+ // hasAccurateBlockCounts - Return true if we can synthesize accurate block
+ // frequency information from whatever we have.
+ //
+ bool hasAccurateBlockCounts() const {
+ return !BlockCounts.empty();
+ }
+
+ // getBlockCounts - This method is used by consumers of block counting
+ // information. If we do not directly have block count information, we
+ // compute it from other, more refined, types of profile information.
+ //
+ void getBlockCounts(std::vector<std::pair<BasicBlock*, unsigned> > &Counts);
};
#endif