summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
diff options
context:
space:
mode:
authorpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
committerpatrick <patrick@openbsd.org>2020-08-03 15:06:44 +0000
commitb64793999546ed8adebaeebd9d8345d18db8927d (patch)
tree4357c27b561d73b0e089727c6ed659f2ceff5f47 /gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
parentAdd support for UTF-8 DISPLAY-HINTs with octet length. For now only (diff)
downloadwireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.tar.xz
wireguard-openbsd-b64793999546ed8adebaeebd9d8345d18db8927d.zip
Remove LLVM 8.0.1 files.
Diffstat (limited to 'gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp')
-rw-r--r--gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp115
1 files changed, 0 insertions, 115 deletions
diff --git a/gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp b/gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
deleted file mode 100644
index 2aa9932e246..00000000000
--- a/gnu/llvm/lib/Target/XCore/XCoreTargetMachine.cpp
+++ /dev/null
@@ -1,115 +0,0 @@
-//===-- XCoreTargetMachine.cpp - Define TargetMachine for XCore -----------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-//
-//===----------------------------------------------------------------------===//
-
-#include "XCoreTargetMachine.h"
-#include "MCTargetDesc/XCoreMCTargetDesc.h"
-#include "XCore.h"
-#include "XCoreTargetObjectFile.h"
-#include "XCoreTargetTransformInfo.h"
-#include "llvm/ADT/Optional.h"
-#include "llvm/ADT/STLExtras.h"
-#include "llvm/Analysis/TargetTransformInfo.h"
-#include "llvm/CodeGen/Passes.h"
-#include "llvm/CodeGen/TargetPassConfig.h"
-#include "llvm/Support/CodeGen.h"
-#include "llvm/Support/TargetRegistry.h"
-
-using namespace llvm;
-
-static Reloc::Model getEffectiveRelocModel(Optional<Reloc::Model> RM) {
- if (!RM.hasValue())
- return Reloc::Static;
- return *RM;
-}
-
-static CodeModel::Model
-getEffectiveXCoreCodeModel(Optional<CodeModel::Model> CM) {
- if (CM) {
- if (*CM != CodeModel::Small && *CM != CodeModel::Large)
- report_fatal_error("Target only supports CodeModel Small or Large");
- return *CM;
- }
- return CodeModel::Small;
-}
-
-/// Create an ILP32 architecture model
-///
-XCoreTargetMachine::XCoreTargetMachine(const Target &T, const Triple &TT,
- StringRef CPU, StringRef FS,
- const TargetOptions &Options,
- Optional<Reloc::Model> RM,
- Optional<CodeModel::Model> CM,
- CodeGenOpt::Level OL, bool JIT)
- : LLVMTargetMachine(
- T, "e-m:e-p:32:32-i1:8:32-i8:8:32-i16:16:32-i64:32-f64:32-a:0:32-n32",
- TT, CPU, FS, Options, getEffectiveRelocModel(RM),
- getEffectiveXCoreCodeModel(CM), OL),
- TLOF(llvm::make_unique<XCoreTargetObjectFile>()),
- Subtarget(TT, CPU, FS, *this) {
- initAsmInfo();
-}
-
-XCoreTargetMachine::~XCoreTargetMachine() = default;
-
-namespace {
-
-/// XCore Code Generator Pass Configuration Options.
-class XCorePassConfig : public TargetPassConfig {
-public:
- XCorePassConfig(XCoreTargetMachine &TM, PassManagerBase &PM)
- : TargetPassConfig(TM, PM) {}
-
- XCoreTargetMachine &getXCoreTargetMachine() const {
- return getTM<XCoreTargetMachine>();
- }
-
- void addIRPasses() override;
- bool addPreISel() override;
- bool addInstSelector() override;
- void addPreEmitPass() override;
-};
-
-} // end anonymous namespace
-
-TargetPassConfig *XCoreTargetMachine::createPassConfig(PassManagerBase &PM) {
- return new XCorePassConfig(*this, PM);
-}
-
-void XCorePassConfig::addIRPasses() {
- addPass(createAtomicExpandPass());
-
- TargetPassConfig::addIRPasses();
-}
-
-bool XCorePassConfig::addPreISel() {
- addPass(createXCoreLowerThreadLocalPass());
- return false;
-}
-
-bool XCorePassConfig::addInstSelector() {
- addPass(createXCoreISelDag(getXCoreTargetMachine(), getOptLevel()));
- return false;
-}
-
-void XCorePassConfig::addPreEmitPass() {
- addPass(createXCoreFrameToArgsOffsetEliminationPass(), false);
-}
-
-// Force static initialization.
-extern "C" void LLVMInitializeXCoreTarget() {
- RegisterTargetMachine<XCoreTargetMachine> X(getTheXCoreTarget());
-}
-
-TargetTransformInfo
-XCoreTargetMachine::getTargetTransformInfo(const Function &F) {
- return TargetTransformInfo(XCoreTTIImpl(this, F));
-}