Now FunctionPassManagerImpl_New and PassManagerImpl_New derives from

PMTopLevelManager.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32325 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Devang Patel
2006-12-07 21:27:23 +00:00
parent 1209f416cf
commit eb0d613ef6

View File

@@ -327,8 +327,9 @@ private:
/// It batches all function passes and basic block pass managers together and /// It batches all function passes and basic block pass managers together and
/// sequence them to process one function at a time before processing next /// sequence them to process one function at a time before processing next
/// function. /// function.
class FunctionPassManagerImpl_New : public PMDataManager, class FunctionPassManagerImpl_New : public ModulePass,
public ModulePass { public PMDataManager,
public PMTopLevelManager {
public: public:
FunctionPassManagerImpl_New(ModuleProvider *P) { /* TODO */ } FunctionPassManagerImpl_New(ModuleProvider *P) { /* TODO */ }
FunctionPassManagerImpl_New() { FunctionPassManagerImpl_New() {
@@ -336,6 +337,10 @@ public:
} }
~FunctionPassManagerImpl_New() { /* TODO */ }; ~FunctionPassManagerImpl_New() { /* TODO */ };
inline void addTopLevelPass(Pass *P) {
addPass(P);
}
/// add - Add a pass to the queue of passes to run. This passes /// add - Add a pass to the queue of passes to run. This passes
/// ownership of the Pass to the PassManager. When the /// ownership of the Pass to the PassManager. When the
/// PassManager_X is destroyed, the pass will be destroyed as well, so /// PassManager_X is destroyed, the pass will be destroyed as well, so
@@ -402,7 +407,8 @@ private:
}; };
/// PassManager_New manages ModulePassManagers /// PassManager_New manages ModulePassManagers
class PassManagerImpl_New : public PMDataManager { class PassManagerImpl_New : public PMDataManager,
public PMTopLevelManager {
public: public:
@@ -424,6 +430,10 @@ public:
Info.setPreservesAll(); Info.setPreservesAll();
} }
inline void addTopLevelPass(Pass *P) {
addPass(P);
}
private: private:
/// Add a pass into a passmanager queue. /// Add a pass into a passmanager queue.