summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/tools/llvm-exegesis
diff options
context:
space:
mode:
authorGuillaume Chatelet <gchatelet@google.com>2018-09-25 12:18:08 +0000
committerGuillaume Chatelet <gchatelet@google.com>2018-09-25 12:18:08 +0000
commit55ad087a4c2ff29ef54f28edeb7b2394046ccbdf (patch)
treee9f465fa5f470f287e0382df3bf38c321254b78f /llvm/unittests/tools/llvm-exegesis
parent99d98ed2b246b013fcd9769f783af880c80c7e5f (diff)
downloadbcm5719-llvm-55ad087a4c2ff29ef54f28edeb7b2394046ccbdf.tar.gz
bcm5719-llvm-55ad087a4c2ff29ef54f28edeb7b2394046ccbdf.zip
[llvm-exegesis][NFC] Rewrite of the YAML serialization.
Summary: This is a NFC in preparation of exporting the initial registers as part of the YAML dump Reviewers: courbet Reviewed By: courbet Subscribers: mgorny, tschuett, llvm-commits Differential Revision: https://reviews.llvm.org/D52427 llvm-svn: 342967
Diffstat (limited to 'llvm/unittests/tools/llvm-exegesis')
-rw-r--r--llvm/unittests/tools/llvm-exegesis/CMakeLists.txt1
-rw-r--r--llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp (renamed from llvm/unittests/tools/llvm-exegesis/BenchmarkResultTest.cpp)34
-rw-r--r--llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt1
3 files changed, 18 insertions, 18 deletions
diff --git a/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
index 21459a46ddb..1b373161041 100644
--- a/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
+++ b/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt
@@ -11,7 +11,6 @@ set(LLVM_LINK_COMPONENTS
)
add_llvm_unittest(LLVMExegesisTests
- BenchmarkResultTest.cpp
BenchmarkRunnerTest.cpp
ClusteringTest.cpp
PerfHelperTest.cpp
diff --git a/llvm/unittests/tools/llvm-exegesis/BenchmarkResultTest.cpp b/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
index 2b604dcdeb4..74446fc77cd 100644
--- a/llvm/unittests/tools/llvm-exegesis/BenchmarkResultTest.cpp
+++ b/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp
@@ -8,9 +8,12 @@
//===----------------------------------------------------------------------===//
#include "BenchmarkResult.h"
+#include "X86InstrInfo.h"
#include "llvm/ADT/SmallString.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/Path.h"
+#include "llvm/Support/TargetRegistry.h"
+#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/YAMLTraits.h"
#include "llvm/Support/raw_ostream.h"
#include "gmock/gmock.h"
@@ -47,25 +50,21 @@ MATCHER(EqMCInst, "") {
namespace {
-static constexpr const unsigned kInstrId = 5;
-static constexpr const char kInstrName[] = "Instruction5";
-static constexpr const unsigned kReg1Id = 1;
-static constexpr const char kReg1Name[] = "Reg1";
-static constexpr const unsigned kReg2Id = 2;
-static constexpr const char kReg2Name[] = "Reg2";
-
TEST(BenchmarkResultTest, WriteToAndReadFromDisk) {
+ LLVMInitializeX86TargetInfo();
+ LLVMInitializeX86Target();
+ LLVMInitializeX86TargetMC();
+
+ // Read benchmarks.
+ const LLVMState State;
+
llvm::ExitOnError ExitOnErr;
- BenchmarkResultContext Ctx;
- Ctx.addInstrEntry(kInstrId, kInstrName);
- Ctx.addRegEntry(kReg1Id, kReg1Name);
- Ctx.addRegEntry(kReg2Id, kReg2Name);
InstructionBenchmark ToDisk;
- ToDisk.Key.Instructions.push_back(llvm::MCInstBuilder(kInstrId)
- .addReg(kReg1Id)
- .addReg(kReg2Id)
+ ToDisk.Key.Instructions.push_back(llvm::MCInstBuilder(llvm::X86::XOR32rr)
+ .addReg(llvm::X86::AL)
+ .addReg(llvm::X86::AH)
.addImm(123)
.addFPImm(0.5));
ToDisk.Key.Config = "config";
@@ -83,12 +82,13 @@ TEST(BenchmarkResultTest, WriteToAndReadFromDisk) {
EC = llvm::sys::fs::createUniqueDirectory("BenchmarkResultTestDir", Filename);
ASSERT_FALSE(EC);
llvm::sys::path::append(Filename, "data.yaml");
- ExitOnErr(ToDisk.writeYaml(Ctx, Filename));
+ llvm::errs() << Filename << "-------\n";
+ ExitOnErr(ToDisk.writeYaml(State, Filename));
{
// One-element version.
const auto FromDisk =
- ExitOnErr(InstructionBenchmark::readYaml(Ctx, Filename));
+ ExitOnErr(InstructionBenchmark::readYaml(State, Filename));
EXPECT_THAT(FromDisk.Key.Instructions,
Pointwise(EqMCInst(), ToDisk.Key.Instructions));
@@ -104,7 +104,7 @@ TEST(BenchmarkResultTest, WriteToAndReadFromDisk) {
{
// Vector version.
const auto FromDiskVector =
- ExitOnErr(InstructionBenchmark::readYamls(Ctx, Filename));
+ ExitOnErr(InstructionBenchmark::readYamls(State, Filename));
ASSERT_EQ(FromDiskVector.size(), size_t{1});
const auto FromDisk = FromDiskVector[0];
EXPECT_THAT(FromDisk.Key.Instructions,
diff --git a/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt
index 5a74c87d9b5..5078e7ba76c 100644
--- a/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt
+++ b/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt
@@ -16,6 +16,7 @@ set(LLVM_LINK_COMPONENTS
add_llvm_unittest(LLVMExegesisX86Tests
AssemblerTest.cpp
AnalysisTest.cpp
+ BenchmarkResultTest.cpp
SnippetGeneratorTest.cpp
RegisterAliasingTest.cpp
TargetTest.cpp
OpenPOWER on IntegriCloud