[llvm-commits] CVS: llvm/include/llvm/Pass.h

Devang Patel dpatel at apple.com
Wed Jan 10 16:19:17 PST 2007



Changes in directory llvm/include/llvm:

Pass.h updated: 1.71 -> 1.72
---
Log message:

Robustify assingPassManager() for Module, Function and Basic Block
Passes.

Robustify PMStack.push()

Add dump() routine to print PMStack.



---
Diffs of the changes:  (+4 -2)

 Pass.h |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)


Index: llvm/include/llvm/Pass.h
diff -u llvm/include/llvm/Pass.h:1.71 llvm/include/llvm/Pass.h:1.72
--- llvm/include/llvm/Pass.h:1.71	Mon Jan  8 13:29:38 2007
+++ llvm/include/llvm/Pass.h	Wed Jan 10 18:19:00 2007
@@ -52,6 +52,7 @@
 class ModulePassManager;
 class PMStack;
 class AnalysisResolver;
+class PMDataManager;
 
 // AnalysisID - Use the PassInfo to identify a pass...
 typedef const PassInfo* AnalysisID;
@@ -106,6 +107,7 @@
   void print(std::ostream *O, const Module *M) const { if (O) print(*O, M); }
   void dump() const; // dump - call print(std::cerr, 0);
 
+  virtual void assignPassManager(PMStack &PMS) {}
   // Access AnalysisResolver
   inline void setResolver(AnalysisResolver *AR) { Resolver = AR; }
   inline AnalysisResolver *getResolver() { return Resolver; }
@@ -329,7 +331,6 @@
 ///
 /// PMStack is just a wrapper around standard deque that overrides pop() and
 /// push() methods.
-class PMDataManager;
 class PMStack {
 public:
   typedef std::deque<PMDataManager *>::reverse_iterator iterator;
@@ -340,9 +341,10 @@
 
   void pop();
   inline PMDataManager *top() { return S.back(); }
-  void push(PMDataManager *PM);
+  void push(Pass *P);
   inline bool empty() { return S.empty(); }
 
+  void dump();
 private:
   std::deque<PMDataManager *> S;
 };






More information about the llvm-commits mailing list