From 53c34b1db978f1820677f410c6f3f59046ffa4c0 Mon Sep 17 00:00:00 2001 From: Gordon Henriksen Date: Mon, 10 Dec 2007 03:35:18 +0000 Subject: [PATCH] Delete the CollectorNamePool if it should become empty. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@44775 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Support/StringPool.h | 4 ++++ lib/VMCore/Function.cpp | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/include/llvm/Support/StringPool.h b/include/llvm/Support/StringPool.h index 7ac2b147c34..46087e4d1fe 100644 --- a/include/llvm/Support/StringPool.h +++ b/include/llvm/Support/StringPool.h @@ -70,6 +70,10 @@ namespace llvm { /// reference-counted pointer to it. No additional memory is allocated if /// the string already exists in the pool. inline PooledStringPtr intern(const char *Str); + + /// empty - Checks whether the pool is empty. Returns true if so. + /// + inline bool empty() const { return InternTable.empty(); } }; /// PooledStringPtr - A pointer to an interned string. Use operator bool to diff --git a/lib/VMCore/Function.cpp b/lib/VMCore/Function.cpp index 18effea5091..856385bb008 100644 --- a/lib/VMCore/Function.cpp +++ b/lib/VMCore/Function.cpp @@ -414,6 +414,10 @@ void Function::clearCollector() { if (CollectorNames->empty()) { delete CollectorNames; CollectorNames = 0; + if (CollectorNamePool->empty()) { + delete CollectorNamePool; + CollectorNamePool = 0; + } } } } -- 2.34.1