llvm-project/llvm/tools/llvm-exegesis/lib
Philipp Krones 632ebc4ab4 [MC] Untangle MCContext and MCObjectFileInfo
This untangles the MCContext and the MCObjectFileInfo. There is a circular
dependency between MCContext and MCObjectFileInfo. Currently this dependency
also exists during construction: You can't contruct a MOFI without a MCContext
without constructing the MCContext with a dummy version of that MOFI first.
This removes this dependency during construction. In a perfect world,
MCObjectFileInfo wouldn't depend on MCContext at all, but only be stored in the
MCContext, like other MC information. This is future work.

This also shifts/adds more information to the MCContext making it more
available to the different targets. Namely:

- TargetTriple
- ObjectFileType
- SubtargetInfo

Reviewed By: MaskRay

Differential Revision: https://reviews.llvm.org/D101462
2021-05-05 10:03:02 -07: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-exegesis] Don't erroneously refuse to measure POPCNT instruction 2021-04-04 14:38:26 +03:00
Analysis.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
Analysis.h [llvm-exegesis] Honor -mcpu in analysis mode. 2021-04-19 10:44:28 +02:00
Assembler.cpp [GlobalISel] Base implementation for sret demotion. 2021-01-06 10:30:50 +05:30
Assembler.h
BenchmarkCode.h
BenchmarkResult.cpp [SystemZ][z/OS] Add IsText Argument to GetFile and GetFileOrSTDIN 2021-04-16 10:08:36 -04:00
BenchmarkResult.h
BenchmarkRunner.cpp [tools] Use llvm::append_range (NFC) 2021-01-05 21:15:56 -08:00
BenchmarkRunner.h
CMakeLists.txt Renovate CMake files in the `llvm-exegesis` tool. 2021-02-10 14:22:55 -05:00
Clustering.cpp
Clustering.h
CodeTemplate.cpp
CodeTemplate.h
Error.cpp
Error.h
LatencyBenchmarkRunner.cpp
LatencyBenchmarkRunner.h
LlvmState.cpp [MC] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -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 Reland [llvm-exegesis] Add benchmark latency option on X86 that uses LBR for more precise measurements. 2020-07-27 12:38:05 -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] Untangle MCContext and MCObjectFileInfo 2021-05-05 10:03:02 -07:00
SnippetFile.h
SnippetGenerator.cpp
SnippetGenerator.h
SnippetRepetitor.cpp
SnippetRepetitor.h
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