From fce6e546aab64602c41eeb83381b7617f97d0069 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 2 Jul 2008 05:26:32 +0000 Subject: [PATCH] Add a new (simple) StringMap::clear method, patch by Pratik Solanki! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@53008 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/ADT/StringMap.h | 6 ++++++ lib/CodeGen/CollectorMetadata.cpp | 5 +---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/include/llvm/ADT/StringMap.h b/include/llvm/ADT/StringMap.h index f180b363606..7189931abb9 100644 --- a/include/llvm/ADT/StringMap.h +++ b/include/llvm/ADT/StringMap.h @@ -333,6 +333,12 @@ public: return true; } + // clear - Empties out the StringMap + void clear() { + while (!empty()) + erase(begin()); + } + /// GetOrCreateValue - Look up the specified key in the table. If a value /// exists, return it. Otherwise, default construct a value, insert it, and /// return. diff --git a/lib/CodeGen/CollectorMetadata.cpp b/lib/CodeGen/CollectorMetadata.cpp index 7a5a699a117..5b8c7c79996 100644 --- a/lib/CodeGen/CollectorMetadata.cpp +++ b/lib/CodeGen/CollectorMetadata.cpp @@ -112,10 +112,7 @@ CollectorMetadata &CollectorModuleMetadata::get(const Function &F) { void CollectorModuleMetadata::clear() { Map.clear(); - - // TODO: StringMap should provide a clear method. - while (!NameMap.empty()) - NameMap.erase(NameMap.begin()); + NameMap.clear(); for (iterator I = begin(), E = end(); I != E; ++I) delete *I;