aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-11-11 01:31:05 +0000
committerDevang Patel <dpatel@apple.com>2006-11-11 01:31:05 +0000
commit85d344b0c68048527f1ac46ba22bbc950870d3c5 (patch)
tree8b20f5bfbbf860d1ef94732bb399bb9c9f7ef007
parent14d6581a7374bdb4a66ef6c30250efdc324f6dde (diff)
Move CommonPassManagerImpl from PassManager.h to PassManager.cpp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31666 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/PassManager.h43
-rw-r--r--lib/VMCore/PassManager.cpp39
2 files changed, 41 insertions, 41 deletions
diff --git a/include/llvm/PassManager.h b/include/llvm/PassManager.h
index 667fa7050a..5b8c7f6220 100644
--- a/include/llvm/PassManager.h
+++ b/include/llvm/PassManager.h
@@ -18,8 +18,6 @@
#define LLVM_PASSMANAGER_H
#include "llvm/Pass.h"
-#include <vector>
-#include <set>
namespace llvm {
@@ -93,45 +91,8 @@ class ModulePassManager_New;
class PassManagerImpl_New;
class FunctionPassManagerImpl_New;
-/// 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{
-
-public:
-
- /// Return true IFF pass P's required analysis set does not required new
- /// manager.
- bool manageablePass(Pass *P);
-
- /// Return true IFF AnalysisID AID is currently available.
- bool analysisCurrentlyAvailable(AnalysisID AID);
-
- /// Augment RequiredAnalysis by adding analysis required by pass P.
- void noteDownRequiredAnalysis(Pass *P);
-
- /// Augment AvailableAnalysis by adding analysis made available by pass P.
- void noteDownAvailableAnalysis(Pass *P);
-
- /// Remove AnalysisID from the RequiredSet
- void removeAnalysis(AnalysisID AID);
-
- /// Remove Analysis that is not preserved by the pass
- void removeNotPreservedAnalysis(Pass *P);
-
- /// Remove dead passes
- void removeDeadPasses() { /* TODO : Implement */ }
-
-private:
- // Analysis required by the passes managed by this manager
- std::vector<AnalysisID> RequiredAnalysis;
-
- // set of available Analysis
- std::set<AnalysisID> AvailableAnalysis;
-};
-
/// PassManager_New manages ModulePassManagers
-class PassManager_New : public CommonPassManagerImpl {
+class PassManager_New {
public:
@@ -156,7 +117,7 @@ private:
};
/// FunctionPassManager_New manages FunctionPasses and BasicBlockPassManagers.
-class FunctionPassManager_New : public CommonPassManagerImpl {
+class FunctionPassManager_New {
public:
FunctionPassManager_New(ModuleProvider *P) { /* TODO */ }
FunctionPassManager_New();
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp
index 19154fe06e..1e52403399 100644
--- a/lib/VMCore/PassManager.cpp
+++ b/lib/VMCore/PassManager.cpp
@@ -14,11 +14,50 @@
#include "llvm/PassManager.h"
#include "llvm/Module.h"
+#include <vector>
+#include <set>
using namespace llvm;
namespace llvm {
+/// 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 {
+
+public:
+
+ /// Return true IFF pass P's required analysis set does not required new
+ /// manager.
+ bool manageablePass(Pass *P);
+
+ /// Return true IFF AnalysisID AID is currently available.
+ bool analysisCurrentlyAvailable(AnalysisID AID);
+
+ /// Augment RequiredAnalysis by adding analysis required by pass P.
+ void noteDownRequiredAnalysis(Pass *P);
+
+ /// Augment AvailableAnalysis by adding analysis made available by pass P.
+ void noteDownAvailableAnalysis(Pass *P);
+
+ /// Remove AnalysisID from the RequiredSet
+ void removeAnalysis(AnalysisID AID);
+
+ /// Remove Analysis that is not preserved by the pass
+ void removeNotPreservedAnalysis(Pass *P);
+
+ /// Remove dead passes
+ void removeDeadPasses() { /* TODO : Implement */ }
+
+private:
+ // Analysis required by the passes managed by this manager
+ std::vector<AnalysisID> RequiredAnalysis;
+
+ // set of available Analysis
+ std::set<AnalysisID> AvailableAnalysis;
+};
+
/// BasicBlockPassManager_New manages BasicBlockPass. It batches all the
/// pass together and sequence them to process one basic block before
/// processing next basic block.