llvm-project/llvm/unittests/ADT
Pete Cooper fea2139740 Use RValue refs in APInt add/sub methods.
This adds versions of operator + and - which are optimized for the LHS/RHS of the
operator being RValue's.  When an RValue is available, we can use its storage space
instead of allocating new space.

On code such as ConstantRange which makes heavy use of APInt's over 64-bits in size,
this results in significant numbers of saved allocations.

Thanks to David Blaikie for all the review and most of the code here.

llvm-svn: 276470
2016-07-22 20:55:46 +00:00
..
APFloatTest.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
APIntTest.cpp Use RValue refs in APInt add/sub methods. 2016-07-22 20:55:46 +00:00
APSIntTest.cpp ADTTests: merge #ifdef checks from r240436. 2015-06-24 17:05:04 +00:00
ArrayRefTest.cpp [ADT] Pass ArrayRef::slice size_t instead of unsigned. 2016-06-02 17:26:03 +00:00
BitVectorTest.cpp Fix BitVector move ctor/assignment. 2016-06-16 21:45:13 +00:00
BitmaskEnumTest.cpp [ADT] Add LLVM_MARK_AS_BITMASK_ENUM, used to enable bitwise operations on enums without static_cast. 2016-07-13 18:23:16 +00:00
CMakeLists.txt [ADT] Add LLVM_MARK_AS_BITMASK_ENUM, used to enable bitwise operations on enums without static_cast. 2016-07-13 18:23:16 +00:00
DAGDeltaAlgorithmTest.cpp
DeltaAlgorithmTest.cpp
DenseMapTest.cpp [DenseMap] Add a C++17-style try_emplace method. 2016-07-21 13:37:53 +00:00
DenseSetTest.cpp
FoldingSet.cpp Adding reserve and capacity methods to FoldingSet 2016-06-03 13:54:48 +00:00
FunctionRefTest.cpp
HashingTest.cpp
ImmutableMapTest.cpp
ImmutableSetTest.cpp Fix warnings in ImmutableSetTest and SequenceTest. 2016-07-17 18:10:30 +00:00
IntEqClassesTest.cpp
IntervalMapTest.cpp
IntrusiveRefCntPtrTest.cpp
MakeUniqueTest.cpp
MapVectorTest.cpp
OptionalTest.cpp Allow Optionals to be compared to None 2015-08-19 23:07:27 +00:00
PackedVectorTest.cpp Simplify PackedVector by removing user-defined special members that aren't any different than the defaults 2015-08-12 23:26:12 +00:00
PointerEmbeddedIntTest.cpp [ADT] Fix PointerEmbeddedInt when the underlying type is uintptr_t. 2016-02-18 21:00:08 +00:00
PointerIntPairTest.cpp Fix PointerIntPair so that it can use an enum class as its integer template argument. 2016-01-13 05:59:13 +00:00
PointerSumTypeTest.cpp [ADT] Add a sum type abstraction for pointer-like types. 2016-01-10 08:48:23 +00:00
PointerUnionTest.cpp
PostOrderIteratorTest.cpp
PriorityWorklistTest.cpp [ADT] Add a new data structure for managing a priority worklist where 2016-06-30 02:32:20 +00:00
RangeAdapterTest.cpp Reapply "Add reverse(ContainerTy) range adapter." 2015-07-29 22:19:09 +00:00
SCCIteratorTest.cpp Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
SequenceTest.cpp Fix warnings in ImmutableSetTest and SequenceTest. 2016-07-17 18:10:30 +00:00
SetVectorTest.cpp [SetVector] Add erase() method 2016-03-25 19:28:08 +00:00
SmallPtrSetTest.cpp SmallPtrSetTest: More checks for the swap() testing 2016-01-29 03:34:36 +00:00
SmallStringTest.cpp Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
SmallVectorTest.cpp Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
SparseBitVectorTest.cpp Miscellaneous Fixes for SparseBitVector 2015-07-20 18:26:23 +00:00
SparseMultiSetTest.cpp
SparseSetTest.cpp [ADT] Add a pop_back_val method to the SparseSet container. 2016-03-14 18:10:41 +00:00
StringMapTest.cpp Rename StringMap::emplace_second to try_emplace. 2016-07-21 13:37:48 +00:00
StringRefTest.cpp StringRef::copy shouldn't allocate anything for length 0 strings. 2016-03-23 21:49:31 +00:00
TinyPtrVectorTest.cpp [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
TripleTest.cpp [Triple] Reimplement isLittleEndian(). Now it works for arm too. 2016-06-29 20:01:39 +00:00
TwineTest.cpp
VariadicFunctionTest.cpp
ilistTest.cpp ADT: Avoid relying on UB in ilist_node::getNextNode() 2015-11-11 02:26:42 +00:00