1212#include < memory>
1313
1414#include " MCTargetDesc/RISCVMCTargetDesc.h"
15+ #include " TestBase.h"
1516#include " llvm/MC/TargetRegistry.h"
1617#include " llvm/Support/TargetSelect.h"
1718#include " gmock/gmock.h"
@@ -28,31 +29,16 @@ using testing::IsEmpty;
2829using testing::Not;
2930using testing::NotNull;
3031
31- constexpr const char kTriple [] = " riscv64-unknown-linux" ;
32-
33- class RISCVTargetTest : public ::testing::Test {
32+ class RISCVTargetTest : public RISCVTestBase {
3433protected:
35- RISCVTargetTest () : ExegesisTarget_(ExegesisTarget::lookup(Triple(kTriple ))) {
36- EXPECT_THAT (ExegesisTarget_, NotNull ());
37- std::string error;
38- Target_ = TargetRegistry::lookupTarget (kTriple , error);
39- EXPECT_THAT (Target_, NotNull ());
40- }
41- static void SetUpTestCase () {
42- LLVMInitializeRISCVTargetInfo ();
43- LLVMInitializeRISCVTarget ();
44- LLVMInitializeRISCVTargetMC ();
45- InitializeRISCVExegesisTarget ();
34+ std::vector<MCInst> setRegTo (unsigned Reg, const APInt &Value) {
35+ return State.getExegesisTarget ().setRegTo (State.getSubtargetInfo (), Reg,
36+ Value);
4637 }
47-
48- const Target *Target_;
49- const ExegesisTarget *const ExegesisTarget_;
5038};
5139
5240TEST_F (RISCVTargetTest, SetRegToConstant) {
53- const std::unique_ptr<MCSubtargetInfo> STI (
54- Target_->createMCSubtargetInfo (kTriple , " generic" , " " ));
55- const auto Insts = ExegesisTarget_->setRegTo (*STI, RISCV::X10, APInt ());
41+ const auto Insts = setRegTo (RISCV::X10, APInt ());
5642 EXPECT_THAT (Insts, Not (IsEmpty ()));
5743}
5844
0 commit comments