1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/unittests/ADT
Daniel Sanders 1c646a78c0 Fix compile-time regression caused by rL371928
Summary:
Also fixup rL371928 for cases that occur on our out-of-tree backend

There were still quite a few intermediate APInts and this caused the
compile time of MCCodeEmitter for our target to jump from 16s up to
~5m40s. This patch, brings it back down to ~17s by eliminating pretty
much all of them using two new APInt functions (extractBitsAsZExtValue(),
insertBits() but with a uint64_t). The exact conditions for eliminating
them is that the field extracted/inserted must be <=64-bit which is
almost always true.

Note: The two new APInt API's assume that APInt::WordSize is at least
64-bit because that means they touch at most 2 APInt words. They
statically assert that's true. It seems very unlikely that someone
is patching it to be smaller so this should be fine.

Reviewers: jmolloy

Reviewed By: jmolloy

Subscribers: hiraditya, dexonsmith, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D67686

llvm-svn: 372243
2019-09-18 18:14:42 +00:00
..
AnyTest.cpp
APFloatTest.cpp
APIntTest.cpp Fix compile-time regression caused by rL371928 2019-09-18 18:14:42 +00:00
APSIntTest.cpp Fix build when both gtest death tests and LLVM_NODISCARD are available. 2019-07-31 23:37:24 +00:00
ArrayRefTest.cpp [llvm][ADT][NFC] Add test for makeArrayRef(std::array) 2019-09-10 00:29:35 +00:00
BitmaskEnumTest.cpp
BitVectorTest.cpp [PowerPC][NFC] Enable ADT BitVectorTest 2019-08-02 19:58:00 +00:00
BreadthFirstIteratorTest.cpp
BumpPtrListTest.cpp
CMakeLists.txt [ADT] Removed VariadicFunction 2019-08-30 08:21:55 +00:00
DAGDeltaAlgorithmTest.cpp
DeltaAlgorithmTest.cpp
DenseMapTest.cpp
DenseSetTest.cpp
DepthFirstIteratorTest.cpp
DirectedGraphTest.cpp [DDG] DirectedGraph as a base class for various dependence graphs such 2019-07-25 18:23:22 +00:00
EquivalenceClassesTest.cpp
FallibleIteratorTest.cpp
FoldingSet.cpp
FunctionExtrasTest.cpp
FunctionRefTest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
HashingTest.cpp
IListBaseTest.cpp
IListIteratorTest.cpp
IListNodeBaseTest.cpp
IListNodeTest.cpp
IListSentinelTest.cpp
IListTest.cpp
ImmutableListTest.cpp
ImmutableMapTest.cpp
ImmutableSetTest.cpp
IntEqClassesTest.cpp
IntervalMapTest.cpp
IntrusiveRefCntPtrTest.cpp
IteratorTest.cpp [ADT] Remove llvm::make_unique utility. 2019-08-16 17:19:57 +00:00
MakeUniqueTest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
MappedIteratorTest.cpp
MapVectorTest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
OptionalTest.cpp Revert rL368939 "Remove LVALUE / RVALUE workarounds" 2019-08-15 10:12:11 +00:00
PackedVectorTest.cpp
PointerEmbeddedIntTest.cpp
PointerIntPairTest.cpp
PointerSumTypeTest.cpp
PointerUnionTest.cpp Add TinyPtrVector support for general pointer-like things. 2019-08-20 23:29:28 +00:00
PostOrderIteratorTest.cpp
PriorityWorklistTest.cpp
RangeAdapterTest.cpp
SCCIteratorTest.cpp
ScopeExitTest.cpp
SequenceTest.cpp
SetVectorTest.cpp
SimpleIListTest.cpp
SmallPtrSetTest.cpp
SmallSetTest.cpp
SmallStringTest.cpp reland [gtest] Fix printing of StringRef and SmallString in assert messages. 2019-08-21 13:56:29 +00:00
SmallVectorTest.cpp
SparseBitVectorTest.cpp
SparseMultiSetTest.cpp
SparseSetTest.cpp
StatisticTest.cpp
STLExtrasTest.cpp [llvm] Migrate llvm::make_unique to std::make_unique 2019-08-15 15:54:37 +00:00
StringExtrasTest.cpp
StringMapTest.cpp
StringRefTest.cpp [ADT] Make StringRef(const char*) constexpr 2019-08-26 20:47:56 +00:00
StringSetTest.cpp
StringSwitchTest.cpp
TestGraph.h
TinyPtrVectorTest.cpp Add TinyPtrVector support for general pointer-like things. 2019-08-20 23:29:28 +00:00
TripleTest.cpp Add support for openSUSE RISC-V triple 2019-08-01 14:23:56 +00:00
TwineTest.cpp