LLVM: include/llvm/TargetParser/CSKYTargetParser.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15#ifndef LLVM_TARGETPARSER_CSKYTARGETPARSER_H

16#define LLVM_TARGETPARSER_CSKYTARGETPARSER_H

17

20#include

21

22namespace llvm {

24

26

27

82

83

96

98#define CSKY_FPU(NAME, KIND, VERSION) KIND,

99#include "CSKYTargetParser.def"

100 FK_LAST

101};

102

103

109

110

112#define CSKY_ARCH(NAME, ID, ARCH_BASE_EXT) ID,

113#include "CSKYTargetParser.def"

114};

115

116

117

127

129#define CSKY_ARCH_EXT_NAME(NAME, ID, FEATURE, NEGFEATURE) \

130 {NAME, sizeof(NAME) - 1, ID, FEATURE, NEGFEATURE},

131#include "CSKYTargetParser.def"

132};

133

134

140

142};

144#define CSKY_CPU_NAME(NAME, ARCH_ID, DEFAULT_EXT) \

145 {NAME, sizeof(NAME) - 1, CSKY::ArchKind::ARCH_ID, DEFAULT_EXT},

146#include "llvm/TargetParser/CSKYTargetParser.def"

147};

148

149

150

151

160

162#define CSKY_FPU(NAME, KIND, VERSION) {NAME, sizeof(NAME) - 1, KIND, VERSION},

163#include "llvm/TargetParser/CSKYTargetParser.def"

164};

165

166

175#define CSKY_ARCH(NAME, ID, ARCH_BASE_EXT) \

176 {NAME, sizeof(NAME) - 1, CSKY::ArchKind::ID, ARCH_BASE_EXT},

177#include "llvm/TargetParser/CSKYTargetParser.def"

178};

179

186 std::vector &Features);

187

188

191

193 std::vector &Features);

194

195

200

201}

202

203}

204

205#endif

static cl::opt< std::set< SPIRV::Extension::Extension >, false, SPIRVExtensionsParser > Extensions("spirv-ext", cl::desc("Specify list of enabled SPIR-V extensions"))

This class consists of common code factored out of the SmallVector class to reduce code duplication b...

StringRef - Represent a constant reference to a string, i.e.

Definition CSKYTargetParser.h:25

ArchKind

Definition CSKYTargetParser.h:111

LLVM_ABI StringRef getFPUName(unsigned FPUKind)

LLVM_ABI StringRef getArchExtFeature(StringRef ArchExt)

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

LLVM_ABI void fillValidCPUArchList(SmallVectorImpl< StringRef > &Values)

const ArchNames< CSKY::ArchKind > ARCHNames[]

Definition CSKYTargetParser.h:174

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

LLVM_ABI uint64_t parseArchExt(StringRef ArchExt)

const CpuNames< CSKY::ArchKind > CPUNames[]

Definition CSKYTargetParser.h:143

LLVM_ABI FPUVersion getFPUVersion(unsigned FPUKind)

LLVM_ABI ArchKind parseCPUArch(StringRef CPU)

LLVM_ABI ArchKind parseArch(StringRef Arch)

MultiArchExtKind

Definition CSKYTargetParser.h:84

@ MAEK_3E7

Definition CSKYTargetParser.h:91

@ MAEK_10E60

Definition CSKYTargetParser.h:94

@ MAEK_MP1E2

Definition CSKYTargetParser.h:92

@ MAEK_E1

Definition CSKYTargetParser.h:85

@ MAEK_E2

Definition CSKYTargetParser.h:86

@ MAEK_3E3R1

Definition CSKYTargetParser.h:89

@ MAEK_7E10

Definition CSKYTargetParser.h:93

@ MAEK_3E3R2

Definition CSKYTargetParser.h:90

@ MAEK_2E3

Definition CSKYTargetParser.h:87

@ MAEK_MP

Definition CSKYTargetParser.h:88

LLVM_ABI StringRef getDefaultCPU(StringRef Arch)

static const FPUName FPUNames[]

Definition CSKYTargetParser.h:161

const CSKY::ExtName CSKYARCHExtNames[]

Definition CSKYTargetParser.h:128

LLVM_ABI StringRef getArchExtName(uint64_t ArchExtKind)

ArchExtKind

Definition CSKYTargetParser.h:28

@ AEK_SOFTTP

Definition CSKYTargetParser.h:63

@ AEK_INVALID

Definition CSKYTargetParser.h:29

@ AEK_FLOAT3E4

Definition CSKYTargetParser.h:41

@ AEK_2E3

Definition CSKYTargetParser.h:71

@ AEK_NONE

Definition CSKYTargetParser.h:30

@ AEK_FLOATE1

Definition CSKYTargetParser.h:38

@ AEK_E1

Definition CSKYTargetParser.h:69

@ AEK_ISTACK

Definition CSKYTargetParser.h:64

@ AEK_3E3R1

Definition CSKYTargetParser.h:73

@ AEK_ELRW

Definition CSKYTargetParser.h:51

@ AEK_EDSP

