diff options
Diffstat (limited to 'llvm/tools/llvm-exegesis/lib/X86')
| -rw-r--r-- | llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt | 13 | ||||
| -rw-r--r-- | llvm/tools/llvm-exegesis/lib/X86/LLVMBuild.txt | 22 | ||||
| -rw-r--r-- | llvm/tools/llvm-exegesis/lib/X86/Target.cpp | 33 |
3 files changed, 68 insertions, 0 deletions
diff --git a/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt b/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt new file mode 100644 index 00000000000..28dcff50ed7 --- /dev/null +++ b/llvm/tools/llvm-exegesis/lib/X86/CMakeLists.txt @@ -0,0 +1,13 @@ +add_library(LLVMExegesisX86 + STATIC + Target.cpp + ) + +llvm_update_compile_flags(LLVMExegesisX86) +llvm_map_components_to_libnames(libs + X86 + Exegesis + ) + +target_link_libraries(LLVMExegesisX86 ${libs}) +set_target_properties(LLVMExegesisX86 PROPERTIES FOLDER "Libraries") diff --git a/llvm/tools/llvm-exegesis/lib/X86/LLVMBuild.txt b/llvm/tools/llvm-exegesis/lib/X86/LLVMBuild.txt new file mode 100644 index 00000000000..2a7ddca81e7 --- /dev/null +++ b/llvm/tools/llvm-exegesis/lib/X86/LLVMBuild.txt @@ -0,0 +1,22 @@ +;===- ./tools/llvm-exegesis/lib/X86LLVMBuild.txt ---------------*- Conf -*--===; +; +; The LLVM Compiler Infrastructure +; +; This file is distributed under the University of Illinois Open Source +; License. See LICENSE.TXT for details. +; +;===------------------------------------------------------------------------===; +; +; This is an LLVMBuild description file for the components in this subdirectory. +; +; For more information on the LLVMBuild system, please see: +; +; http://llvm.org/docs/LLVMBuild.html +; +;===------------------------------------------------------------------------===; + +[component_0] +type = Library +name = ExegesisX86 +parent = Libraries +required_libraries = X86 diff --git a/llvm/tools/llvm-exegesis/lib/X86/Target.cpp b/llvm/tools/llvm-exegesis/lib/X86/Target.cpp new file mode 100644 index 00000000000..a37387bf5e7 --- /dev/null +++ b/llvm/tools/llvm-exegesis/lib/X86/Target.cpp @@ -0,0 +1,33 @@ +//===-- Target.cpp ----------------------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +#include "../Target.h" + +namespace exegesis { + +namespace { + +class ExegesisX86Target : public ExegesisTarget { +private: + bool matchesArch(llvm::Triple::ArchType Arch) const override { + return Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::x86; + } +}; + +} // namespace + +static ExegesisTarget* getTheExegesisX86Target() { + static ExegesisX86Target Target; + return &Target; +} + +void InitializeX86ExegesisTarget() { + ExegesisTarget::registerTarget(getTheExegesisX86Target()); +} + +} // namespace exegesis |

