1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 18:54:02 +01:00
llvm-mirror/tools/llvm-exegesis/lib
Guillaume Chatelet a29bc1a45f [llvm] Add enum iteration to Sequence
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
2021-07-21 12:48:53 +00:00
..
AArch64
Mips
PowerPC
X86 [llvm] Add enum iteration to Sequence 2021-07-21 12:48:53 +00:00
Analysis.cpp PR51018: Remove explicit conversions from SmallString to StringRef to future-proof against C++23 2021-07-08 13:37:57 -07:00
Analysis.h [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
Assembler.cpp
Assembler.h
BenchmarkCode.h
BenchmarkResult.cpp [ADT] Remove APInt/APSInt toString() std::string variants 2021-06-11 13:19:15 +01:00
BenchmarkResult.h [llvm-exegesis] Loop unrolling for loop snippet repetitor mode 2021-05-25 12:08:27 +03:00
BenchmarkRunner.cpp [llvm-exegesis] Loop unrolling for loop snippet repetitor mode 2021-05-25 12:08:27 +03:00
BenchmarkRunner.h [llvm-exegesis] Loop unrolling for loop snippet repetitor mode 2021-05-25 12:08:27 +03:00
Clustering.cpp
Clustering.h
CMakeLists.txt
CodeTemplate.cpp
CodeTemplate.h
Error.cpp
Error.h
LatencyBenchmarkRunner.cpp
LatencyBenchmarkRunner.h
LlvmState.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
LlvmState.h
MCInstrDescView.cpp
MCInstrDescView.h
ParallelSnippetGenerator.cpp
ParallelSnippetGenerator.h
PerfHelper.cpp [llvm-exegesis] Fix missing-headers build errors. 2021-07-15 13:20:25 -04:00
PerfHelper.h
RegisterAliasing.cpp
RegisterAliasing.h
RegisterValue.cpp
RegisterValue.h
SchedClassResolution.cpp
SchedClassResolution.h
SerialSnippetGenerator.cpp Avoid shuffle self-assignment in EXPENSIVE_CHECKS builds 2021-03-10 11:17:34 +00:00
SerialSnippetGenerator.h
SnippetFile.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
SnippetFile.h
SnippetGenerator.cpp
SnippetGenerator.h
SnippetRepetitor.cpp [llvm-exegesis] Loop unrolling for loop snippet repetitor mode 2021-05-25 12:08:27 +03:00
SnippetRepetitor.h [llvm-exegesis] Loop unrolling for loop snippet repetitor mode 2021-05-25 12:08:27 +03:00
Target.cpp
Target.h
TargetSelect.h
UopsBenchmarkRunner.cpp
UopsBenchmarkRunner.h