Refactor implementations


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12240 91177308-0d34-0410-b5e6-96231b3b80d8
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);