projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
edbef38
)
Make the heuristic for shrinking DenseMap smarter.
author
Owen Anderson
<resistor@mac.com>
Fri, 20 Jul 2007 18:56:46 +0000
(18:56 +0000)
committer
Owen Anderson
<resistor@mac.com>
Fri, 20 Jul 2007 18:56:46 +0000
(18:56 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40114
91177308
-0d34-0410-b5e6-
96231b3b80d8
include/llvm/ADT/DenseMap.h
patch
|
blob
|
history
diff --git
a/include/llvm/ADT/DenseMap.h
b/include/llvm/ADT/DenseMap.h
index 082fc35afa29f675f6bacf8c0c2c1d7c967d5582..78caba52a51c24b078a5b0d894bf9e1716117ed3 100644
(file)
--- a/
include/llvm/ADT/DenseMap.h
+++ b/
include/llvm/ADT/DenseMap.h
@@
-15,6
+15,7
@@
#define LLVM_ADT_DENSEMAP_H
#include "llvm/Support/DataTypes.h"
+#include "llvm/Support/MathExtras.h"
#include <cassert>
#include <utility>
@@
-300,8
+301,9
@@
private:
unsigned OldNumBuckets = NumBuckets;
BucketT *OldBuckets = Buckets;
- // Halve the number of buckets.
- NumBuckets >>= 1;
+ // Reduce the number of buckets.
+ NumBuckets = NumEntries > 32 ? 1 << (Log2_32_Ceil(NumEntries) + 1)
+ : 64;
NumTombstones = 0;
Buckets = (BucketT*)new char[sizeof(BucketT)*NumBuckets];