Definition CSKYTargetParser.h:46

@ AEK_FPUV3DF

Definition CSKYTargetParser.h:37

@ AEK_FPUV3HI

Definition CSKYTargetParser.h:34

@ AEK_10E60

Definition CSKYTargetParser.h:79

@ AEK_CONSTPOOL

Definition CSKYTargetParser.h:65

@ AEK_VDSP2E3

Definition CSKYTargetParser.h:59

@ AEK_FLOAT1E2

Definition CSKYTargetParser.h:39

@ AEK_TRUST

Definition CSKYTargetParser.h:52

@ AEK_3E7

Definition CSKYTargetParser.h:76

@ AEK_MP

Definition CSKYTargetParser.h:72

@ AEK_FPUV2DF

Definition CSKYTargetParser.h:32

@ AEK_HWDIV

Definition CSKYTargetParser.h:43

@ AEK_DSPSILAN

Definition CSKYTargetParser.h:50

@ AEK_PUSHPOP

Definition CSKYTargetParser.h:45

@ AEK_DSPE60

Definition CSKYTargetParser.h:48

@ AEK_FPUV2SF

Definition CSKYTargetParser.h:31

@ AEK_JAVA

Definition CSKYTargetParser.h:53

@ AEK_VDSP2E60F

Definition CSKYTargetParser.h:60

@ AEK_HIGHREG

Definition CSKYTargetParser.h:57

@ AEK_MP1E2

Definition CSKYTargetParser.h:77

@ AEK_NVIC

Definition CSKYTargetParser.h:55

@ AEK_CCRT

Definition CSKYTargetParser.h:67

@ AEK_3E3R3

Definition CSKYTargetParser.h:75

@ AEK_DSPV2

Definition CSKYTargetParser.h:49

@ AEK_FLOAT1E3

Definition CSKYTargetParser.h:40

@ AEK_CACHE

Definition CSKYTargetParser.h:54

@ AEK_E2

Definition CSKYTargetParser.h:70

@ AEK_FPUV3HF

Definition CSKYTargetParser.h:35

@ AEK_FPUV3SF

Definition CSKYTargetParser.h:36

@ AEK_HARDTP

Definition CSKYTargetParser.h:62

@ AEK_STLD

Definition CSKYTargetParser.h:44

@ AEK_3E3R2

Definition CSKYTargetParser.h:74

@ AEK_VDSPV2

Definition CSKYTargetParser.h:61

@ AEK_SMART

Definition CSKYTargetParser.h:58

@ AEK_7E10

Definition CSKYTargetParser.h:78

@ AEK_FLOAT7E60

Definition CSKYTargetParser.h:42

@ AEK_DOLOOP

Definition CSKYTargetParser.h:56

@ AEK_DSP1E2

Definition CSKYTargetParser.h:47

@ AEK_STACKSIZE

Definition CSKYTargetParser.h:66

@ AEK_VDSPV1

Definition CSKYTargetParser.h:68

@ AEK_FDIVDU

Definition CSKYTargetParser.h:33

CSKYFPUKind

Definition CSKYTargetParser.h:97

LLVM_ABI StringRef getArchName(ArchKind AK)

FPUVersion

Definition CSKYTargetParser.h:104

@ FPV3

Definition CSKYTargetParser.h:107

@ NONE

Definition CSKYTargetParser.h:105

@ FPV2

Definition CSKYTargetParser.h:106

LLVM_ABI uint64_t getDefaultExtensions(StringRef CPU)

This is an optimization pass for GlobalISel generic memory operations.

Definition CSKYTargetParser.h:167

StringRef getName() const

Definition CSKYTargetParser.h:172

uint64_t archBaseExt

Definition CSKYTargetParser.h:171

T ID

Definition CSKYTargetParser.h:170

size_t NameLength

Definition CSKYTargetParser.h:169

const char * NameCStr

Definition CSKYTargetParser.h:168

Definition CSKYTargetParser.h:135

StringRef getName() const

Definition CSKYTargetParser.h:141

T ArchID

Definition CSKYTargetParser.h:138

size_t NameLength

Definition CSKYTargetParser.h:137

const char * NameCStr

Definition CSKYTargetParser.h:136

uint64_t defaultExt

Definition CSKYTargetParser.h:139

Definition CSKYTargetParser.h:118

StringRef getName() const

Definition CSKYTargetParser.h:125

const char * Feature

Definition CSKYTargetParser.h:122

const char * NegFeature

Definition CSKYTargetParser.h:123

uint64_t ID

Definition CSKYTargetParser.h:121

size_t NameLength

Definition CSKYTargetParser.h:120

const char * NameCStr

Definition CSKYTargetParser.h:119

Definition CSKYTargetParser.h:152

StringRef getName() const

Definition CSKYTargetParser.h:158

FPUVersion FPUVer

Definition CSKYTargetParser.h:156

CSKYFPUKind ID

Definition CSKYTargetParser.h:155

size_t NameLength

Definition CSKYTargetParser.h:154

const char * NameCStr

Definition CSKYTargetParser.h:153