LLVM: lib/Target/Sparc/Sparc.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_LIB_TARGET_SPARC_SPARC_H
15#define LLVM_LIB_TARGET_SPARC_SPARC_H
16
20
21namespace llvm {
28
31
35}
36
37namespace llvm {
38
39
104
106 switch (CC) {
158 return "z";
160 return "lez";
162 return "lz";
164 return "nz";
166 return "gz";
168 return "gez";
169 }
171 }
172
173 inline static unsigned HI22(int64_t imm) {
174 return (unsigned)((imm >> 10) & ((1 << 22)-1));
175 }
176
177 inline static unsigned LO10(int64_t imm) {
178 return (unsigned)(imm & 0x3FF);
179 }
180
181 inline static unsigned HIX22(int64_t imm) {
182 return HI22(~imm);
183 }
184
185 inline static unsigned LOX10(int64_t imm) {
186 return ~LO10(~imm);
187 }
188
189}
190#endif
This class is intended to be used as a driving class for all asm writers.
FunctionPass class - This class is used to implement most global optimizations.
Instances of this class represent a single low-level machine instruction.
Representation of each machine instruction.
PassRegistry - This class manages the registration and intitialization of the pass subsystem as appli...
#define llvm_unreachable(msg)
Marks that the current location is not supposed to be reachable.
CondCodes
Definition Sparc.h:41
@ CPCC_03
Definition Sparc.h:88
@ CPCC_013
Definition Sparc.h:92
@ FCC_ULE
Definition Sparc.h:74
@ ICC_POS
Definition Sparc.h:54
@ FCC_UG
Definition Sparc.h:64
@ ICC_N
Definition Sparc.h:43
@ CPCC_123
Definition Sparc.h:86
@ ICC_G
Definition Sparc.h:46
@ REG_LEZ
Definition Sparc.h:97
@ CPCC_23
Definition Sparc.h:82
@ FCC_BEGIN
Definition Sparc.h:59
@ REG_GZ
Definition Sparc.h:100
@ ICC_L
Definition Sparc.h:49
@ REG_BEGIN
Definition Sparc.h:95
@ FCC_NE
Definition Sparc.h:68
@ CPCC_01
Definition Sparc.h:91
@ CPCC_12
Definition Sparc.h:85
@ ICC_CS
Definition Sparc.h:53
@ FCC_LG
Definition Sparc.h:67
@ ICC_VS
Definition Sparc.h:57
@ CPCC_1
Definition Sparc.h:83
@ ICC_LEU
Definition Sparc.h:51
@ CPCC_BEGIN
Definition Sparc.h:77
@ CPCC_A
Definition Sparc.h:78
@ CPCC_0
Definition Sparc.h:87
@ FCC_LE
Definition Sparc.h:73
@ CPCC_012
Definition Sparc.h:93
@ ICC_LE
Definition Sparc.h:47
@ FCC_U
Definition Sparc.h:62
@ CPCC_2
Definition Sparc.h:81
@ FCC_A
Definition Sparc.h:60
@ CPCC_023
Definition Sparc.h:90
@ CPCC_13
Definition Sparc.h:84
@ ICC_GE
Definition Sparc.h:48
@ FCC_E
Definition Sparc.h:69
@ CPCC_02
Definition Sparc.h:89
@ REG_LZ
Definition Sparc.h:98
@ FCC_L
Definition Sparc.h:65
@ ICC_GU
Definition Sparc.h:50
@ FCC_O
Definition Sparc.h:75
@ ICC_NE
Definition Sparc.h:44
@ FCC_UE
Definition Sparc.h:70
@ REG_NZ
Definition Sparc.h:99
@ ICC_E
Definition Sparc.h:45
@ FCC_GE
Definition Sparc.h:71
@ ICC_A
Definition Sparc.h:42
@ CPCC_3
Definition Sparc.h:80
@ FCC_UGE
Definition Sparc.h:72
@ REG_Z
Definition Sparc.h:96
@ ICC_VC
Definition Sparc.h:56
@ ICC_CC
Definition Sparc.h:52
@ REG_GEZ
Definition Sparc.h:101
@ CPCC_N
Definition Sparc.h:79
@ FCC_G
Definition Sparc.h:63
@ FCC_UL
Definition Sparc.h:66
@ FCC_N
Definition Sparc.h:61
@ ICC_NEG
Definition Sparc.h:55
This is an optimization pass for GlobalISel generic memory operations.
static const char * SPARCCondCodeToString(SPCC::CondCodes CC)
Definition Sparc.h:105
static unsigned HI22(int64_t imm)
Definition Sparc.h:173
static unsigned HIX22(int64_t imm)
Definition Sparc.h:181
void initializeSparcAsmPrinterPass(PassRegistry &)
void initializeSparcDAGToDAGISelLegacyPass(PassRegistry &)
void initializeErrataWorkaroundPass(PassRegistry &)
static unsigned LOX10(int64_t imm)
Definition Sparc.h:185
FunctionPass * createSparcISelDag(SparcTargetMachine &TM)
createSparcISelDag - This pass converts a legalized DAG into a SPARC-specific DAG,...
static unsigned LO10(int64_t imm)
Definition Sparc.h:177
FunctionPass * createSparcDelaySlotFillerPass()
createSparcDelaySlotFillerPass - Returns a pass that fills in delay slots in Sparc MachineFunctions