Refactor implementations
authorChris Lattner <sabre@nondot.org>
Mon, 8 Mar 2004 21:30:35 +0000 (21:30 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 8 Mar 2004 21:30:35 +0000 (21:30 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@12240 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Analysis/ProfileInfo.cpp
lib/Analysis/ProfileInfoLoaderPass.cpp

index 09bb1dfca13c6135f5253db1c23037c8a0f713f6..a96dc4f2fc66fee83713f02e6c44785d10100225 100644 (file)
@@ -29,9 +29,7 @@ ProfileInfo::~ProfileInfo() {}
 //
 
 namespace {
-  struct NoProfileInfo : public ImmutablePass, public ProfileInfo {
-    unsigned getExecutionCount(BasicBlock *BB) { return 0; }
-  };
+  struct NoProfileInfo : public ImmutablePass, public ProfileInfo {};
  
   // Register this pass...
   RegisterOpt<NoProfileInfo>
index dab4b0e53c5eef648a3112c50a26270c11bec60f..c1ff8cf563193384f25a485452578f91f88da2b1 100644 (file)
@@ -26,7 +26,6 @@ namespace {
 
   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 @@ namespace {
 
     /// 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 @@ Pass *llvm::createProfileLoaderPass(const std::string &Filename) {
 }
 
 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);