diff options
Diffstat (limited to 'llvm/unittests/tools')
3 files changed, 62 insertions, 0 deletions
diff --git a/llvm/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txt new file mode 100644 index 00000000000..392efce26c0 --- /dev/null +++ b/llvm/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txt @@ -0,0 +1,21 @@ +include_directories( + ${LLVM_MAIN_SRC_DIR}/lib/Target/AArch64 + ${LLVM_BINARY_DIR}/lib/Target/AArch64 + ${LLVM_MAIN_SRC_DIR}/tools/llvm-exegesis/lib + ) + +set(LLVM_LINK_COMPONENTS + MC + MCParser + Object + Support + Symbolize + AArch64 + ) + +add_llvm_unittest(LLVMExegesisAArch64Tests + TargetTest.cpp + ) +target_link_libraries(LLVMExegesisAArch64Tests PRIVATE + LLVMExegesis + LLVMExegesisAArch64) diff --git a/llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp b/llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp new file mode 100644 index 00000000000..7d1f2e4804e --- /dev/null +++ b/llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp @@ -0,0 +1,38 @@ +#include "Target.h" + +#include <cassert> +#include <memory> + +#include "MCTargetDesc/AArch64MCTargetDesc.h" +#include "gmock/gmock.h" +#include "gtest/gtest.h" + +namespace exegesis { + +void InitializeAArch64ExegesisTarget(); + +namespace { + +using testing::Gt; +using testing::NotNull; +using testing::SizeIs; + +class AArch64TargetTest : public ::testing::Test { +protected: + AArch64TargetTest() + : Target_(ExegesisTarget::lookup(llvm::Triple("aarch64-unknown-linux"))) { + EXPECT_THAT(Target_, NotNull()); + } + static void SetUpTestCase() { InitializeAArch64ExegesisTarget(); } + + const ExegesisTarget *const Target_; +}; + +TEST_F(AArch64TargetTest, SetRegToConstant) { + // The AArch64 target currently doesn't know how to set register values + const auto Insts = Target_->setRegToConstant(llvm::AArch64::X0); + EXPECT_THAT(Insts, SizeIs(0)); +} + +} // namespace +} // namespace exegesis diff --git a/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt b/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt index 867df415b93..9afa17a8e80 100644 --- a/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt +++ b/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt @@ -23,3 +23,6 @@ endif() if(LLVM_TARGETS_TO_BUILD MATCHES "ARM") add_subdirectory(ARM) endif() +if(LLVM_TARGETS_TO_BUILD MATCHES "AArch64") + add_subdirectory(AArch64) +endif() |

