Analysis contructors now no longer take AnalysisID's as their argument,
authorChris Lattner <sabre@nondot.org>
Fri, 26 Jul 2002 19:19:16 +0000 (19:19 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 26 Jul 2002 19:19:16 +0000 (19:19 +0000)
because there is a one-one mapping between classes and analyses.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@3106 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/PassAnalysisSupport.h

index 5952a467363a4d6dbfaa16bfc9f345e1ad34a4ae..c105c390c55b5b2a2aa4e8105585cbff19ac27c7 100644 (file)
@@ -20,7 +20,7 @@
 // GCC 2.95.3 crashes if we do that, doh.
 //
 template<class AnalysisType>
-static Pass *CreatePass(AnalysisID ID) { return new AnalysisType(ID); }
+static Pass *CreatePass() { return new AnalysisType(); }
 
 //===----------------------------------------------------------------------===//
 // AnalysisID - This class is used to uniquely identify an analysis pass that
@@ -29,10 +29,10 @@ static Pass *CreatePass(AnalysisID ID) { return new AnalysisType(ID); }
 class AnalysisID {
   static unsigned NextID;               // Next ID # to deal out...
   unsigned ID;                          // Unique ID for this analysis
-  Pass *(*Constructor)(AnalysisID);     // Constructor to return the Analysis
+  Pass *(*Constructor)();               // Constructor to return the Analysis
 
   AnalysisID();                         // Disable default ctor
-  AnalysisID(unsigned id, Pass *(*Ct)(AnalysisID)) : ID(id), Constructor(Ct) {}
+  AnalysisID(unsigned id, Pass *(*Ct)()) : ID(id), Constructor(Ct) {}
 public:
   // create - the only way to define a new AnalysisID.  This static method is
   // supposed to be used to define the class static AnalysisID's that are
@@ -56,7 +56,7 @@ public:
   AnalysisID(const AnalysisID &AID, bool DependsOnlyOnCFG = false);
 
 
-  inline Pass *createPass() const { return Constructor(*this); }
+  inline Pass *createPass() const { return Constructor(); }
 
   inline bool operator==(const AnalysisID &A) const {
     return A.ID == ID;