Add support for passes to announce that they only depend on the CFG of a
authorChris Lattner <sabre@nondot.org>
Mon, 6 May 2002 19:31:16 +0000 (19:31 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 6 May 2002 19:31:16 +0000 (19:31 +0000)
function.  This is crude but effective

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

include/llvm/Pass.h

index 3c89130cbae18b1d1d71148771126eae3b9262ff..f604921601f6c3583b737cf134224369c855433d 100644 (file)
@@ -219,6 +219,15 @@ public:
     return AnalysisID(NextID++, CreatePass<AnalysisType>);
   }
 
+  // Special Copy Constructor - This is how analysis passes declare that they
+  // only depend on the CFG of the function they are working on, so they are not
+  // invalidated by other passes that do not modify the CFG.  This should be
+  // used like this:
+  // AnalysisID DominatorSet::ID(AnalysisID::create<DominatorSet>(), true);
+  //
+  AnalysisID(const AnalysisID &AID, bool DependsOnlyOnCFG = false);
+
+
   inline Pass *createPass() const { return Constructor(*this); }
 
   inline bool operator==(const AnalysisID &A) const {