diff options
author | Devang Patel <dpatel@apple.com> | 2006-12-07 19:57:52 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2006-12-07 19:57:52 +0000 |
commit | 66d72e140bf7bdfe03383bfb4d3fe53a420d147b (patch) | |
tree | fd2bd86eea22c8ad7195b7dca72949bdc1ef2caa /lib/VMCore/PassManager.cpp | |
parent | dc48f203cdc5a0b8f79d28bab6219161061fd73b (diff) |
Pass Managers themselves do not invalidate any analysis info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32318 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/PassManager.cpp')
-rw-r--r-- | lib/VMCore/PassManager.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 0dff67f272..9585b0dbce 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -269,6 +269,11 @@ public: /// Return true IFF AnalysisID AID is currently available. Pass *getAnalysisPassFromManager(AnalysisID AID); + /// Pass Manager itself does not invalidate any analysis info. + void getAnalysisUsage(AnalysisUsage &Info) const { + Info.setPreservesAll(); + } + private: }; @@ -311,6 +316,12 @@ public: /// doFinalization - Run all of the initializers for the function passes. /// bool doFinalization(Module &M); + + /// Pass Manager itself does not invalidate any analysis info. + void getAnalysisUsage(AnalysisUsage &Info) const { + Info.setPreservesAll(); + } + private: // Active Pass Managers BasicBlockPassManager_New *activeBBPassManager; @@ -333,7 +344,12 @@ public: /// Return true IFF AnalysisID AID is currently available. Pass *getAnalysisPassFromManager(AnalysisID AID); - + + /// Pass Manager itself does not invalidate any analysis info. + void getAnalysisUsage(AnalysisUsage &Info) const { + Info.setPreservesAll(); + } + private: // Active Pass Manager FunctionPassManagerImpl_New *activeFunctionPassManager; @@ -357,6 +373,11 @@ public: /// Return true IFF AnalysisID AID is currently available. Pass *getAnalysisPassFromManager(AnalysisID AID); + /// Pass Manager itself does not invalidate any analysis info. + void getAnalysisUsage(AnalysisUsage &Info) const { + Info.setPreservesAll(); + } + private: /// Add a pass into a passmanager queue. This is used by schedulePasses |