LLVM 20.0.0git
Classes | Enumerations | Functions | Variables
llvm::CSKY Namespace Reference

Classes

struct  ArchNames
 
struct  CpuNames
 
struct  ExtName
 
struct  FPUName
 

Enumerations

enum  ArchExtKind : uint64_t {
  AEK_INVALID = 0 , AEK_NONE = 1 , AEK_FPUV2SF = 1 << 1 , AEK_FPUV2DF = 1 << 2 ,
  AEK_FDIVDU = 1 << 3 , AEK_FPUV3HI = 1 << 4 , AEK_FPUV3HF = 1 << 5 , AEK_FPUV3SF = 1 << 6 ,
  AEK_FPUV3DF = 1 << 7 , AEK_FLOATE1 = 1 << 8 , AEK_FLOAT1E2 = 1 << 9 , AEK_FLOAT1E3 = 1 << 10 ,
  AEK_FLOAT3E4 = 1 << 11 , AEK_FLOAT7E60 = 1 << 12 , AEK_HWDIV = 1 << 13 , AEK_STLD = 1 << 14 ,
  AEK_PUSHPOP = 1 << 15 , AEK_EDSP = 1 << 16 , AEK_DSP1E2 = 1 << 17 , AEK_DSPE60 = 1 << 18 ,
  AEK_DSPV2 = 1 << 19 , AEK_DSPSILAN = 1 << 20 , AEK_ELRW = 1 << 21 , AEK_TRUST = 1 << 22 ,
  AEK_JAVA = 1 << 23 , AEK_CACHE = 1 << 24 , AEK_NVIC = 1 << 25 , AEK_DOLOOP = 1 << 26 ,
  AEK_HIGHREG = 1 << 27 , AEK_SMART = 1 << 28 , AEK_VDSP2E3 = 1 << 29 , AEK_VDSP2E60F = 1 << 30 ,
  AEK_VDSPV2 = 1ULL << 31 , AEK_HARDTP = 1ULL << 32 , AEK_SOFTTP = 1ULL << 33 , AEK_ISTACK = 1ULL << 34 ,
  AEK_CONSTPOOL = 1ULL << 35 , AEK_STACKSIZE = 1ULL << 36 , AEK_CCRT = 1ULL << 37 , AEK_VDSPV1 = 1ULL << 38 ,
  AEK_E1 = 1ULL << 39 , AEK_E2 = 1ULL << 40 , AEK_2E3 = 1ULL << 41 , AEK_MP = 1ULL << 42 ,
  AEK_3E3R1 = 1ULL << 43 , AEK_3E3R2 = 1ULL << 44 , AEK_3E3R3 = 1ULL << 45 , AEK_3E7 = 1ULL << 46 ,
  AEK_MP1E2 = 1ULL << 47 , AEK_7E10 = 1ULL << 48 , AEK_10E60 = 1ULL << 49
}
 
enum  MultiArchExtKind : uint64_t {
  MAEK_E1 = CSKY::AEK_E1 | CSKY::AEK_ELRW , MAEK_E2 = CSKY::AEK_E2 | CSKY::MAEK_E1 , MAEK_2E3 = CSKY::AEK_2E3 | CSKY::MAEK_E2 , MAEK_MP = CSKY::AEK_MP | CSKY::MAEK_2E3 ,
  MAEK_3E3R1 = CSKY::AEK_3E3R1 , MAEK_3E3R2 = CSKY::AEK_3E3R1 | CSKY::AEK_3E3R2 | CSKY::AEK_DOLOOP , MAEK_3E7 = CSKY::AEK_3E7 | CSKY::MAEK_2E3 , MAEK_MP1E2 = CSKY::AEK_MP1E2 | CSKY::MAEK_3E7 ,
  MAEK_7E10 = CSKY::AEK_7E10 | CSKY::MAEK_3E7 , MAEK_10E60 = CSKY::AEK_10E60 | CSKY::MAEK_7E10
}
 
enum  CSKYFPUKind { FK_LAST }
 
enum class  FPUVersion { NONE , FPV2 , FPV3 }
 
enum class  ArchKind { CSKY_ARCH }
 
