33 lines
1.0 KiB
C++
33 lines
1.0 KiB
C++
#include "FootTargetMachine.h"
|
|
#include "FootTargetInfo.h"
|
|
#include "llvm/MC/TargetRegistry.h"
|
|
using namespace llvm;
|
|
|
|
static const char* FootDataLayoutStr =
|
|
"e-"
|
|
"p:16:32-"
|
|
"n8:16:32-"
|
|
"i64:64:64-i32:32:32-i16:16:32-"
|
|
"f32:32:32-"
|
|
"v32:32:32";
|
|
|
|
namespace llvm {
|
|
|
|
FootTargetMachine::FootTargetMachine(const Target &T, const Triple &TT,
|
|
StringRef CPU, StringRef FS,
|
|
const TargetOptions &Options,
|
|
std::optional<Reloc::Model> RM,
|
|
std::optional<CodeModel::Model> CM,
|
|
CodeGenOptLevel OL,
|
|
bool JIT)
|
|
: CodeGenTargetMachineImpl(T, FootDataLayoutStr, TT, CPU, FS, Options, RM ? *RM : Reloc::Static, CM ? *CM : CodeModel::Small, OL) {}
|
|
|
|
FootTargetMachine::~FootTargetMachine() = default;
|
|
|
|
} // namespace llvm
|
|
|
|
extern "C" LLVM_EXTERNAL_VISIBILITY void LLVMInitializeFootTarget()
|
|
{
|
|
RegisterTargetMachine<FootTargetMachine> X(getTheFootTarget());
|
|
}
|