summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-05-27 22:53:10 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-05-27 22:53:10 +0000
commit27f14297174bb203bee96fa8e5152f1f398389a1 (patch)
tree96b7a476c6ff8cb2bf315110a3b40be8439ee942
parentea388a2832e997171cfddefc710d10543dcba2fd (diff)
downloadbcm5719-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.h9
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) {
OpenPOWER on IntegriCloud