From 4445519fab769d36f5a97466f5cfe1c618c44921 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Mon, 6 May 2002 19:31:16 +0000 Subject: Add support for passes to announce that they only depend on the CFG of a 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 | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'include') diff --git a/include/llvm/Pass.h b/include/llvm/Pass.h index 3c89130..f604921 100644 --- a/include/llvm/Pass.h +++ b/include/llvm/Pass.h @@ -219,6 +219,15 @@ public: return AnalysisID(NextID++, CreatePass); } + // 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(), true); + // + AnalysisID(const AnalysisID &AID, bool DependsOnlyOnCFG = false); + + inline Pass *createPass() const { return Constructor(*this); } inline bool operator==(const AnalysisID &A) const { -- cgit v1.1