diff options
| author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-27 22:53:10 +0000 |
|---|---|---|
| committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-27 22:53:10 +0000 |
| commit | 27f14297174bb203bee96fa8e5152f1f398389a1 (patch) | |
| tree | 96b7a476c6ff8cb2bf315110a3b40be8439ee942 | |
| parent | ea388a2832e997171cfddefc710d10543dcba2fd (diff) | |
| download | bcm5719-llvm-27f14297174bb203bee96fa8e5152f1f398389a1.tar.gz bcm5719-llvm-27f14297174bb203bee96fa8e5152f1f398389a1.zip | |
DenseMap: Use an early exit when there is nothing to do in DestroyAll().
llvm-svn: 157550
| -rw-r--r-- | llvm/include/llvm/ADT/DenseMap.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/llvm/include/llvm/ADT/DenseMap.h b/llvm/include/llvm/ADT/DenseMap.h index 1fc0eed706e..0ceca926c68 100644 --- a/llvm/include/llvm/ADT/DenseMap.h +++ b/llvm/include/llvm/ADT/DenseMap.h @@ -273,6 +273,9 @@ public: private: void DestroyAll() { + if (NumBuckets == 0) // Nothing to do. + return; + const KeyT EmptyKey = getEmptyKey(), TombstoneKey = getTombstoneKey(); for (BucketT *P = Buckets, *E = Buckets+NumBuckets; P != E; ++P) { if (!KeyInfoT::isEqual(P->first, EmptyKey) && @@ -281,12 +284,10 @@ private: P->first.~KeyT(); } - if (NumBuckets) { #ifndef NDEBUG - memset((void*)Buckets, 0x5a, sizeof(BucketT)*NumBuckets); + memset((void*)Buckets, 0x5a, sizeof(BucketT)*NumBuckets); #endif - operator delete(Buckets); - } + operator delete(Buckets); } void CopyFrom(const DenseMap& other) { |

