[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