[llvm] r231028 - IndexedMap: Document why SmallVector<T, 0> is preferable here.
Benjamin Kramer
benny.kra at googlemail.com
Mon Mar 2 14:20:22 PST 2015
Author: d0k
Date: Mon Mar 2 16:20:22 2015
New Revision: 231028
URL: http://llvm.org/viewvc/llvm-project?rev=231028&view=rev
Log:
IndexedMap: Document why SmallVector<T, 0> is preferable here.
Modified:
llvm/trunk/include/llvm/ADT/IndexedMap.h
Modified: llvm/trunk/include/llvm/ADT/IndexedMap.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/ADT/IndexedMap.h?rev=231028&r1=231027&r2=231028&view=diff
==============================================================================
--- llvm/trunk/include/llvm/ADT/IndexedMap.h (original)
+++ llvm/trunk/include/llvm/ADT/IndexedMap.h Mon Mar 2 16:20:22 2015
@@ -30,6 +30,9 @@ namespace llvm {
template <typename T, typename ToIndexT = llvm::identity<unsigned> >
class IndexedMap {
typedef typename ToIndexT::argument_type IndexT;
+ // Prefer SmallVector with zero inline storage over std::vector. IndexedMaps
+ // can grow very large and SmallVector grows more efficiently as long as T
+ // is trivially copyable.
typedef SmallVector<T, 0> StorageT;
StorageT storage_;
T nullVal_;
More information about the llvm-commits
mailing list