X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FPassManager.h;h=254cac94d10ea12e7bdbbf9bfcc59400f8df6693;hb=a727d5502c8e23c090da658bf14c5ebc1169a070;hp=1e4f554802c62c8a3744c445fa247cd921fbf215;hpb=3162691f69f85f740bc28f3ddca39b166d35187c;p=oota-llvm.git diff --git a/include/llvm/PassManager.h b/include/llvm/PassManager.h index 1e4f554802c..254cac94d10 100644 --- a/include/llvm/PassManager.h +++ b/include/llvm/PassManager.h @@ -26,75 +26,9 @@ class ModulePass; class Module; class ModuleProvider; -#ifdef USE_OLD_PASSMANAGER - -class ModulePassManager; -class FunctionPassManagerT; -class BasicBlockPassManager; - -class PassManager { - ModulePassManager *PM; // This is a straightforward Pimpl class -public: - PassManager(); - ~PassManager(); - - /// add - Add a pass to the queue of passes to run. This passes ownership of - /// the Pass to the PassManager. When the PassManager is destroyed, the pass - /// will be destroyed as well, so there is no need to delete the pass. This - /// implies that all passes MUST be allocated with 'new'. - /// - void add(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 run(Module &M); -}; - -class FunctionPass; -class ImmutablePass; -class Function; - -class FunctionPassManager { - FunctionPassManagerT *PM; // This is a straightforward Pimpl class - ModuleProvider *MP; -public: - FunctionPassManager(ModuleProvider *P); - ~FunctionPassManager(); - - /// add - Add a pass to the queue of passes to run. This passes - /// ownership of the FunctionPass to the PassManager. When the - /// PassManager is destroyed, the pass will be destroyed as well, so - /// there is no need to delete the pass. This implies that all - /// passes MUST be allocated with 'new'. - /// - void add(FunctionPass *P); - - /// add - ImmutablePasses are not FunctionPasses, so we have a - /// special hack to get them into a FunctionPassManager. - /// - void add(ImmutablePass *IP); - - /// doInitialization - Run all of the initializers for the function passes. - /// - bool doInitialization(); - - /// run - 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 run(Function &F); - - /// doFinalization - Run all of the initializers for the function passes. - /// - bool doFinalization(); -}; - -#else - class ModulePassManager; -class PassManagerImpl_New; -class FunctionPassManagerImpl_New; +class PassManagerImpl; +class FunctionPassManagerImpl; /// PassManager manages ModulePassManagers class PassManager { @@ -118,14 +52,14 @@ private: /// PassManagerImpl_New is the actual class. PassManager is just the /// wraper to publish simple pass manager interface - PassManagerImpl_New *PM; + PassManagerImpl *PM; }; /// FunctionPassManager manages FunctionPasses and BasicBlockPassManagers. class FunctionPassManager { public: - FunctionPassManager(ModuleProvider *P); + explicit FunctionPassManager(ModuleProvider *P); FunctionPassManager(); ~FunctionPassManager(); @@ -151,12 +85,10 @@ public: bool doFinalization(); private: - FunctionPassManagerImpl_New *FPM; + FunctionPassManagerImpl *FPM; ModuleProvider *MP; }; -#endif - } // End llvm namespace #endif