mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 02:33:06 +01:00
a29bc1a45f
This patch allows iterating typed enum via the ADT/Sequence utility. It also changes the original design to better separate concerns: - `StrongInt` only deals with safe `intmax_t` operations, - `SafeIntIterator` presents the iterator and reverse iterator interface but only deals with safe `StrongInt` internally. - `iota_range` only deals with `SafeIntIterator` internally. This design ensures that operations are always valid. In particular, "Out of bounds" assertions fire when: - the `value_type` is not representable as an `intmax_t` - iterator operations make internal computation underflow/overflow - the internal representation cannot be converted back to `value_type` Differential Revision: https://reviews.llvm.org/D106279 |
||
---|---|---|
.. | ||
GlobalISel | ||
AArch64SelectionDAGTest.cpp | ||
AllocationOrderTest.cpp | ||
AsmPrinterDwarfTest.cpp | ||
CMakeLists.txt | ||
DIEHashTest.cpp | ||
DIETest.cpp | ||
LexicalScopesTest.cpp | ||
LowLevelTypeTest.cpp | ||
MachineInstrBundleIteratorTest.cpp | ||
MachineInstrTest.cpp | ||
MachineOperandTest.cpp | ||
MFCommon.inc | ||
PassManagerTest.cpp | ||
ScalableVectorMVTsTest.cpp | ||
SelectionDAGAddressAnalysisTest.cpp | ||
TargetOptionsTest.cpp | ||
TestAsmPrinter.cpp | ||
TestAsmPrinter.h | ||
TypeTraitsTest.cpp |