LLVM 22.0.0git
llvm::CSKYSubtarget Class Reference

#include "Target/CSKY/CSKYSubtarget.h"

Inheritance diagram for llvm::CSKYSubtarget:
[legend]

Public Member Functions

 CSKYSubtarget (const Triple &TT, StringRef CPU, StringRef TuneCPU, StringRef FS, const TargetMachine &TM)
 ~CSKYSubtarget () override
const CSKYFrameLoweringgetFrameLowering () const override
const CSKYInstrInfogetInstrInfo () const override
const CSKYRegisterInfogetRegisterInfo () const override
const CSKYTargetLoweringgetTargetLowering () const override
const SelectionDAGTargetInfogetSelectionDAGInfo () const override
CSKYSubtargetinitializeSubtargetDependencies (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 subtarget initialization.
void ParseSubtargetFeatures (StringRef CPU, StringRef TuneCPU, StringRef FS)
bool useHardFloatABI () const
bool useHardFloat () const
bool hasFPUv2SingleFloat () const
bool hasFPUv2DoubleFloat () const
bool hasFPUv2 () const
bool hasFPUv3HalfWord () const
bool hasFPUv3HalfFloat () const
bool hasFPUv3SingleFloat () const
bool hasFPUv3DoubleFloat () const
bool hasFPUv3 () const
bool hasAnyFloatExt () const
bool hasFdivdu () const
bool hasFLOATE1 () const
bool hasFLOAT1E2 () const
bool hasFLOAT1E3 () const
bool hasFLOAT3E4 () const
bool hasFLOAT7E60 () const
bool hasExtendLrw () const
bool hasBTST16 () const
bool hasTrust () const
bool hasJAVA () const
bool hasCache () const
bool hasNVIC () const
bool hasDSP () const
bool hasDSP1E2 () const
bool hasDSPE60 () const
bool hasDSPV2 () const
bool hasDSP_Silan () const
bool hasDoloop () const
bool hasHighRegisters () const
bool hasVDSPV2 () const
bool hasVDSPV2_FLOAT () const
bool hasVDSPV2_HALF () const
bool hasVDSP2E3 () const
bool hasVDSP2E60F () const
bool readTPHard () const
bool hasVDSPV1_128 () const
bool useCCRT () const
bool dumpConstPool () const
bool enableInterruptAttribute () const
bool hasPushPop () const
bool hasSTM () const
bool smartMode () const
bool enableStackSize () const
bool hasE1 () const
bool hasE2 () const
bool has2E3 () const
bool has3r1E3r2 () const
bool has3r2E3r3 () const
bool has3E3r1 () const
bool has3E7 () const
bool hasMP () const
bool hasMP1E2 () const
bool has7E10 () const
bool has10E60 () const
bool isCK801 () const
bool isCK802 () const
bool isCK803 () const
bool isCK803S () const
bool isCK804 () const
bool isCK805 () const
bool isCK807 () const
bool isCK810 () const
bool isCK810V () const
bool isCK860 () const
bool isCK860V () const

Public Attributes

const unsigned XLen = 32

Detailed Description

Definition at line 29 of file CSKYSubtarget.h.

Constructor & Destructor Documentation

◆ CSKYSubtarget()

CSKYSubtarget::CSKYSubtarget ( const Triple & TT,
StringRef CPU,
StringRef TuneCPU,
StringRef FS,
const TargetMachine & TM )

Definition at line 91 of file CSKYSubtarget.cpp.

References initializeSubtargetDependencies().

Referenced by initializeSubtargetDependencies().

◆ ~CSKYSubtarget()

CSKYSubtarget::~CSKYSubtarget ( )
overridedefault

Member Function Documentation

◆ dumpConstPool()

bool llvm::CSKYSubtarget::dumpConstPool ( ) const
inline

Definition at line 179 of file CSKYSubtarget.h.

◆ enableInterruptAttribute()

bool llvm::CSKYSubtarget::enableInterruptAttribute ( ) const
inline

Definition at line 180 of file CSKYSubtarget.h.

◆ enableStackSize()

bool llvm::CSKYSubtarget::enableStackSize ( ) const
inline

Definition at line 184 of file CSKYSubtarget.h.

◆ getFrameLowering()

const CSKYFrameLowering * llvm::CSKYSubtarget::getFrameLowering ( ) const
inlineoverride

Definition at line 116 of file CSKYSubtarget.h.

◆ getInstrInfo()

const CSKYInstrInfo * llvm::CSKYSubtarget::getInstrInfo ( ) const
inlineoverride

Definition at line 119 of file CSKYSubtarget.h.

◆ getRegisterInfo()

const CSKYRegisterInfo * llvm::CSKYSubtarget::getRegisterInfo ( ) const
inlineoverride

Definition at line 120 of file CSKYSubtarget.h.

Referenced by llvm::CSKYTargetLowering::CSKYTargetLowering().

◆ getSelectionDAGInfo()

const SelectionDAGTargetInfo * CSKYSubtarget::getSelectionDAGInfo ( ) const
override

Definition at line 101 of file CSKYSubtarget.cpp.

◆ getTargetLowering()

const CSKYTargetLowering * llvm::CSKYSubtarget::getTargetLowering ( ) const
inlineoverride

Definition at line 121 of file CSKYSubtarget.h.

Referenced by useHardFloatABI().

◆ has10E60()

bool llvm::CSKYSubtarget::has10E60 ( ) const
inline

Definition at line 196 of file CSKYSubtarget.h.

◆ has2E3()

bool llvm::CSKYSubtarget::has2E3 ( ) const
inline

Definition at line 188 of file CSKYSubtarget.h.

Referenced by InvertCarryFlag().

◆ has3E3r1()

bool llvm::CSKYSubtarget::has3E3r1 ( ) const
inline

Definition at line 191 of file CSKYSubtarget.h.

◆ has3E7()

bool llvm::CSKYSubtarget::has3E7 ( ) const
inline

Definition at line 192 of file CSKYSubtarget.h.

◆ has3r1E3r2()

bool llvm::CSKYSubtarget::has3r1E3r2 ( ) const
inline

Definition at line 189 of file CSKYSubtarget.h.

◆ has3r2E3r3()

bool llvm::CSKYSubtarget::has3r2E3r3 ( ) const
inline

Definition at line 190 of file CSKYSubtarget.h.

◆ has7E10()

bool llvm::CSKYSubtarget::has7E10 ( ) const
inline

Definition at line 195 of file CSKYSubtarget.h.

◆ hasAnyFloatExt()

bool llvm::CSKYSubtarget::hasAnyFloatExt ( ) const
inline

Definition at line 149 of file CSKYSubtarget.h.

References hasFPUv2(), and hasFPUv3().

◆ hasBTST16()

bool llvm::CSKYSubtarget::hasBTST16 ( ) const
inline

Definition at line 157 of file CSKYSubtarget.h.

◆ hasCache()

bool llvm::CSKYSubtarget::hasCache ( ) const
inline

Definition at line 160 of file CSKYSubtarget.h.

◆ hasDoloop()

bool llvm::CSKYSubtarget::hasDoloop ( ) const
inline

Definition at line 167 of file CSKYSubtarget.h.

◆ hasDSP()

bool llvm::CSKYSubtarget::hasDSP ( ) const
inline

Definition at line 162 of file CSKYSubtarget.h.

◆ hasDSP1E2()

bool llvm::CSKYSubtarget::hasDSP1E2 ( ) const
inline

Definition at line 163 of file CSKYSubtarget.h.

◆ hasDSP_Silan()

bool llvm::CSKYSubtarget::hasDSP_Silan ( ) const
inline

Definition at line 166 of file CSKYSubtarget.h.

◆ hasDSPE60()

bool llvm::CSKYSubtarget::hasDSPE60 ( ) const
inline

Definition at line 164 of file CSKYSubtarget.h.

◆ hasDSPV2()

bool llvm::CSKYSubtarget::hasDSPV2 ( ) const
inline

Definition at line 165 of file CSKYSubtarget.h.

◆ hasE1()

bool llvm::CSKYSubtarget::hasE1 ( ) const
inline

Definition at line 186 of file CSKYSubtarget.h.

◆ hasE2()

bool llvm::CSKYSubtarget::hasE2 ( ) const
inline

◆ hasExtendLrw()

bool llvm::CSKYSubtarget::hasExtendLrw ( ) const
inline

Definition at line 156 of file CSKYSubtarget.h.

◆ hasFdivdu()

bool llvm::CSKYSubtarget::hasFdivdu ( ) const
inline

Definition at line 150 of file CSKYSubtarget.h.

◆ hasFLOAT1E2()

bool llvm::CSKYSubtarget::hasFLOAT1E2 ( ) const
inline

Definition at line 152 of file CSKYSubtarget.h.

◆ hasFLOAT1E3()

bool llvm::CSKYSubtarget::hasFLOAT1E3 ( ) const
inline

Definition at line 153 of file CSKYSubtarget.h.

◆ hasFLOAT3E4()

bool llvm::CSKYSubtarget::hasFLOAT3E4 ( ) const
inline

Definition at line 154 of file CSKYSubtarget.h.

◆ hasFLOAT7E60()

bool llvm::CSKYSubtarget::hasFLOAT7E60 ( ) const
inline

Definition at line 155 of file CSKYSubtarget.h.

◆ hasFLOATE1()

bool llvm::CSKYSubtarget::hasFLOATE1 ( ) const
inline

Definition at line 151 of file CSKYSubtarget.h.

◆ hasFPUv2()

bool llvm::CSKYSubtarget::hasFPUv2 ( ) const
inline

Definition at line 141 of file CSKYSubtarget.h.

Referenced by hasAnyFloatExt().

◆ hasFPUv2DoubleFloat()

◆ hasFPUv2SingleFloat()

◆ hasFPUv3()

bool llvm::CSKYSubtarget::hasFPUv3 ( ) const
inline

Definition at line 146 of file CSKYSubtarget.h.

Referenced by hasAnyFloatExt().

◆ hasFPUv3DoubleFloat()

bool llvm::CSKYSubtarget::hasFPUv3DoubleFloat ( ) const
inline

◆ hasFPUv3HalfFloat()

bool llvm::CSKYSubtarget::hasFPUv3HalfFloat ( ) const
inline

Definition at line 143 of file CSKYSubtarget.h.

◆ hasFPUv3HalfWord()

bool llvm::CSKYSubtarget::hasFPUv3HalfWord ( ) const
inline

Definition at line 142 of file CSKYSubtarget.h.

◆ hasFPUv3SingleFloat()

bool llvm::CSKYSubtarget::hasFPUv3SingleFloat ( ) const
inline

◆ hasHighRegisters()

bool llvm::CSKYSubtarget::hasHighRegisters ( ) const
inline

Definition at line 168 of file CSKYSubtarget.h.

Referenced by llvm::CSKYRegisterInfo::getReservedRegs().

◆ hasJAVA()

bool llvm::CSKYSubtarget::hasJAVA ( ) const
inline

Definition at line 159 of file CSKYSubtarget.h.

◆ hasMP()

bool llvm::CSKYSubtarget::hasMP ( ) const
inline

Definition at line 193 of file CSKYSubtarget.h.

◆ hasMP1E2()

bool llvm::CSKYSubtarget::hasMP1E2 ( ) const
inline

Definition at line 194 of file CSKYSubtarget.h.

◆ hasNVIC()

bool llvm::CSKYSubtarget::hasNVIC ( ) const
inline

Definition at line 161 of file CSKYSubtarget.h.

◆ hasPushPop()

bool llvm::CSKYSubtarget::hasPushPop ( ) const
inline

Definition at line 181 of file CSKYSubtarget.h.

◆ hasSTM()

bool llvm::CSKYSubtarget::hasSTM ( ) const
inline

Definition at line 182 of file CSKYSubtarget.h.

◆ hasTrust()

bool llvm::CSKYSubtarget::hasTrust ( ) const
inline

Definition at line 158 of file CSKYSubtarget.h.

◆ hasVDSP2E3()

bool llvm::CSKYSubtarget::hasVDSP2E3 ( ) const
inline

Definition at line 174 of file CSKYSubtarget.h.

◆ hasVDSP2E60F()

bool llvm::CSKYSubtarget::hasVDSP2E60F ( ) const
inline

Definition at line 175 of file CSKYSubtarget.h.

◆ hasVDSPV1_128()

bool llvm::CSKYSubtarget::hasVDSPV1_128 ( ) const
inline

Definition at line 177 of file CSKYSubtarget.h.

◆ hasVDSPV2()

bool llvm::CSKYSubtarget::hasVDSPV2 ( ) const
inline

Definition at line 169 of file CSKYSubtarget.h.

◆ hasVDSPV2_FLOAT()

bool llvm::CSKYSubtarget::hasVDSPV2_FLOAT ( ) const
inline

Definition at line 170 of file CSKYSubtarget.h.

◆ hasVDSPV2_HALF()

bool llvm::CSKYSubtarget::hasVDSPV2_HALF ( ) const
inline

Definition at line 171 of file CSKYSubtarget.h.

◆ initializeSubtargetDependencies()

CSKYSubtarget & 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 subtarget initialization.

Definition at line 26 of file CSKYSubtarget.cpp.

References CSKYSubtarget(), llvm::StringRef::empty(), and ParseSubtargetFeatures().

Referenced by CSKYSubtarget().

◆ isCK801()

bool llvm::CSKYSubtarget::isCK801 ( ) const
inline

Definition at line 198 of file CSKYSubtarget.h.

◆ isCK802()

bool llvm::CSKYSubtarget::isCK802 ( ) const
inline

Definition at line 199 of file CSKYSubtarget.h.

◆ isCK803()

bool llvm::CSKYSubtarget::isCK803 ( ) const
inline

Definition at line 200 of file CSKYSubtarget.h.

◆ isCK803S()

bool llvm::CSKYSubtarget::isCK803S ( ) const
inline

Definition at line 201 of file CSKYSubtarget.h.

◆ isCK804()

bool llvm::CSKYSubtarget::isCK804 ( ) const
inline

Definition at line 202 of file CSKYSubtarget.h.

◆ isCK805()

bool llvm::CSKYSubtarget::isCK805 ( ) const
inline

Definition at line 203 of file CSKYSubtarget.h.

◆ isCK807()

bool llvm::CSKYSubtarget::isCK807 ( ) const
inline

Definition at line 204 of file CSKYSubtarget.h.

◆ isCK810()

bool llvm::CSKYSubtarget::isCK810 ( ) const
inline

Definition at line 205 of file CSKYSubtarget.h.

◆ isCK810V()

bool llvm::CSKYSubtarget::isCK810V ( ) const
inline

Definition at line 206 of file CSKYSubtarget.h.

◆ isCK860()

bool llvm::CSKYSubtarget::isCK860 ( ) const
inline

Definition at line 207 of file CSKYSubtarget.h.

◆ isCK860V()

bool llvm::CSKYSubtarget::isCK860V ( ) const
inline

Definition at line 208 of file CSKYSubtarget.h.

◆ ParseSubtargetFeatures()

void llvm::CSKYSubtarget::ParseSubtargetFeatures ( StringRef CPU,
StringRef TuneCPU,
StringRef FS )

◆ readTPHard()

bool llvm::CSKYSubtarget::readTPHard ( ) const
inline

Definition at line 176 of file CSKYSubtarget.h.

◆ smartMode()

bool llvm::CSKYSubtarget::smartMode ( ) const
inline

Definition at line 183 of file CSKYSubtarget.h.

◆ useCCRT()

bool llvm::CSKYSubtarget::useCCRT ( ) const
inline

Definition at line 178 of file CSKYSubtarget.h.

◆ useHardFloat()

bool llvm::CSKYSubtarget::useHardFloat ( ) const
inline

Definition at line 138 of file CSKYSubtarget.h.

Referenced by llvm::CSKYTargetLowering::CSKYTargetLowering().

◆ useHardFloatABI()

Member Data Documentation

◆ XLen

const unsigned llvm::CSKYSubtarget::XLen = 32

Definition at line 210 of file CSKYSubtarget.h.


The documentation for this class was generated from the following files: