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 | f9d96b934dd49d552bb1974b2a8d1794df23c6a8 (patch) | |
tree | 0c3b4e84132f39127282539a3f30c0b2a4302fe2 /llvm/lib | |
parent | f3827bc21d78a3903d29a1d70554403484f9de16 (diff) | |
download | bcm5719-llvm-f9d96b934dd49d552bb1974b2a8d1794df23c6a8.tar.gz bcm5719-llvm-f9d96b934dd49d552bb1974b2a8d1794df23c6a8.zip |
Pass Managers themselves do not invalidate any analysis info.
llvm-svn: 32318
Diffstat (limited to 'llvm/lib')
-rw-r--r-- | llvm/lib/VMCore/PassManager.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/llvm/lib/VMCore/PassManager.cpp b/llvm/lib/VMCore/PassManager.cpp index 0dff67f2720..9585b0dbce3 100644 --- a/llvm/lib/VMCore/PassManager.cpp +++ b/llvm/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 |