[llvm-commits] CVS: llvm/lib/VMCore/PassManager.cpp

Devang Patel dpatel at apple.com
Tue Nov 14 17:11:41 PST 2006



Changes in directory llvm/lib/VMCore:

PassManager.cpp updated: 1.28 -> 1.29
---
Log message:

Do not derive CommonPassManagerImpl from Pass.
Now BasicBlockPassManager_New is a FunctionPass,
FunctionPassManager_New is a ModulePass


---
Diffs of the changes:  (+7 -5)

 PassManager.cpp |   12 +++++++-----
 1 files changed, 7 insertions(+), 5 deletions(-)


Index: llvm/lib/VMCore/PassManager.cpp
diff -u llvm/lib/VMCore/PassManager.cpp:1.28 llvm/lib/VMCore/PassManager.cpp:1.29
--- llvm/lib/VMCore/PassManager.cpp:1.28	Tue Nov 14 15:49:36 2006
+++ llvm/lib/VMCore/PassManager.cpp	Tue Nov 14 19:11:27 2006
@@ -24,7 +24,7 @@
 /// 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 {
+class CommonPassManagerImpl {
 
 public:
 
@@ -124,7 +124,8 @@
 /// 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 CommonPassManagerImpl {
+class BasicBlockPassManager_New : public CommonPassManagerImpl, 
+                                  public FunctionPass {
 
 public:
   BasicBlockPassManager_New() { }
@@ -146,7 +147,8 @@
 /// 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 FunctionPassManagerImpl_New : public CommonPassManagerImpl {
+class FunctionPassManagerImpl_New : public CommonPassManagerImpl,
+                                    public ModulePass {
 public:
   FunctionPassManagerImpl_New(ModuleProvider *P) { /* TODO */ }
   FunctionPassManagerImpl_New() { 
@@ -353,8 +355,8 @@
 // implementations it needs.
 //
 void CommonPassManagerImpl::initializeAnalysisImpl(Pass *P) {
-  AnalysisUsage AnUsage;
-  P->getAnalysisUsage(AnUsage);
+    AnalysisUsage AnUsage;
+    P->getAnalysisUsage(AnUsage);
  
   for (std::vector<const PassInfo *>::const_iterator
          I = AnUsage.getRequiredSet().begin(),






More information about the llvm-commits mailing list