mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 04:32:44 +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 |
||
---|---|---|
.. | ||
AArch64 | ||
Mips | ||
PowerPC | ||
X86 | ||
Analysis.cpp | ||
Analysis.h | ||
Assembler.cpp | ||
Assembler.h | ||
BenchmarkCode.h | ||
BenchmarkResult.cpp | ||
BenchmarkResult.h | ||
BenchmarkRunner.cpp | ||
BenchmarkRunner.h | ||
Clustering.cpp | ||
Clustering.h | ||
CMakeLists.txt | ||
CodeTemplate.cpp | ||
CodeTemplate.h | ||
Error.cpp | ||
Error.h | ||
LatencyBenchmarkRunner.cpp | ||
LatencyBenchmarkRunner.h | ||
LlvmState.cpp | ||
LlvmState.h | ||
MCInstrDescView.cpp | ||
MCInstrDescView.h | ||
ParallelSnippetGenerator.cpp | ||
ParallelSnippetGenerator.h | ||
PerfHelper.cpp | ||
PerfHelper.h | ||
RegisterAliasing.cpp | ||
RegisterAliasing.h | ||
RegisterValue.cpp | ||
RegisterValue.h | ||
SchedClassResolution.cpp | ||
SchedClassResolution.h | ||
SerialSnippetGenerator.cpp | ||
SerialSnippetGenerator.h | ||
SnippetFile.cpp | ||
SnippetFile.h | ||
SnippetGenerator.cpp | ||
SnippetGenerator.h | ||
SnippetRepetitor.cpp | ||
SnippetRepetitor.h | ||
Target.cpp | ||
Target.h | ||
TargetSelect.h | ||
UopsBenchmarkRunner.cpp | ||
UopsBenchmarkRunner.h |