diff options
author | Devang Patel <dpatel@apple.com> | 2008-08-11 21:13:39 +0000 |
---|---|---|
committer | Devang Patel <dpatel@apple.com> | 2008-08-11 21:13:39 +0000 |
commit | 3b8a90686adb3d0adaa4389e7b7900570a235e03 (patch) | |
tree | 5ff3a5510f762365274b3349579e76597690daeb /include/llvm/PassManagers.h | |
parent | 00f19b65421b6517a7c856351384909b00e88f5f (diff) | |
download | llvm-3b8a90686adb3d0adaa4389e7b7900570a235e03.tar.gz llvm-3b8a90686adb3d0adaa4389e7b7900570a235e03.tar.bz2 llvm-3b8a90686adb3d0adaa4389e7b7900570a235e03.tar.xz |
Keep track of analysis usage information for passes. Avoid invoking
getAnalysisUsage() repeatedly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@54650 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/PassManagers.h')
-rw-r--r-- | include/llvm/PassManagers.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/llvm/PassManagers.h b/include/llvm/PassManagers.h index 5d90a22920..a97f4f3e1a 100644 --- a/include/llvm/PassManagers.h +++ b/include/llvm/PassManagers.h @@ -13,6 +13,7 @@ #include "llvm/PassManager.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/ADT/DenseMap.h" #include <deque> #include <map> @@ -172,6 +173,9 @@ public: /// then return NULL. Pass *findAnalysisPass(AnalysisID AID); + /// Find analysis usage information for the pass P. + AnalysisUsage *findAnalysisUsage(Pass *P); + explicit PMTopLevelManager(enum TopLevelManagerType t); virtual ~PMTopLevelManager(); @@ -221,6 +225,8 @@ private: /// Immutable passes are managed by top level manager. std::vector<ImmutablePass *> ImmutablePasses; + + DenseMap<Pass *, AnalysisUsage *> AnUsageMap; }; |