Changes in directory llvm/include/llvm:
Pass.h updated: 1.73 -> 1.74 --- Log message: Setup pass manager before scheduling required analysis. --- Diffs of the changes: (+9 -2) Pass.h | 11 +++++++++-- 1 files changed, 9 insertions(+), 2 deletions(-) Index: llvm/include/llvm/Pass.h diff -u llvm/include/llvm/Pass.h:1.73 llvm/include/llvm/Pass.h:1.74 --- llvm/include/llvm/Pass.h:1.73 Wed Jan 10 19:10:24 2007 +++ llvm/include/llvm/Pass.h Tue Jan 16 13:46:08 2007 @@ -108,6 +108,8 @@ void dump() const; // dump - call print(std::cerr, 0); virtual void assignPassManager(PMStack &PMS) {} + virtual void setupPassManager(PMStack &PMS) {} + // Access AnalysisResolver inline void setResolver(AnalysisResolver *AR) { Resolver = AR; } inline AnalysisResolver *getResolver() { return Resolver; } @@ -201,6 +203,7 @@ virtual bool runPass(BasicBlock&) { return false; } virtual void assignPassManager(PMStack &PMS); + // Force out-of-line virtual method. virtual ~ModulePass(); }; @@ -267,6 +270,7 @@ bool run(Function &F); virtual void assignPassManager(PMStack &PMS); + virtual void setupPassManager(PMStack &PMS); }; @@ -321,6 +325,7 @@ virtual bool runPass(BasicBlock &BB); virtual void assignPassManager(PMStack &PMS); + virtual void setupPassManager(PMStack &PMS); }; /// Different types of internal pass managers. External pass managers @@ -337,8 +342,10 @@ /// PMStack /// Top level pass manager (see PasManager.cpp) maintains active Pass Managers -/// using PMStack. Each Pass implements assignPassManager() to connect itself -/// with appropriate manager. assignPassManager() walks PMStack to find +/// using PMStack. Each Pass implements setupPassManager() and +/// assignPassManager() to connect itself with appropriate manager. +/// setupPassManager() creates new pass manager if required before adding +/// required analysis passes. assignPassManager() walks PMStack to find /// suitable manager. /// /// PMStack is just a wrapper around standard deque that overrides pop() and _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits