Refactor implementations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12240 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Analysis/ProfileInfo.cpp b/lib/Analysis/ProfileInfo.cpp
index 09bb1df..a96dc4f 100644
--- a/lib/Analysis/ProfileInfo.cpp
+++ b/lib/Analysis/ProfileInfo.cpp
@@ -29,9 +29,7 @@
//
namespace {
- struct NoProfileInfo : public ImmutablePass, public ProfileInfo {
- unsigned getExecutionCount(BasicBlock *BB) { return 0; }
- };
+ struct NoProfileInfo : public ImmutablePass, public ProfileInfo {};
// Register this pass...
RegisterOpt<NoProfileInfo>
diff --git a/lib/Analysis/ProfileInfoLoaderPass.cpp b/lib/Analysis/ProfileInfoLoaderPass.cpp
index dab4b0e..c1ff8cf 100644
--- a/lib/Analysis/ProfileInfoLoaderPass.cpp
+++ b/lib/Analysis/ProfileInfoLoaderPass.cpp
@@ -26,7 +26,6 @@
class LoaderPass : public Pass, public ProfileInfo {
std::string Filename;
- std::map<BasicBlock*, unsigned> ExecutionCounts;
public:
LoaderPass(const std::string &filename = "")
: Filename(filename) {
@@ -43,11 +42,6 @@
/// run - Load the profile information from the specified file.
virtual bool run(Module &M);
-
- virtual unsigned getExecutionCount(BasicBlock *BB) {
- std::map<BasicBlock*, unsigned>::iterator I = ExecutionCounts.find(BB);
- return I != ExecutionCounts.end() ? I->second : 0;
- }
};
RegisterOpt<LoaderPass>
@@ -65,7 +59,8 @@
}
bool LoaderPass::run(Module &M) {
- ProfileInfoLoader PIL("opt", Filename, M);
+ ProfileInfoLoader PIL("profile-loader", Filename, M);
+ ExecutionCounts.clear();
if (PIL.hasAccurateBlockCounts()) {
std::vector<std::pair<BasicBlock*, unsigned> > Counts;
PIL.getBlockCounts(Counts);