LLVM: lib/Target/LoongArch/MCTargetDesc/LoongArchBaseInfo.h Source File (original) (raw)
1
2
3
4
5
6
7
8
9
10
11
12
13
14#ifndef LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
15#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHBASEINFO_H
16
23
24namespace llvm {
25
26
27
29enum {
61
62
63
64
65
67
69};
70
71
72
76
77
78static inline unsigned encodeFlags(unsigned Flags, bool Relax) {
79 return Flags | (Relax ? MO_RELAX : 0);
80}
81
82
86
87
88
89enum {
90
91
92
93
94
95
96
97
98
99
102
103
106};
107
108
109
113
114
116}
117
118namespace LoongArchABI {
128
132
133
135}
136
137}
138
139#endif
This file implements the StringSwitch template, which mimics a switch() statement whose cases are str...
Container class for subtarget features.
Wrapper class representing physical registers. Should be passed by value.
MachineOperand class - Representation of each machine instruction operand.
unsigned getTargetFlags() const
StringRef - Represent a constant reference to a string, i.e.
Triple - Helper class for working with autoconf configuration names.
ABI
Definition LoongArchBaseInfo.h:119
@ ABI_LP64F
Definition LoongArchBaseInfo.h:124
@ ABI_LP64S
Definition LoongArchBaseInfo.h:123
@ ABI_ILP32S
Definition LoongArchBaseInfo.h:120
@ ABI_ILP32F
Definition LoongArchBaseInfo.h:121
@ ABI_ILP32D
Definition LoongArchBaseInfo.h:122
@ ABI_Unknown
Definition LoongArchBaseInfo.h:126
@ ABI_LP64D
Definition LoongArchBaseInfo.h:125
ABI computeTargetABI(const Triple &TT, const FeatureBitset &FeatureBits, StringRef ABIName)
ABI getTargetABI(StringRef ABIName)
Definition LoongArchBaseInfo.h:28
static bool isAMCAS(uint64_t TSFlags)
Definition LoongArchBaseInfo.h:115
@ MO_PCREL_LO
Definition LoongArchBaseInfo.h:34
@ MO_GOT_PC_LO
Definition LoongArchBaseInfo.h:38
@ MO_LD_PC_HI
Definition LoongArchBaseInfo.h:49
@ MO_CALL36
Definition LoongArchBaseInfo.h:51
@ MO_DESC_CALL
Definition LoongArchBaseInfo.h:57
@ MO_LE64_LO
Definition LoongArchBaseInfo.h:43
@ MO_DESC_PC_HI
Definition LoongArchBaseInfo.h:52
@ MO_CALL
Definition LoongArchBaseInfo.h:31
@ MO_GD_PC_HI
Definition LoongArchBaseInfo.h:50
@ MO_IE_PC_LO
Definition LoongArchBaseInfo.h:46
@ MO_GOT_PC_HI
Definition LoongArchBaseInfo.h:37
@ MO_GOT_PC64_LO
Definition LoongArchBaseInfo.h:39
@ MO_RELAX
Definition LoongArchBaseInfo.h:68
@ MO_LE_LO
Definition LoongArchBaseInfo.h:42
@ MO_PCREL_HI
Definition LoongArchBaseInfo.h:33
@ MO_DIRECT_FLAG_MASK
Definition LoongArchBaseInfo.h:66
@ MO_IE_PC64_HI
Definition LoongArchBaseInfo.h:48
@ MO_IE_PC_HI
Definition LoongArchBaseInfo.h:45
@ MO_DESC64_PC_HI
Definition LoongArchBaseInfo.h:54
@ MO_None
Definition LoongArchBaseInfo.h:30
@ MO_LE_ADD_R
Definition LoongArchBaseInfo.h:59
@ MO_LE_HI_R
Definition LoongArchBaseInfo.h:58
@ MO_GOT_PC64_HI
Definition LoongArchBaseInfo.h:40
@ MO_DESC64_PC_LO
Definition LoongArchBaseInfo.h:55
@ MO_LE_HI
Definition LoongArchBaseInfo.h:41
@ MO_PCREL64_HI
Definition LoongArchBaseInfo.h:36
@ MO_DESC_PC_LO
Definition LoongArchBaseInfo.h:53
@ MO_LE64_HI
Definition LoongArchBaseInfo.h:44
@ MO_CALL_PLT
Definition LoongArchBaseInfo.h:32
@ MO_PCREL64_LO
Definition LoongArchBaseInfo.h:35
@ MO_IE_PC64_LO
Definition LoongArchBaseInfo.h:47
@ MO_DESC_LD
Definition LoongArchBaseInfo.h:56
@ MO_LE_LO_R
Definition LoongArchBaseInfo.h:60
@ IsSubjectToAMORdConstraintShift
Definition LoongArchBaseInfo.h:100
@ IsAMCASMask
Definition LoongArchBaseInfo.h:105
@ IsSubjectToAMORdConstraintMask
Definition LoongArchBaseInfo.h:101
@ IsAMCASShift
Definition LoongArchBaseInfo.h:104
static bool hasRelaxFlag(const MachineOperand &MO)
Definition LoongArchBaseInfo.h:83
static bool isSubjectToAMORdConstraint(uint64_t TSFlags)
Definition LoongArchBaseInfo.h:110
static unsigned getDirectFlags(const MachineOperand &MO)
Definition LoongArchBaseInfo.h:73
static unsigned encodeFlags(unsigned Flags, bool Relax)
Definition LoongArchBaseInfo.h:78
This is an optimization pass for GlobalISel generic memory operations.