enum  Fixups {
  fixup_csky_addr32 = FirstTargetFixupKind , fixup_csky_addr_hi16 , fixup_csky_addr_lo16 , fixup_csky_pcrel_imm16_scale2 ,
  fixup_csky_pcrel_uimm16_scale4 , fixup_csky_pcrel_imm26_scale2 , fixup_csky_pcrel_imm18_scale2 , fixup_csky_gotpc ,
  fixup_csky_gotoff , fixup_csky_got32 , fixup_csky_got_imm18_scale4 , fixup_csky_plt32 ,
  fixup_csky_plt_imm18_scale4 , fixup_csky_pcrel_imm10_scale2 , fixup_csky_pcrel_uimm7_scale4 , fixup_csky_pcrel_uimm8_scale4 ,
  fixup_csky_doffset_imm18 , fixup_csky_doffset_imm18_scale2 , fixup_csky_doffset_imm18_scale4 , fixup_csky_invalid ,
  NumTargetFixupKinds = fixup_csky_invalid - FirstTargetFixupKind
}
 

Functions

StringRef getArchName (ArchKind AK)
 
StringRef getDefaultCPU (StringRef Arch)
 
StringRef getArchExtName (uint64_t ArchExtKind)
 
StringRef getArchExtFeature (StringRef ArchExt)
 
uint64_t getDefaultExtensions (StringRef CPU)
 
bool getExtensionFeatures (uint64_t Extensions, std::vector< StringRef > &Features)
 
StringRef getFPUName (unsigned FPUKind)
 
FPUVersion getFPUVersion (unsigned FPUKind)
 
bool getFPUFeatures (CSKYFPUKind Kind, std::vector< StringRef > &Features)
 
ArchKind parseArch (StringRef Arch)
 
ArchKind parseCPUArch (StringRef CPU)
 
uint64_t parseArchExt (StringRef ArchExt)
 
void fillValidCPUArchList (SmallVectorImpl< StringRef > &Values)
 

Variables

const CSKY::ExtName CSKYARCHExtNames []
 
const CpuNames< CSKY::ArchKindCPUNames []
 
static const FPUName FPUNames []
 
const ArchNames< CSKY::ArchKindARCHNames []
 

Enumeration Type Documentation

◆ ArchExtKind

Enumerator
AEK_INVALID 
AEK_NONE 
AEK_FPUV2SF 
AEK_FPUV2DF 
AEK_FDIVDU 
AEK_FPUV3HI 
AEK_FPUV3HF 
AEK_FPUV3SF 
AEK_FPUV3DF 
AEK_FLOATE1 
AEK_FLOAT1E2 
AEK_FLOAT1E3 
AEK_FLOAT3E4 
AEK_FLOAT7E60 
AEK_HWDIV 
AEK_STLD 
AEK_PUSHPOP 
AEK_EDSP 
AEK_DSP1E2 
AEK_DSPE60 
AEK_DSPV2 
AEK_DSPSILAN 
AEK_ELRW 
AEK_TRUST 
AEK_JAVA 
AEK_CACHE 
AEK_NVIC 
AEK_DOLOOP 
AEK_HIGHREG 
AEK_SMART 
AEK_VDSP2E3 
AEK_VDSP2E60F 
AEK_VDSPV2 
AEK_HARDTP 
AEK_SOFTTP 
AEK_ISTACK 
AEK_CONSTPOOL 
AEK_STACKSIZE 
AEK_CCRT 
AEK_VDSPV1 
AEK_E1 
AEK_E2 
AEK_2E3 
AEK_MP 
AEK_3E3R1 
AEK_3E3R2 
AEK_3E3R3 
AEK_3E7 
AEK_MP1E2 
AEK_7E10 
AEK_10E60 

Definition at line 27 of file CSKYTargetParser.h.

◆ ArchKind

enum class llvm::CSKY::ArchKind
strong
Enumerator
CSKY_ARCH 

Definition at line 110 of file CSKYTargetParser.h.

◆ CSKYFPUKind

Enumerator
FK_LAST 

Definition at line 96 of file CSKYTargetParser.h.

◆ Fixups

Enumerator
fixup_csky_addr32 
fixup_csky_addr_hi16 
fixup_csky_addr_lo16 
fixup_csky_pcrel_imm16_scale2 
fixup_csky_pcrel_uimm16_scale4 
fixup_csky_pcrel_imm26_scale2 
fixup_csky_pcrel_imm18_scale2 
fixup_csky_gotpc 
fixup_csky_gotoff 
fixup_csky_got32 
fixup_csky_got_imm18_scale4 
fixup_csky_plt32 
fixup_csky_plt_imm18_scale4 
fixup_csky_pcrel_imm10_scale2 
fixup_csky_pcrel_uimm7_scale4 
fixup_csky_pcrel_uimm8_scale4 
fixup_csky_doffset_imm18 
fixup_csky_doffset_imm18_scale2 
fixup_csky_doffset_imm18_scale4 
fixup_csky_invalid 
NumTargetFixupKinds 

Definition at line 16 of file CSKYFixupKinds.h.

◆ FPUVersion

