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 Recommit: "[llvm-exegesis] Improve error reporting in Assembler.cpp" 2020-02-19 14:40:28 +01:00
BenchmarkCode.h [llvm-exegesis] Finish plumbing the Config field. 2019-10-08 09:06:48 +00:00
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 Avoid including FileSystem.h from MemoryBuffer.h 2020-02-29 12:30:23 -08:00
Clustering.h [llvm-exegesis][NFC] Remove extra llvm:: qualifications. 2019-10-09 11:58:42 +00:00
CMakeLists.txt Renovate CMake files in the llvm-exegesis tool. 2021-02-10 14:22:55 -05:00
CodeTemplate.cpp [llvm-exegesis][NFC] internal changes 2019-12-18 17:24:07 +01:00
CodeTemplate.h [llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE 2020-02-12 21:33:52 +03:00
Error.cpp [llvm-exegesis] Improve error reporting in BenchmarkRunner.cpp 2020-02-07 16:29:52 +01:00
Error.h [llvm-exegesis] Improve error reporting in BenchmarkRunner.cpp 2020-02-07 16:29:52 +01:00
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 [llvm-exegesis] Fix r374158 2019-10-09 12:37:56 +00:00
MCInstrDescView.cpp [WebAssembly] Support single-floating-point immediate value 2021-02-04 18:05:06 -08:00
MCInstrDescView.h [llvm-exegesis][NFC] internal changes 2019-12-18 17:24:07 +01:00
ParallelSnippetGenerator.cpp [llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE 2020-02-12 21:33:52 +03:00
ParallelSnippetGenerator.h [llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE 2020-02-12 21:33:52 +03:00
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 [llvm-exegesis] Allow the randomizer to fail nicely... 2020-01-23 11:08:44 +01:00
RegisterAliasing.h [llvm-exegesis] Allow the randomizer to fail nicely... 2020-01-23 11:08:44 +01:00
RegisterValue.cpp Move endian constant from Host.h to SwapByteOrder.h, prune include 2019-10-19 00:48:11 +00:00
RegisterValue.h [llvm-exegesis][NFC] Remove extra llvm:: qualifications. 2019-10-09 11:58:42 +00:00
SchedClassResolution.cpp [llvm] Use llvm::find_if (NFC) 2021-01-11 18:48:06 -08:00
SchedClassResolution.h [llvm-exegesis][NFC] Remove extra llvm:: qualifications. 2019-10-09 11:58:42 +00:00
SerialSnippetGenerator.cpp Avoid shuffle self-assignment in EXPENSIVE_CHECKS builds 2021-03-10 11:17:34 +00:00
SerialSnippetGenerator.h [llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE 2020-02-12 21:33:52 +03:00
SnippetFile.cpp [MC] Refactor MCObjectFileInfo initialization and allow targets to create MCObjectFileInfo 2021-05-23 14:15:23 -07:00
SnippetFile.h
SnippetGenerator.cpp [llvm-exegesis] Exploring X86::OperandType::OPERAND_COND_CODE 2020-02-12 21:33:52 +03:00
SnippetGenerator.h Don't stash types that aren't copyable or moveable into a SmallVector 2020-05-02 19:13:06 +02:00
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 Revert "Remove redundant "std::move"s in return statements" 2020-02-10 07:07:40 -08:00
UopsBenchmarkRunner.h [llvm-exegesis][NFC] Disassociate snippet generators from benchmark runners 2020-01-20 16:19:13 +01:00