llvm-6502/include/llvm/ADT
Benjamin Kramer 2cd5836249 Make the DenseMap bucket type configurable and use a smaller bucket for DenseSet.
DenseSet used to be implemented as DenseMap<Key, char>, which usually doubled
the memory footprint of the map. Now we use a compressed set so the second
element uses no memory at all. This required some surgery on DenseMap as
all accesses to the bucket now have to go through methods; this should
have no impact on the behavior of DenseMap though. The new default bucket
type for DenseMap is a slightly extended std::pair as we expose it through
DenseMap's iterator and don't want to break any existing users.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@223588 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-06 19:22:44 +00:00
..
APFloat.h [ADT] Add an (ADL-friendly) abs free function for APFloat that returns 2014-10-10 08:27:22 +00:00
APInt.h Reapply "LLVMContext: Store APInt/APFloat directly into the ConstantInt/FP DenseMaps." 2014-12-06 13:12:56 +00:00
APSInt.h APSInt: Simplify code to reduce the number of copies. No functionality change. 2014-10-12 15:36:31 +00:00
ArrayRef.h Add conversion constructor to convert ArrayRef<T*> to ArrayRef<const T*>. Reviewed with Chandler and David Blaikie. 2014-08-29 06:01:43 +00:00
BitVector.h Attempting to fix the 64 bit bots. 2014-06-20 10:52:57 +00:00
DAGDeltaAlgorithm.h
DeltaAlgorithm.h
DenseMap.h Make the DenseMap bucket type configurable and use a smaller bucket for DenseSet. 2014-12-06 19:22:44 +00:00
DenseMapInfo.h
DenseSet.h Make the DenseMap bucket type configurable and use a smaller bucket for DenseSet. 2014-12-06 19:22:44 +00:00
DepthFirstIterator.h Use range based for loops to avoid needing to re-mention SmallPtrSet size. 2014-08-24 23:23:06 +00:00
edit_distance.h [C++11] Replace OwningPtr with std::unique_ptr in places where it doesn't break the API. 2014-04-21 09:34:48 +00:00
EquivalenceClasses.h [C++] Use 'nullptr'. 2014-04-28 04:05:08 +00:00
FoldingSet.h Add specialization of FoldingSetTrait for std::pair. 2014-06-15 14:42:25 +00:00
GraphTraits.h
Hashing.h Using llvm::sys::swapByteOrder() for the common case of byte-swapping a value in place 2014-06-14 13:18:07 +00:00
ilist_node.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
ilist.h Delete dead code. 2014-07-29 00:38:55 +00:00
ImmutableList.h
ImmutableMap.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
ImmutableSet.h [C++] Use 'nullptr'. 2014-04-24 06:44:33 +00:00
IndexedMap.h
IntEqClasses.h
IntervalMap.h [C++11] More 'nullptr' conversion. In some cases just using a boolean check instead of comparing to nullptr. 2014-04-14 00:51:57 +00:00
IntrusiveRefCntPtr.h [ADT/IntrusiveRefCntPtr] Give friend access to IntrusiveRefCntPtr<X> so the relevant move constructor can access 'Obj'. 2014-09-23 06:06:43 +00:00
iterator_range.h Reformat some stuff I missed in recent previous commits 2014-10-08 23:09:42 +00:00
iterator.h [ADT] Provide some helpful static_asserts for using operations of the 2014-04-30 00:49:32 +00:00
MapVector.h Add MapVector::rbegin(), MapVector::rend() to completment MapVector::begin(), MapVector::end(). 2014-10-27 17:20:53 +00:00
None.h Correct spelling of 'enumerator'. 2013-02-21 06:08:22 +00:00
Optional.h Add an emplace(...) method to llvm::Optional<T>. 2014-10-01 02:12:35 +00:00
PackedVector.h
PointerIntPair.h PointerIntPair: Avoid an (academic) case of undefined behavior in the DenseMapInfo specialization. 2014-03-15 18:10:49 +00:00
PointerUnion.h [ADT] Teach PointerUnion to support assignment directly from nullptr to 2014-04-29 00:14:27 +00:00
PostOrderIterator.h Update template specialization to reflect API changes. 2014-11-20 19:33:30 +00:00
PriorityQueue.h
SCCIterator.h SCC: Use the reference typedef 2014-04-25 20:52:08 +00:00
ScopedHashTable.h Prune CRLF. 2014-10-27 12:37:26 +00:00
SetOperations.h
SetVector.h Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
SmallBitVector.h Prune CRLF. 2014-10-27 12:37:26 +00:00
SmallPtrSet.h Add missing header 2014-11-19 08:12:55 +00:00
SmallSet.h Update SetVector to rely on the underlying set's insert to return a pair<iterator, bool> 2014-11-19 07:49:26 +00:00
SmallString.h Revert "Clean up SmallString a bit" 2014-03-09 06:22:58 +00:00
SmallVector.h Use size_type in the interface exposed by SmallVector. 2014-12-04 14:40:35 +00:00
SparseBitVector.h Prune CRLF. 2014-10-27 12:37:26 +00:00
SparseMultiSet.h Prune CRLF. 2014-10-27 12:37:26 +00:00
SparseSet.h Prune CRLF. 2014-10-27 12:37:26 +00:00
Statistic.h Use 'false' for a bool instead of '0' 2014-04-07 06:59:39 +00:00
STLExtras.h Fix non-variadic function_ref cases to match r221753 2014-11-12 03:28:57 +00:00
StringExtras.h ADT: Surface LowerCase argument for utohexstr 2014-07-14 21:56:54 +00:00
StringMap.h ADT: Remove GetStringMapEntryFromValue() 2014-12-05 01:41:36 +00:00
StringRef.h Solve Visual C++ warning C4805 on getAsInteger<bool>. 2014-10-04 19:58:30 +00:00
StringSet.h Make StringSet::insert return pair<iterator, bool> like other self-associative containers 2014-11-19 02:56:00 +00:00
StringSwitch.h [C++11] Make use of 'nullptr' in the Support library. 2014-04-07 04:17:22 +00:00
TinyPtrVector.h Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 05:25:25 +00:00
Triple.h Triple: Add AMDHSA operating system type 2014-12-02 16:45:47 +00:00
Twine.h Use a typed enum instead of 'unsigned char' for packed field. NFC. 2014-12-02 23:34:23 +00:00
UniqueVector.h IR: Add COMDATs to the IR 2014-06-27 18:19:56 +00:00
VariadicFunction.h Simplify creation of a bunch of ArrayRefs by using None, makeArrayRef or just letting them be implicitly created. 2014-08-27 05:25:25 +00:00