Gracefully destroy MDNodes.
authorDevang Patel <dpatel@apple.com>
Wed, 9 Sep 2009 17:07:07 +0000 (17:07 +0000)
committerDevang Patel <dpatel@apple.com>
Wed, 9 Sep 2009 17:07:07 +0000 (17:07 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@81353 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/LLVMContextImpl.h

index 77130d1ab9407b839d5537aae86cb4ad1209e007..048018d6b4dd42d119b9a4f51a71dcd3e7a721fc 100644 (file)
@@ -203,6 +203,9 @@ public:
     AggZeroConstants.freeConstants();
     NullPtrConstants.freeConstants();
     UndefValueConstants.freeConstants();
+    for (FoldingSet<MDNode>::iterator I=MDNodeSet.begin(), 
+           E =MDNodeSet.end(); I != E; ++I)
+      I->dropAllReferences();
     for (IntMapTy::iterator I=IntConstants.begin(), E=IntConstants.end(); 
          I != E; ++I) {
       if (I->second->use_empty())