diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-19 13:28:54 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2012-05-19 13:28:54 +0000 |
commit | ac5802bca0285eee49c1c372846552823d819181 (patch) | |
tree | d5b9dd4e328d40f8a9a1c43ae117c7a6c4e79103 /include/llvm/ADT/DenseMap.h | |
parent | f4c261b1378b0f7aaede3a791f0e05c9ab94ea34 (diff) | |
download | llvm-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.h | 5 |
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(); |