Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
authorDevang Patel <dpatel@apple.com>
Sat, 11 Nov 2006 01:31:05 +0000 (01:31 +0000)
committerDevang Patel <dpatel@apple.com>
Sat, 11 Nov 2006 01:31:05 +0000 (01:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31666 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/PassManager.h
lib/VMCore/PassManager.cpp

index 667fa7050af775cbf789db9272f86289c80245df..5b8c7f6220e6c5c226bf7ed90481d9964e407604 100644 (file)
@@ -18,8 +18,6 @@
 #define LLVM_PASSMANAGER_H
 
 #include "llvm/Pass.h"
-#include <vector>
-#include <set>
 
 namespace llvm {
 
@@ -93,45 +91,8 @@ class ModulePassManager_New;
 class PassManagerImpl_New;
 class FunctionPassManagerImpl_New;
 
-/// CommonPassManagerImpl helps pass manager analysis required by
-/// the managed passes. It provides methods to add/remove analysis
-/// available and query if certain analysis is available or not.
-class CommonPassManagerImpl : public Pass{
-
-public:
-
-  /// Return true IFF pass P's required analysis set does not required new
-  /// manager.
-  bool manageablePass(Pass *P);
-
-  /// Return true IFF AnalysisID AID is currently available.
-  bool analysisCurrentlyAvailable(AnalysisID AID);
-
-  /// Augment RequiredAnalysis by adding analysis required by pass P.
-  void noteDownRequiredAnalysis(Pass *P);
-
-  /// Augment AvailableAnalysis by adding analysis made available by pass P.
-  void noteDownAvailableAnalysis(Pass *P);
-
-  /// Remove AnalysisID from the RequiredSet
-  void removeAnalysis(AnalysisID AID);
-
-  /// Remove Analysis that is not preserved by the pass
-  void removeNotPreservedAnalysis(Pass *P);
-  
-  /// Remove dead passes
-  void removeDeadPasses() { /* TODO : Implement */ }
-
-private:
-   // Analysis required by the passes managed by this manager
-  std::vector<AnalysisID> RequiredAnalysis;
-
-  // set of available Analysis
-  std::set<AnalysisID> AvailableAnalysis;
-};
-
 /// PassManager_New manages ModulePassManagers
-class PassManager_New : public CommonPassManagerImpl {
+class PassManager_New {
 
 public:
 
@@ -156,7 +117,7 @@ private:
 };
 
 /// FunctionPassManager_New manages FunctionPasses and BasicBlockPassManagers.
-class FunctionPassManager_New : public CommonPassManagerImpl {
+class FunctionPassManager_New {
 public:
   FunctionPassManager_New(ModuleProvider *P) { /* TODO */ }
   FunctionPassManager_New();
index 19154fe06e981f168e8c3de8a6c55486e6b9facd..1e52403399d6a1718936c3837f9d8e6348c7a057 100644 (file)
 
 #include "llvm/PassManager.h"
 #include "llvm/Module.h"
+#include <vector>
+#include <set>
 
 using namespace llvm;
 
 namespace llvm {
 
+/// CommonPassManagerImpl helps pass manager analysis required by
+/// the managed passes. It provides methods to add/remove analysis
+/// available and query if certain analysis is available or not.
+class CommonPassManagerImpl : public Pass {
+
+public:
+
+  /// Return true IFF pass P's required analysis set does not required new
+  /// manager.
+  bool manageablePass(Pass *P);
+
+  /// Return true IFF AnalysisID AID is currently available.
+  bool analysisCurrentlyAvailable(AnalysisID AID);
+
+  /// Augment RequiredAnalysis by adding analysis required by pass P.
+  void noteDownRequiredAnalysis(Pass *P);
+
+  /// Augment AvailableAnalysis by adding analysis made available by pass P.
+  void noteDownAvailableAnalysis(Pass *P);
+
+  /// Remove AnalysisID from the RequiredSet
+  void removeAnalysis(AnalysisID AID);
+
+  /// Remove Analysis that is not preserved by the pass
+  void removeNotPreservedAnalysis(Pass *P);
+  
+  /// Remove dead passes
+  void removeDeadPasses() { /* TODO : Implement */ }
+
+private:
+   // Analysis required by the passes managed by this manager
+  std::vector<AnalysisID> RequiredAnalysis;
+
+  // set of available Analysis
+  std::set<AnalysisID> AvailableAnalysis;
+};
+
 /// BasicBlockPassManager_New manages BasicBlockPass. It batches all the
 /// pass together and sequence them to process one basic block before
 /// processing next basic block.