Move BasicBlockPassManager_New, FunctionPassManager_New and
authorDevang Patel <dpatel@apple.com>
Wed, 8 Nov 2006 10:05:38 +0000 (10:05 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 8 Nov 2006 10:05:38 +0000 (10:05 +0000)
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31545 91177308-0d34-0410-b5e6-96231b3b80d8

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

index 1f9bf92ccd50c5f2f90b625cffcf89dc69d5ffcc..31ce3daae4f0db5ae93619de74b897ae42eaa9a5 100644 (file)
@@ -88,6 +88,8 @@ public:
   bool doFinalization();
 };
 
+class ModulePassManager_New;
+
 /// PassManagerAnalysisHelper 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.
@@ -119,87 +121,6 @@ private:
   std::vector<AnalysisID> RequiredSet;
 };
 
-/// BasicBlockPassManager_New manages BasicBlockPass. It batches all the
-/// pass together and sequence them to process one basic block before
-/// processing next basic block.
-class BasicBlockPassManager_New : public Pass,
-                                  public PassManagerAnalysisHelper {
-
-public:
-  BasicBlockPassManager_New() { }
-
-  /// Add a pass into a passmanager queue. 
-  bool addPass(Pass *p);
-  
-  /// Execute all of the passes scheduled for execution.  Keep track of
-  /// whether any of the passes modifies the function, and if so, return true.
-  bool runOnFunction(Function &F);
-
-private:
-  // Collection of pass that are managed by this manager
-  std::vector<Pass *> PassVector;
-};
-
-/// FunctionPassManager_New manages FunctionPasses and BasicBlockPassManagers.
-/// It batches all function passes and basic block pass managers together and
-/// sequence them to process one function at a time before processing next
-/// function.
-class FunctionPassManager_New : public Pass,
-                                public PassManagerAnalysisHelper {
-public:
-  FunctionPassManager_New(ModuleProvider *P) { /* TODO */ }
-  FunctionPassManager_New() { 
-    activeBBPassManager = NULL;
-  }
-  ~FunctionPassManager_New() { /* TODO */ };
-  /// add - Add a pass to the queue of passes to run.  This passes
-  /// ownership of the Pass to the PassManager.  When the
-  /// PassManager_X is destroyed, the pass will be destroyed as well, so
-  /// there is no need to delete the pass. (TODO delete passes.)
-  /// This implies that all passes MUST be allocated with 'new'.
-  void add(Pass *P) { /* TODO*/  }
-
-  /// Add pass into the pass manager queue.
-  bool addPass(Pass *P);
-
-  /// Execute all of the passes scheduled for execution.  Keep
-  /// track of whether any of the passes modifies the function, and if
-  /// so, return true.
-  bool runOnModule(Module &M);
-
-private:
-  // Collection of pass that are manged by this manager
-  std::vector<Pass *> PassVector;
-  // Active Pass Managers
-  BasicBlockPassManager_New *activeBBPassManager;
-};
-
-/// ModulePassManager_New manages ModulePasses and function pass managers.
-/// It batches all Module passes  passes and function pass managers together and
-/// sequence them to process one module.
-class ModulePassManager_New : public Pass,
-                              public PassManagerAnalysisHelper {
-public:
-  ModulePassManager_New() { activeFunctionPassManager = NULL; }
-  
-  /// Add a pass into a passmanager queue. 
-  bool addPass(Pass *p);
-  
-  /// run - Execute all of the passes scheduled for execution.  Keep track of
-  /// whether any of the passes modifies the module, and if so, return true.
-  bool runOnModule(Module &M);
-  
-private:
-  // Collection of pass that are managed by this manager
-  std::vector<Pass *> PassVector;
-  
-  // Active Pass Manager
-  FunctionPassManager_New *activeFunctionPassManager;
-};
-
 /// PassManager_New manages ModulePassManagers
 class PassManager_New : public Pass,
                         public PassManagerAnalysisHelper {
index 8bddb1007a130ba13474356636afc7b4b8b60b30..2592c4e907a24ecc98c842f1657643f1869ec27d 100644 (file)
@@ -2,7 +2,7 @@
 //
 //                     The LLVM Compiler Infrastructure
 //
-// This file was developed by Devang Patel  and is distributed under
+// This file was developed by Devang Patel and is distributed under
 // the University of Illinois Open Source License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
 
 using namespace llvm;
 
+namespace llvm {
+
+/// BasicBlockPassManager_New manages BasicBlockPass. It batches all the
+/// pass together and sequence them to process one basic block before
+/// processing next basic block.
+class BasicBlockPassManager_New : public Pass,
+                                  public PassManagerAnalysisHelper {
+
+public:
+  BasicBlockPassManager_New() { }
+
+  /// Add a pass into a passmanager queue. 
+  bool addPass(Pass *p);
+  
+  /// Execute all of the passes scheduled for execution.  Keep track of
+  /// whether any of the passes modifies the function, and if so, return true.
+  bool runOnFunction(Function &F);
+
+private:
+  // Collection of pass that are managed by this manager
+  std::vector<Pass *> PassVector;
+};
+
+/// FunctionPassManager_New manages FunctionPasses and BasicBlockPassManagers.
+/// It batches all function passes and basic block pass managers together and
+/// sequence them to process one function at a time before processing next
+/// function.
+class FunctionPassManager_New : public Pass,
+                                public PassManagerAnalysisHelper {
+public:
+  FunctionPassManager_New(ModuleProvider *P) { /* TODO */ }
+  FunctionPassManager_New() { 
+    activeBBPassManager = NULL;
+  }
+  ~FunctionPassManager_New() { /* TODO */ };
+  /// add - Add a pass to the queue of passes to run.  This passes
+  /// ownership of the Pass to the PassManager.  When the
+  /// PassManager_X is destroyed, the pass will be destroyed as well, so
+  /// there is no need to delete the pass. (TODO delete passes.)
+  /// This implies that all passes MUST be allocated with 'new'.
+  void add(Pass *P) { /* TODO*/  }
+
+  /// Add pass into the pass manager queue.
+  bool addPass(Pass *P);
+
+  /// Execute all of the passes scheduled for execution.  Keep
+  /// track of whether any of the passes modifies the function, and if
+  /// so, return true.
+  bool runOnModule(Module &M);
+
+private:
+  // Collection of pass that are manged by this manager
+  std::vector<Pass *> PassVector;
+  // Active Pass Managers
+  BasicBlockPassManager_New *activeBBPassManager;
+};
+
+/// ModulePassManager_New manages ModulePasses and function pass managers.
+/// It batches all Module passes  passes and function pass managers together and
+/// sequence them to process one module.
+class ModulePassManager_New : public Pass,
+                              public PassManagerAnalysisHelper {
+public:
+  ModulePassManager_New() { activeFunctionPassManager = NULL; }
+  
+  /// Add a pass into a passmanager queue. 
+  bool addPass(Pass *p);
+  
+  /// run - Execute all of the passes scheduled for execution.  Keep track of
+  /// whether any of the passes modifies the module, and if so, return true.
+  bool runOnModule(Module &M);
+  
+private:
+  // Collection of pass that are managed by this manager
+  std::vector<Pass *> PassVector;
+  
+  // Active Pass Manager
+  FunctionPassManager_New *activeFunctionPassManager;
+};
+
+} // End of llvm namespace
+
 // PassManagerAnalysisHelper implementation
 
 /// Return true IFF pass P's required analysis set does not required new