Now, there is additional layer, referred in the comment,
authorDevang Patel <dpatel@apple.com>
Tue, 19 Dec 2006 20:12:38 +0000 (20:12 +0000)
committerDevang Patel <dpatel@apple.com>
Tue, 19 Dec 2006 20:12:38 +0000 (20:12 +0000)
in place to handle this correctly.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32684 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManager.cpp

index 1a5276f14dc26958d8151de161ba100f21404a20..620d4da963136a395697c15947b40a70b54c0e26 100644 (file)
@@ -153,10 +153,6 @@ public:
   /// then return NULL.
   Pass *findAnalysisPass(AnalysisID AID);
 
-  inline void clearManagers() { 
-    PassManagers.clear();
-  }
-
   virtual ~PMTopLevelManager() {
     for (std::vector<Pass *>::iterator I = PassManagers.begin(),
            E = PassManagers.end(); I != E; ++I)
@@ -1150,13 +1146,6 @@ FunctionPassManager::FunctionPassManager(ModuleProvider *P) {
 }
 
 FunctionPassManager::~FunctionPassManager() {
-  // Note : FPM maintains one entry in PassManagers vector.
-  // This one entry is FPM itself. This is not ideal. One
-  // alternative is have one additional layer between
-  // FunctionPassManager and FunctionPassManagerImpl.
-  // Meanwhile, to avoid going into infinte loop, first
-  // remove FPM from its PassMangers vector.
-  FPM->clearManagers();
   delete FPM;
 }