summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lib/Target/Sparc/SparcSubtarget.h
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/Sparc/SparcSubtarget.h
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/Sparc/SparcSubtarget.h')
-rw-r--r--gnu/llvm/lib/Target/Sparc/SparcSubtarget.h126
1 files changed, 0 insertions, 126 deletions
diff --git a/gnu/llvm/lib/Target/Sparc/SparcSubtarget.h b/gnu/llvm/lib/Target/Sparc/SparcSubtarget.h
deleted file mode 100644
index 24ea41a266e..00000000000
--- a/gnu/llvm/lib/Target/Sparc/SparcSubtarget.h
+++ /dev/null
@@ -1,126 +0,0 @@
-//===-- SparcSubtarget.h - Define Subtarget for the SPARC -------*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// This file declares the SPARC specific subclass of TargetSubtargetInfo.
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIB_TARGET_SPARC_SPARCSUBTARGET_H
-#define LLVM_LIB_TARGET_SPARC_SPARCSUBTARGET_H
-
-#include "SparcFrameLowering.h"
-#include "SparcISelLowering.h"
-#include "SparcInstrInfo.h"
-#include "llvm/CodeGen/SelectionDAGTargetInfo.h"
-#include "llvm/CodeGen/TargetFrameLowering.h"
-#include "llvm/CodeGen/TargetSubtargetInfo.h"
-#include "llvm/IR/DataLayout.h"
-#include <string>
-
-#define GET_SUBTARGETINFO_HEADER
-#include "SparcGenSubtargetInfo.inc"
-
-namespace llvm {
-class StringRef;
-
-class SparcSubtarget : public SparcGenSubtargetInfo {
- Triple TargetTriple;
- virtual void anchor();
- bool UseSoftMulDiv;
- bool IsV9;
- bool IsLeon;
- bool V8DeprecatedInsts;
- bool IsVIS, IsVIS2, IsVIS3;
- bool Is64Bit;
- bool HasHardQuad;
- bool UsePopc;
- bool UseSoftFloat;
- bool HasNoFSMULD;
- bool HasNoFMULS;
-
- // LEON features
- bool HasUmacSmac;
- bool HasLeonCasa;
- bool HasPWRPSR;
- bool InsertNOPLoad;
- bool FixAllFDIVSQRT;
- bool DetectRoundChange;
- bool HasLeonCycleCounter;
-
- SparcInstrInfo InstrInfo;
- SparcTargetLowering TLInfo;
- SelectionDAGTargetInfo TSInfo;
- SparcFrameLowering FrameLowering;
-
-public:
- SparcSubtarget(const Triple &TT, const std::string &CPU,
- const std::string &FS, const TargetMachine &TM, bool is64bit);
-
- const SparcInstrInfo *getInstrInfo() const override { return &InstrInfo; }
- const TargetFrameLowering *getFrameLowering() const override {
- return &FrameLowering;
- }
- const SparcRegisterInfo *getRegisterInfo() const override {
- return &InstrInfo.getRegisterInfo();
- }
- const SparcTargetLowering *getTargetLowering() const override {
- return &TLInfo;
- }
- const SelectionDAGTargetInfo *getSelectionDAGInfo() const override {
- return &TSInfo;
- }
-
- bool enableMachineScheduler() const override;
-
- bool useSoftMulDiv() const { return UseSoftMulDiv; }
- bool isV9() const { return IsV9; }
- bool isLeon() const { return IsLeon; }
- bool isVIS() const { return IsVIS; }
- bool isVIS2() const { return IsVIS2; }
- bool isVIS3() const { return IsVIS3; }
- bool useDeprecatedV8Instructions() const { return V8DeprecatedInsts; }
- bool hasHardQuad() const { return HasHardQuad; }
- bool usePopc() const { return UsePopc; }
- bool useSoftFloat() const { return UseSoftFloat; }
- bool hasNoFSMULD() const { return HasNoFSMULD; }
- bool hasNoFMULS() const { return HasNoFMULS; }
-
- // Leon options
- bool hasUmacSmac() const { return HasUmacSmac; }
- bool hasLeonCasa() const { return HasLeonCasa; }
- bool hasPWRPSR() const { return HasPWRPSR; }
- bool insertNOPLoad() const { return InsertNOPLoad; }
- bool fixAllFDIVSQRT() const { return FixAllFDIVSQRT; }
- bool detectRoundChange() const { return DetectRoundChange; }
- bool hasLeonCycleCounter() const { return HasLeonCycleCounter; }
-
- /// ParseSubtargetFeatures - Parses features string setting specified
- /// subtarget options. Definition of function is auto generated by tblgen.
- void ParseSubtargetFeatures(StringRef CPU, StringRef FS);
- SparcSubtarget &initializeSubtargetDependencies(StringRef CPU, StringRef FS);
-
- bool is64Bit() const { return Is64Bit; }
-
- /// The 64-bit ABI uses biased stack and frame pointers, so the stack frame
- /// of the current function is the area from [%sp+BIAS] to [%fp+BIAS].
- int64_t getStackPointerBias() const {
- return is64Bit() ? 2047 : 0;
- }
-
- /// Given a actual stack size as determined by FrameInfo, this function
- /// returns adjusted framesize which includes space for register window
- /// spills and arguments.
- int getAdjustedFrameSize(int stackSize) const;
-
- bool isTargetLinux() const { return TargetTriple.isOSLinux(); }
-};
-
-} // end namespace llvm
-
-#endif