[llvm-commits] CVS: llvm/lib/VMCore/PassManager.cpp

Devang Patel dpatel at apple.com
Thu Dec 7 12:51:33 PST 2006



Changes in directory llvm/lib/VMCore:

PassManager.cpp updated: 1.44 -> 1.45
---
Log message:

Add ImmutablePass into the list of info  managed by top level pass
manager.


---
Diffs of the changes:  (+13 -0)

 PassManager.cpp |   13 +++++++++++++
 1 files changed, 13 insertions(+)


Index: llvm/lib/VMCore/PassManager.cpp
diff -u llvm/lib/VMCore/PassManager.cpp:1.44 llvm/lib/VMCore/PassManager.cpp:1.45
--- llvm/lib/VMCore/PassManager.cpp:1.44	Thu Dec  7 14:03:49 2006
+++ llvm/lib/VMCore/PassManager.cpp	Thu Dec  7 14:51:18 2006
@@ -122,6 +122,16 @@
     PassManagers.clear();
   }
 
+  /// Add immutable pass and initialize it.
+  inline void addImmutablePass(ImmutablePass *P) {
+    P->initializePass();
+    ImmutablePasses.push_back(P);
+  }
+
+  inline std::vector<ImmutablePass *>& getImmutablePasses() {
+    return ImmutablePasses;
+  }
+
 private:
   
   /// Collection of pass managers
@@ -130,6 +140,9 @@
   // Map to keep track of last user of the analysis pass.
   // LastUser->second is the last user of Lastuser->first.
   std::map<Pass *, Pass *> LastUser;
+
+  /// Immutable passes are managed by top level manager.
+  std::vector<ImmutablePass *> ImmutablePasses;
 };
   
 /// Set pass P as the last user of the given analysis passes.






More information about the llvm-commits mailing list