forked from OSchip/llvm-project
34 lines
851 B
C++
34 lines
851 B
C++
![]() |
//===-- 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
|