Skip to content

Commit 061d021

Browse files
[ADT] Add DenseMap::deallocateBuckets (NFC)
This patch adds a small helper function DenseMap::deallocateBuckets just like SmallDenseMap::deallocateBuckets. With the new helper function: ~DenseMap() DenseMap &operator=(DenseMap &&other) will look identical to their respective SmallDenseMap counterparts, facilitating further refactoring.
1 parent 4abcbb0 commit 061d021

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

llvm/include/llvm/ADT/DenseMap.h

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -738,7 +738,7 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
738738

739739
~DenseMap() {
740740
this->destroyAll();
741-
deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
741+
deallocateBuckets();
742742
}
743743

744744
void swap(DenseMap &RHS) {
@@ -758,15 +758,15 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
758758

759759
DenseMap &operator=(DenseMap &&other) {
760760
this->destroyAll();
761-
deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
761+
deallocateBuckets();
762762
init(0);
763763
swap(other);
764764
return *this;
765765
}
766766

767767
void copyFrom(const DenseMap &other) {
768768
this->destroyAll();
769-
deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
769+
deallocateBuckets();
770770
if (allocateBuckets(other.NumBuckets)) {
771771
this->BaseT::copyFrom(other);
772772
} else {
@@ -827,6 +827,10 @@ class DenseMap : public DenseMapBase<DenseMap<KeyT, ValueT, KeyInfoT, BucketT>,
827827

828828
unsigned getNumBuckets() const { return NumBuckets; }
829829

830+
void deallocateBuckets() {
831+
deallocate_buffer(Buckets, sizeof(BucketT) * NumBuckets, alignof(BucketT));
832+
}
833+
830834
bool allocateBuckets(unsigned Num) {
831835
NumBuckets = Num;
832836
if (NumBuckets == 0) {

0 commit comments

Comments
 (0)