enum class llvm::CSKY::FPUVersion
strong
Enumerator
NONE 
FPV2 
FPV3 

Definition at line 103 of file CSKYTargetParser.h.

◆ MultiArchExtKind

Enumerator
MAEK_E1 
MAEK_E2 
MAEK_2E3 
MAEK_MP 
MAEK_3E3R1 
MAEK_3E3R2 
MAEK_3E7 
MAEK_MP1E2 
MAEK_7E10 
MAEK_10E60 

Definition at line 83 of file CSKYTargetParser.h.

Function Documentation

◆ fillValidCPUArchList()

void llvm::CSKY::fillValidCPUArchList ( SmallVectorImpl< StringRef > &  Values)

◆ getArchExtFeature()

StringRef llvm::CSKY::getArchExtFeature ( StringRef  ArchExt)

Definition at line 160 of file CSKYTargetParser.cpp.

References CSKYARCHExtNames, and stripNegationPrefix().

◆ getArchExtName()

StringRef llvm::CSKY::getArchExtName ( uint64_t  ArchExtKind)

Definition at line 145 of file CSKYTargetParser.cpp.

References CSKYARCHExtNames.

◆ getArchName()

StringRef llvm::CSKY::getArchName ( ArchKind  AK)

Definition at line 75 of file CSKYTargetParser.cpp.

References ARCHNames, and getName().

◆ getDefaultCPU()

StringRef llvm::CSKY::getDefaultCPU ( StringRef  Arch)

Definition at line 80 of file CSKYTargetParser.cpp.

References parseArch().

◆ getDefaultExtensions()

uint64_t llvm::CSKY::getDefaultExtensions ( StringRef  CPU)

Definition at line 136 of file CSKYTargetParser.cpp.

References AEK_INVALID, and llvm::StringSwitch< T, R >::Default().

◆ getExtensionFeatures()

bool llvm::CSKY::getExtensionFeatures ( uint64_t  Extensions,
std::vector< StringRef > &  Features 
)

Definition at line 170 of file CSKYTargetParser.cpp.

References AEK_INVALID, CSKYARCHExtNames, and Extensions.

◆ getFPUFeatures()

bool llvm::CSKY::getFPUFeatures ( CSKYFPUKind  Kind,
std::vector< StringRef > &  Features 
)

Definition at line 20 of file CSKYTargetParser.cpp.

References llvm_unreachable.

◆ getFPUName()

StringRef llvm::CSKY::getFPUName ( unsigned  FPUKind)

Definition at line 124 of file CSKYTargetParser.cpp.

◆ getFPUVersion()

CSKY::FPUVersion llvm::CSKY::getFPUVersion ( unsigned  FPUKind)

Definition at line 130 of file CSKYTargetParser.cpp.

◆ parseArch()

CSKY::ArchKind llvm::CSKY::parseArch ( StringRef  Arch)

Definition at line 91 of file CSKYTargetParser.cpp.

References A, and ARCHNames.

◆ parseArchExt()

uint64_t llvm::CSKY::parseArchExt ( StringRef  ArchExt)

Definition at line 109 of file CSKYTargetParser.cpp.

References A, and CSKYARCHExtNames.

◆ parseCPUArch()

CSKY::ArchKind llvm::CSKY::parseCPUArch ( StringRef  CPU)

Definition at line 100 of file CSKYTargetParser.cpp.

References llvm::CallingConv::C.

Variable Documentation

◆ ARCHNames

const ArchNames<CSKY::ArchKind> llvm::CSKY::ARCHNames[]
Initial value:
= {
#define CSKY_ARCH(NAME, ID, ARCH_BASE_EXT)
}

Definition at line 173 of file CSKYTargetParser.h.

Referenced by getArchName(), and parseArch().

◆ CPUNames

const CpuNames<CSKY::ArchKind> llvm::CSKY::CPUNames[]
Initial value:
= {
#define CSKY_CPU_NAME(NAME, ARCH_ID, DEFAULT_EXT)
}

Definition at line 142 of file CSKYTargetParser.h.

◆ CSKYARCHExtNames

const CSKY::ExtName llvm::CSKY::CSKYARCHExtNames[]
Initial value:
= {
#define CSKY_ARCH_EXT_NAME(NAME, ID, FEATURE, NEGFEATURE)
}

Definition at line 127 of file CSKYTargetParser.h.

Referenced by getArchExtFeature(), getArchExtName(), getExtensionFeatures(), and parseArchExt().

◆ FPUNames

const FPUName llvm::CSKY::FPUNames[]
static
Initial value:
= {
#define CSKY_FPU(NAME, KIND, VERSION)
}

Definition at line 160 of file CSKYTargetParser.h.