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
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