llvm-project/llvm/unittests/ADT
Chris Lattner 704a395693 [APInt] Enable APInt to support zero bit integers.
Motivation: APInt not supporting zero bit values leads to
a lot of special cases in various bits of code, particularly
when using APInt as a bit vector (where you want to start with
zero bits and then concat on more.  This is particularly
challenging in the CIRCT project, where the absence of zero-bit
ConstantOp forces duplication of ops and makes instcombine-like
logic far more complicated.

Approach: zero bit integers are weird.  There are two reasonable
approaches: either make it illegal to do general arithmetic on
them (e.g. sign extends), or treat them as as implicitly having
a zero value.  This patch takes the conservative approach, which
enables their use in bitvector applications.

Differential Revision: https://reviews.llvm.org/D109555
2021-09-09 22:43:54 -07:00
..
APFixedPointTest.cpp [Fixed Point] Add floating point methods to APFixedPoint. 2020-10-09 10:27:42 +02:00
APFloatTest.cpp [APFloat] convertToDouble/Float can work on shorter types 2021-05-21 11:02:51 +07:00
APIntTest.cpp [APInt] Enable APInt to support zero bit integers. 2021-09-09 22:43:54 -07:00
APSIntTest.cpp
AnyTest.cpp
ArrayRefTest.cpp Switch from llvm::is_trivially_copyable to std::is_trivially_copyable 2020-12-02 22:02:48 -08:00
BitFieldsTest.cpp
BitVectorTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
BitmaskEnumTest.cpp
BreadthFirstIteratorTest.cpp
BumpPtrListTest.cpp
CMakeLists.txt [ADT] Add STLForwardCompat.h and llvm::disjunction 2021-04-30 17:28:47 +00:00
CoalescingBitVectorTest.cpp
DAGDeltaAlgorithmTest.cpp
DeltaAlgorithmTest.cpp
DenseMapTest.cpp [ADT] Add initializer_list constructor to SmallDenseMap 2021-07-21 09:32:16 -04:00
DenseSetTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
DepthFirstIteratorTest.cpp
DirectedGraphTest.cpp
EnumeratedArrayTest.cpp
EquivalenceClassesTest.cpp
FallibleIteratorTest.cpp
FloatingPointMode.cpp
FoldingSet.cpp
FunctionExtrasTest.cpp Allow incomplete template types in unique_function arguments 2021-05-21 14:09:33 +07:00
FunctionRefTest.cpp [ADT] Fix accidental pointer comparison in test 2020-10-27 18:11:45 +01:00
HashingTest.cpp [Support] Automatically support `hash_value` when `HashBuilder` support is available. 2021-09-07 09:56:11 -07:00
IListBaseTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
IListIteratorTest.cpp
IListNodeBaseTest.cpp
IListNodeTest.cpp
IListSentinelTest.cpp
IListTest.cpp
ImmutableListTest.cpp [RGT] Recode more unreachable assertions and tautologies 2021-03-19 09:17:22 -07:00
ImmutableMapTest.cpp [ADT] Fix for ImmutableMapRef 2020-10-29 13:19:51 +01:00
ImmutableSetTest.cpp [RGT][ADT] Remove test assertion that will not be executed 2021-01-22 14:52:55 -08:00
IntEqClassesTest.cpp
IntervalMapTest.cpp
IntrusiveRefCntPtrTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
IteratorTest.cpp
MapVectorTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
MappedIteratorTest.cpp
OptionalTest.cpp [ADT] Factor out in_place_t and expose in Optional ctor 2021-05-17 22:25:39 +00:00
PackedVectorTest.cpp
PointerEmbeddedIntTest.cpp
PointerIntPairTest.cpp Switch from llvm::is_trivially_copyable to std::is_trivially_copyable 2020-12-02 22:02:48 -08:00
PointerSumTypeTest.cpp
PointerUnionTest.cpp
PostOrderIteratorTest.cpp [ADT] Update RPOT to work with specializations of different types. 2021-04-17 20:45:04 +01:00
PriorityWorklistTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
RangeAdapterTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
SCCIteratorTest.cpp
STLExtrasTest.cpp Add `all_of_zip` to STLExtras 2021-07-29 05:00:35 +00:00
STLForwardCompatTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
ScopeExitTest.cpp
SequenceTest.cpp [llvm] Add enum iteration to Sequence 2021-07-21 12:48:53 +00:00
SetVectorTest.cpp
SimpleIListTest.cpp
SmallPtrSetTest.cpp Allow SmallPtrSet to be used with a std::insert_iterator 2021-02-05 16:12:47 -05:00
SmallSetTest.cpp
SmallStringTest.cpp [llvm] Rename StringRef _lower() method calls to _insensitive() 2021-06-25 00:22:01 +03:00
SmallVectorTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
SparseBitVectorTest.cpp
SparseMultiSetTest.cpp
SparseSetTest.cpp
StatisticTest.cpp
StringExtrasTest.cpp StringExtrasTest.cpp - add missing newline at the end of file. NFCI. 2021-06-11 14:32:35 +01:00
StringMapTest.cpp Reland "Try to unbreak Win build differently after 973519826edb76"" 2021-09-02 16:19:58 -07:00
StringRefTest.cpp [ADT] Rename StringRef case insensitive methods for clarity 2021-06-25 00:22:00 +03:00
StringSetTest.cpp
StringSwitchTest.cpp
TestGraph.h
TinyPtrVectorTest.cpp Put back the trailing commas on TYPED_TEST_SUITE 2021-05-17 14:14:13 +02:00
TripleTest.cpp Delete le32/le64 targets 2021-04-21 18:44:12 -07:00
TwineTest.cpp Consolidate string types into ptr and length representations. 2021-07-20 13:29:57 -07:00
TypeSwitchTest.cpp [mlir] Add support for walking locations similarly to Operations 2021-04-15 16:09:34 -07:00
TypeTraitsTest.cpp
WaymarkingTest.cpp