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 { _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits