Patch #6's in Saem's refactor-the-passmanager patch series. From him:

This sanitises the world, blows away the specialisations and adds
traits per passmanager type -- seemed most natural.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25085 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-01-04 07:47:13 +00:00
parent 51d6e76ff4
commit 7f7b730d79
4 changed files with 187 additions and 251 deletions

View File

@ -23,10 +23,12 @@ class Pass;
class ModulePass;
class Module;
class ModuleProvider;
template<class UnitType> class PassManagerT;
class ModulePassManager;
class FunctionPassManagerT;
class BasicBlockPassManager;
class PassManager {
PassManagerT<Module> *PM; // This is a straightforward Pimpl class
ModulePassManager *PM; // This is a straightforward Pimpl class
public:
PassManager();
~PassManager();
@ -49,7 +51,7 @@ class ImmutablePass;
class Function;
class FunctionPassManager {
PassManagerT<Function> *PM; // This is a straightforward Pimpl class
FunctionPassManagerT *PM; // This is a straightforward Pimpl class
ModuleProvider *MP;
public:
FunctionPassManager(ModuleProvider *P);