blob: a37387bf5e76b0f25648eb67466dd8bf656c0d20 [file] [log] [blame]
Clement Courbet44b4c542018-06-19 11:28:59 +00001//===-- Target.cpp ----------------------------------------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9#include "../Target.h"
10
11namespace exegesis {
12
13namespace {
14
15class ExegesisX86Target : public ExegesisTarget {
16private:
17 bool matchesArch(llvm::Triple::ArchType Arch) const override {
18 return Arch == llvm::Triple::x86_64 || Arch == llvm::Triple::x86;
19 }
20};
21
22} // namespace
23
24static ExegesisTarget* getTheExegesisX86Target() {
25 static ExegesisX86Target Target;
26 return &Target;
27}
28
29void InitializeX86ExegesisTarget() {
30 ExegesisTarget::registerTarget(getTheExegesisX86Target());
31}
32
33} // namespace exegesis