X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FPassManager.h;h=c8b5dcaf0f2dcc303d6c0658d804666765425795;hb=9a376a8003c486054ea4d7c2465cb90b501c9893;hp=a6703fd5867a88457d4a91b8dc67e22ec6126903;hpb=076124ef26ff67f88663bd11f3b4d6b3d3bb3a9d;p=oota-llvm.git diff --git a/include/llvm/PassManager.h b/include/llvm/PassManager.h index a6703fd5867..c8b5dcaf0f2 100644 --- a/include/llvm/PassManager.h +++ b/include/llvm/PassManager.h @@ -22,9 +22,7 @@ namespace llvm { class Pass; -class ModulePass; class Module; -class ModuleProvider; class PassManagerImpl; class FunctionPassManagerImpl; @@ -61,6 +59,9 @@ public: bool run(Module &M); private: + /// addImpl - Add a pass to the queue of passes to run, without + /// checking whether to add a printer pass. + void addImpl(Pass *P); /// PassManagerImpl_New is the actual class. PassManager is just the /// wraper to publish simple pass manager interface @@ -71,8 +72,8 @@ private: class FunctionPassManager : public PassManagerBase { public: /// FunctionPassManager ctor - This initializes the pass manager. It needs, - /// but does not take ownership of, the specified module provider. - explicit FunctionPassManager(ModuleProvider *P); + /// but does not take ownership of, the specified Module. + explicit FunctionPassManager(Module *M); ~FunctionPassManager(); /// add - Add a pass to the queue of passes to run. This passes @@ -96,15 +97,13 @@ public: /// bool doFinalization(); - /// getModuleProvider - Return the module provider that this passmanager is - /// currently using. This is the module provider that it uses when a function - /// is optimized that is non-resident in the module. - ModuleProvider *getModuleProvider() const { return MP; } - void setModuleProvider(ModuleProvider *NewMP) { MP = NewMP; } - private: + /// addImpl - Add a pass to the queue of passes to run, without + /// checking whether to add a printer pass. + void addImpl(Pass *P); + FunctionPassManagerImpl *FPM; - ModuleProvider *MP; + Module *M; }; } // End llvm namespace