From 3e44559d0137f2c3e3bf7a0c1e0004e0a5c81137 Mon Sep 17 00:00:00 2001 From: Devang Patel Date: Thu, 7 Dec 2006 20:51:18 +0000 Subject: [PATCH] Add ImmutablePass into the list of info managed by top level pass manager. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32322 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/VMCore/PassManager.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lib/VMCore/PassManager.cpp b/lib/VMCore/PassManager.cpp index 77820ad6a8e..18094320d6f 100644 --- a/lib/VMCore/PassManager.cpp +++ b/lib/VMCore/PassManager.cpp @@ -122,6 +122,16 @@ public: PassManagers.clear(); } + /// Add immutable pass and initialize it. + inline void addImmutablePass(ImmutablePass *P) { + P->initializePass(); + ImmutablePasses.push_back(P); + } + + inline std::vector& getImmutablePasses() { + return ImmutablePasses; + } + private: /// Collection of pass managers @@ -130,6 +140,9 @@ private: // Map to keep track of last user of the analysis pass. // LastUser->second is the last user of Lastuser->first. std::map LastUser; + + /// Immutable passes are managed by top level manager. + std::vector ImmutablePasses; }; /// Set pass P as the last user of the given analysis passes.