Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h
35294 views
1
//===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
9
#ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
10
#define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
11
12
#include "llvm/MC/MCFixup.h"
13
14
namespace llvm {
15
namespace Mips {
16
// Although most of the current fixup types reflect a unique relocation
17
// one can have multiple fixup types for a given relocation and thus need
18
// to be uniquely named.
19
//
20
// This table *must* be in the same order of
21
// MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]
22
// in MipsAsmBackend.cpp.
23
//
24
enum Fixups {
25
// Branch fixups resulting in R_MIPS_16.
26
fixup_Mips_16 = FirstTargetFixupKind,
27
28
// Pure 32 bit data fixup resulting in - R_MIPS_32.
29
fixup_Mips_32,
30
31
// Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.
32
fixup_Mips_REL32,
33
34
// Jump 26 bit fixup resulting in - R_MIPS_26.
35
fixup_Mips_26,
36
37
// Pure upper 16 bit fixup resulting in - R_MIPS_HI16.
38
fixup_Mips_HI16,
39
40
// Pure lower 16 bit fixup resulting in - R_MIPS_LO16.
41
fixup_Mips_LO16,
42
43
// 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.
44
fixup_Mips_GPREL16,
45
46
// 16 bit literal fixup resulting in - R_MIPS_LITERAL.
47
fixup_Mips_LITERAL,
48
49
// Symbol fixup resulting in - R_MIPS_GOT16.
50
fixup_Mips_GOT,
51
52
// PC relative branch fixup resulting in - R_MIPS_PC16.
53
fixup_Mips_PC16,
54
55
// resulting in - R_MIPS_CALL16.
56
fixup_Mips_CALL16,
57
58
// resulting in - R_MIPS_GPREL32.
59
fixup_Mips_GPREL32,
60
61
// resulting in - R_MIPS_SHIFT5.
62
fixup_Mips_SHIFT5,
63
64
// resulting in - R_MIPS_SHIFT6.
65
fixup_Mips_SHIFT6,
66
67
// Pure 64 bit data fixup resulting in - R_MIPS_64.
68
fixup_Mips_64,
69
70
// resulting in - R_MIPS_TLS_GD.
71
fixup_Mips_TLSGD,
72
73
// resulting in - R_MIPS_TLS_GOTTPREL.
74
fixup_Mips_GOTTPREL,
75
76
// resulting in - R_MIPS_TLS_TPREL_HI16.
77
fixup_Mips_TPREL_HI,
78
79
// resulting in - R_MIPS_TLS_TPREL_LO16.
80
fixup_Mips_TPREL_LO,
81
82
// resulting in - R_MIPS_TLS_LDM.
83
fixup_Mips_TLSLDM,
84
85
// resulting in - R_MIPS_TLS_DTPREL_HI16.
86
fixup_Mips_DTPREL_HI,
87
88
// resulting in - R_MIPS_TLS_DTPREL_LO16.
89
fixup_Mips_DTPREL_LO,
90
91
// PC relative branch fixup resulting in - R_MIPS_PC16
92
fixup_Mips_Branch_PCRel,
93
94
// resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
95
// R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_HI16
96
fixup_Mips_GPOFF_HI,
97
fixup_MICROMIPS_GPOFF_HI,
98
99
// resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
100
// R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_LO16
101
fixup_Mips_GPOFF_LO,
102
fixup_MICROMIPS_GPOFF_LO,
103
104
// resulting in - R_MIPS_PAGE
105
fixup_Mips_GOT_PAGE,
106
107
// resulting in - R_MIPS_GOT_OFST
108
fixup_Mips_GOT_OFST,
109
110
// resulting in - R_MIPS_GOT_DISP
111
fixup_Mips_GOT_DISP,
112
113
// resulting in - R_MIPS_HIGHER/R_MICROMIPS_HIGHER
114
fixup_Mips_HIGHER,
115
fixup_MICROMIPS_HIGHER,
116
117
// resulting in - R_MIPS_HIGHEST/R_MICROMIPS_HIGHEST
118
fixup_Mips_HIGHEST,
119
fixup_MICROMIPS_HIGHEST,
120
121
// resulting in - R_MIPS_GOT_HI16
122
fixup_Mips_GOT_HI16,
123
124
// resulting in - R_MIPS_GOT_LO16
125
fixup_Mips_GOT_LO16,
126
127
// resulting in - R_MIPS_CALL_HI16
128
fixup_Mips_CALL_HI16,
129
130
// resulting in - R_MIPS_CALL_LO16
131
fixup_Mips_CALL_LO16,
132
133
// resulting in - R_MIPS_PC18_S3
134
fixup_MIPS_PC18_S3,
135
136
// resulting in - R_MIPS_PC19_S2
137
fixup_MIPS_PC19_S2,
138
139
// resulting in - R_MIPS_PC21_S2
140
fixup_MIPS_PC21_S2,
141
142
// resulting in - R_MIPS_PC26_S2
143
fixup_MIPS_PC26_S2,
144
145
// resulting in - R_MIPS_PCHI16
146
fixup_MIPS_PCHI16,
147
148
// resulting in - R_MIPS_PCLO16
149
fixup_MIPS_PCLO16,
150
151
// resulting in - R_MICROMIPS_26_S1
152
fixup_MICROMIPS_26_S1,
153
154
// resulting in - R_MICROMIPS_HI16
155
fixup_MICROMIPS_HI16,
156
157
// resulting in - R_MICROMIPS_LO16
158
fixup_MICROMIPS_LO16,
159
160
// resulting in - R_MICROMIPS_GOT16
161
fixup_MICROMIPS_GOT16,
162
163
// resulting in - R_MICROMIPS_PC7_S1
164
fixup_MICROMIPS_PC7_S1,
165
166
// resulting in - R_MICROMIPS_PC10_S1
167
fixup_MICROMIPS_PC10_S1,
168
169
// resulting in - R_MICROMIPS_PC16_S1
170
fixup_MICROMIPS_PC16_S1,
171
172
// resulting in - R_MICROMIPS_PC26_S1
173
fixup_MICROMIPS_PC26_S1,
174
175
// resulting in - R_MICROMIPS_PC19_S2
176
fixup_MICROMIPS_PC19_S2,
177
178
// resulting in - R_MICROMIPS_PC18_S3
179
fixup_MICROMIPS_PC18_S3,
180
181
// resulting in - R_MICROMIPS_PC21_S1
182
fixup_MICROMIPS_PC21_S1,
183
184
// resulting in - R_MICROMIPS_CALL16
185
fixup_MICROMIPS_CALL16,
186
187
// resulting in - R_MICROMIPS_GOT_DISP
188
fixup_MICROMIPS_GOT_DISP,
189
190
// resulting in - R_MICROMIPS_GOT_PAGE
191
fixup_MICROMIPS_GOT_PAGE,
192
193
// resulting in - R_MICROMIPS_GOT_OFST
194
fixup_MICROMIPS_GOT_OFST,
195
196
// resulting in - R_MICROMIPS_TLS_GD
197
fixup_MICROMIPS_TLS_GD,
198
199
// resulting in - R_MICROMIPS_TLS_LDM
200
fixup_MICROMIPS_TLS_LDM,
201
202
// resulting in - R_MICROMIPS_TLS_DTPREL_HI16
203
fixup_MICROMIPS_TLS_DTPREL_HI16,
204
205
// resulting in - R_MICROMIPS_TLS_DTPREL_LO16
206
fixup_MICROMIPS_TLS_DTPREL_LO16,
207
208
// resulting in - R_MICROMIPS_TLS_GOTTPREL.
209
fixup_MICROMIPS_GOTTPREL,
210
211
// resulting in - R_MICROMIPS_TLS_TPREL_HI16
212
fixup_MICROMIPS_TLS_TPREL_HI16,
213
214
// resulting in - R_MICROMIPS_TLS_TPREL_LO16
215
fixup_MICROMIPS_TLS_TPREL_LO16,
216
217
// resulting in - R_MIPS_SUB/R_MICROMIPS_SUB
218
fixup_Mips_SUB,
219
fixup_MICROMIPS_SUB,
220
221
// resulting in - R_MIPS_JALR/R_MICROMIPS_JALR
222
fixup_Mips_JALR,
223
fixup_MICROMIPS_JALR,
224
225
// Marker
226
LastTargetFixupKind,
227
NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
228
};
229
} // namespace Mips
230
} // namespace llvm
231
232
233
#endif
234
235