[llvm-commits] CVS: llvm/include/llvm/PassManager.h

Devang Patel dpatel at apple.com
Wed Nov 8 02:05:55 PST 2006



Changes in directory llvm/include/llvm:

PassManager.h updated: 1.23 -> 1.24
---
Log message:

Move BasicBlockPassManager_New, FunctionPassManager_New and
ModulePassManager_New class declarations from PassManager.h
to PassManager.cpp



---
Diffs of the changes:  (+2 -81)

 PassManager.h |   83 +---------------------------------------------------------
 1 files changed, 2 insertions(+), 81 deletions(-)


Index: llvm/include/llvm/PassManager.h
diff -u llvm/include/llvm/PassManager.h:1.23 llvm/include/llvm/PassManager.h:1.24
--- llvm/include/llvm/PassManager.h:1.23	Tue Nov  7 18:19:31 2006
+++ llvm/include/llvm/PassManager.h	Wed Nov  8 04:05:38 2006
@@ -88,6 +88,8 @@
   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 @@
   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 {






More information about the llvm-commits mailing list