Do not record last users of Pass Manager.
authorDevang Patel <dpatel@apple.com>
Mon, 15 Jan 2007 20:31:54 +0000 (20:31 +0000)
committerDevang Patel <dpatel@apple.com>
Mon, 15 Jan 2007 20:31:54 +0000 (20:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@33243 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/PassManager.cpp

index 376e1b798e9ccd9e9d38a21ba2e90f6a6792a8a3..d48c198bbffe82b020df7336520038495e17dc9b 100644 (file)
@@ -594,8 +594,13 @@ void PMDataManager::add(Pass *P,
       }
     }
 
-    LastUses.push_back(P);
-    TPM->setLastUser(LastUses, P);
+    // Set P as P's last user until someone starts using P.
+    // However, if P is a Pass Manager then it does not need
+    // to record its last user.
+    if (!dynamic_cast<PMDataManager *>(P)) {
+      LastUses.push_back(P);
+      TPM->setLastUser(LastUses, P);
+    }
 
     // Take a note of analysis required and made available by this pass.
     // Remove the analysis not preserved by this pass