19#define DEBUG_TYPE "csky-subtarget"
20#define GET_SUBTARGETINFO_TARGET_DESC
21#define GET_SUBTARGETINFO_CTOR
22#include "CSKYGenSubtargetInfo.inc"
24void CSKYSubtarget::anchor() {}
31 if (TuneCPUName.
empty())
32 TuneCPUName = CPUName;
35 UseHardFloatABI =
false;
36 HasFPUv2SingleFloat =
false;
37 HasFPUv2DoubleFloat =
false;
38 HasFPUv3HalfWord =
false;
39 HasFPUv3HalfFloat =
false;
40 HasFPUv3SingleFloat =
false;
41 HasFPUv3DoubleFloat =
false;
60 HasHardwareDivide =
false;
61 HasHighRegisters =
false;
66 HasVDSPV1_128 =
false;
68 DumpConstPool =
false;
69 EnableInterruptAttribute =
false;
73 EnableStackSize =
false;
95 InstrInfo(*this), RegInfo(), TLInfo(TM, *this) {
96 TSInfo = std::make_unique<CSKYSelectionDAGInfo>();
109 return UseHardFloatABI;
CSKYSubtarget & initializeSubtargetDependencies(const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS)
Initializes using the passed in CPU and feature strings so that we can use initializer lists for subt...
void ParseSubtargetFeatures(StringRef CPU, StringRef TuneCPU, StringRef FS)
bool useHardFloatABI() const
CSKYSubtarget(const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS, const TargetMachine &TM)
~CSKYSubtarget() override
const CSKYTargetLowering * getTargetLowering() const override
const SelectionDAGTargetInfo * getSelectionDAGInfo() const override
Targets can subclass this to parameterize the SelectionDAG lowering and instruction selection process...
StringRef - Represent a constant reference to a string, i.e.
constexpr bool empty() const
empty - Check if the string is empty.
const TargetMachine & getTargetMachine() const
Primary interface to the complete machine description for the target machine.
FloatABI::ABIType FloatABIType
FloatABIType - This setting is set by -float-abi=xxx option is specfied on the command line.
Triple - Helper class for working with autoconf configuration names.
This is an optimization pass for GlobalISel generic memory operations.