summaryrefslogtreecommitdiff
path: root/include/llvm/ADT/DenseMap.h
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2012-05-19 13:28:54 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2012-05-19 13:28:54 +0000
commitac5802bca0285eee49c1c372846552823d819181 (patch)
treed5b9dd4e328d40f8a9a1c43ae117c7a6c4e79103 /include/llvm/ADT/DenseMap.h
parentf4c261b1378b0f7aaede3a791f0e05c9ab94ea34 (diff)
downloadllvm-ac5802bca0285eee49c1c372846552823d819181.tar.gz
llvm-ac5802bca0285eee49c1c372846552823d819181.tar.bz2
llvm-ac5802bca0285eee49c1c372846552823d819181.tar.xz
Provide move semantics for TinyPtrVector and for DenseMap's rehash function.
This makes DenseMap<..., TinyPtrVector<...>> as cheap as it always should've been! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@157113 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/ADT/DenseMap.h')
-rw-r--r--include/llvm/ADT/DenseMap.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/include/llvm/ADT/DenseMap.h b/include/llvm/ADT/DenseMap.h
index 8d4a19d091..f7ae346253 100644
--- a/include/llvm/ADT/DenseMap.h
+++ b/include/llvm/ADT/DenseMap.h
@@ -14,6 +14,7 @@
#ifndef LLVM_ADT_DENSEMAP_H
#define LLVM_ADT_DENSEMAP_H
+#include "llvm/Support/Compiler.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/PointerLikeTypeTraits.h"
#include "llvm/Support/type_traits.h"
@@ -438,8 +439,8 @@ private:
bool FoundVal = LookupBucketFor(B->first, DestBucket);
(void)FoundVal; // silence warning.
assert(!FoundVal && "Key already in new map?");
- DestBucket->first = B->first;
- new (&DestBucket->second) ValueT(B->second);
+ DestBucket->first = llvm_move(B->first);
+ new (&DestBucket->second) ValueT(llvm_move(B->second));
// Free the value.
B->second.~ValueT();