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

Devang Patel dpatel at apple.com
Mon Apr 16 11:51:47 PDT 2007



Changes in directory llvm/include/llvm:

Pass.h updated: 1.82 -> 1.83
CallGraphSCCPass.h updated: 1.11 -> 1.12
---
Log message:

Add getPotentialPassManagerType(). No functionality change, yet.



---
Diffs of the changes:  (+27 -1)

 CallGraphSCCPass.h |    5 +++++
 Pass.h             |   23 ++++++++++++++++++++++-
 2 files changed, 27 insertions(+), 1 deletion(-)


Index: llvm/include/llvm/Pass.h
diff -u llvm/include/llvm/Pass.h:1.82 llvm/include/llvm/Pass.h:1.83
--- llvm/include/llvm/Pass.h:1.82	Mon Apr 16 13:10:22 2007
+++ llvm/include/llvm/Pass.h	Mon Apr 16 13:51:25 2007
@@ -126,6 +126,11 @@
                                  PassManagerType T = PMT_Unknown) {}
   /// Check if available pass managers are suitable for this pass or not.
   virtual void preparePassManager(PMStack &PMS) {}
+  
+  ///  Return what kind of Pass Manager can manage this pass.
+  virtual PassManagerType getPotentialPassManagerType() const {
+    return PMT_Unknown; 
+  }
 
   // Access AnalysisResolver
   inline void setResolver(AnalysisResolver *AR) { Resolver = AR; }
@@ -193,7 +198,7 @@
 
   template<typename AnalysisType>
   AnalysisType &getAnalysisID(const PassInfo *PI) const;
-    
+
 };
 
 inline std::ostream &operator<<(std::ostream &OS, const Pass &P) {
@@ -216,6 +221,12 @@
 
   virtual void assignPassManager(PMStack &PMS, 
                                  PassManagerType T = PMT_ModulePassManager);
+
+  ///  Return what kind of Pass Manager can manage this pass.
+  virtual PassManagerType getPotentialPassManagerType() const {
+    return PMT_ModulePassManager;
+  }
+
   // Force out-of-line virtual method.
   virtual ~ModulePass();
 };
@@ -283,6 +294,11 @@
 
   virtual void assignPassManager(PMStack &PMS, 
                                  PassManagerType T = PMT_FunctionPassManager);
+
+  ///  Return what kind of Pass Manager can manage this pass.
+  virtual PassManagerType getPotentialPassManagerType() const {
+    return PMT_FunctionPassManager;
+  }
 };
 
 
@@ -338,6 +354,11 @@
 
   virtual void assignPassManager(PMStack &PMS, 
                                  PassManagerType T = PMT_BasicBlockPassManager);
+
+  ///  Return what kind of Pass Manager can manage this pass.
+  virtual PassManagerType getPotentialPassManagerType() const {
+    return PMT_BasicBlockPassManager; 
+  }
 };
 
 /// PMStack


Index: llvm/include/llvm/CallGraphSCCPass.h
diff -u llvm/include/llvm/CallGraphSCCPass.h:1.11 llvm/include/llvm/CallGraphSCCPass.h:1.12
--- llvm/include/llvm/CallGraphSCCPass.h:1.11	Mon Apr 16 13:10:22 2007
+++ llvm/include/llvm/CallGraphSCCPass.h	Mon Apr 16 13:51:25 2007
@@ -54,6 +54,11 @@
   virtual void assignPassManager(PMStack &PMS,
                                  PassManagerType PMT = PMT_CallGraphPassManager);
 
+  ///  Return what kind of Pass Manager can manage this pass.
+  virtual PassManagerType getPotentialPassManagerType() const {
+    return PMT_CallGraphPassManager;
+  }
+
   /// getAnalysisUsage - For this class, we declare that we require and preserve
   /// the call graph.  If the derived class implements this method, it should
   /// always explicitly call the implementation here.






More information about the llvm-commits mailing list