1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +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 Renovate CMake files in the llvm-exegesis tool. 2021-02-10 14:22:55 -05:00
Mips Renovate CMake files in the llvm-exegesis tool. 2021-02-10 14:22:55 -05:00
PowerPC Renovate CMake files in the llvm-exegesis tool. 2021-02-10 14:22:55 -05:00
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 [GlobalISel] Base implementation for sret demotion. 2021-01-06 10:30:50 +05:30
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 Renovate CMake files in the llvm-exegesis tool. 2021-02-10 14:22:55 -05:00
CodeTemplate.cpp
CodeTemplate.h
Error.cpp
Error.h
LatencyBenchmarkRunner.cpp [llvm-exegesis] Let Counter returns up to 16 entries 2020-06-26 10:57:20 -04:00
LatencyBenchmarkRunner.h [llvm-exegesis] Let Counter returns up to 16 entries 2020-06-26 10:57:20 -04:00
LlvmState.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
LlvmState.h
MCInstrDescView.cpp [WebAssembly] Support single-floating-point immediate value 2021-02-04 18:05:06 -08:00
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 Reland [llvm-exegesis] Add benchmark latency option on X86 that uses LBR for more precise measurements. 2020-07-27 12:38:05 -04:00
RegisterAliasing.cpp
RegisterAliasing.h
RegisterValue.cpp
RegisterValue.h
SchedClassResolution.cpp [llvm] Use llvm::find_if (NFC) 2021-01-11 18:48:06 -08:00
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 [llvm] Use *::empty (NFC) 2021-01-16 09:40:55 -08:00
Target.h Re-land "[llvm-exegesis] Save target state before running the benchmark." 2020-11-04 09:46:55 +01:00
TargetSelect.h
UopsBenchmarkRunner.cpp
UopsBenchmarkRunner.h