LLVM 22.0.0git
MipsFixupKinds.h
Go to the documentation of this file.
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
14namespace llvm {
15namespace 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//
24enum Fixups {
25 // Branch fixups resulting in R_MIPS_16.
27
28 // Pure 32 bit data fixup resulting in - R_MIPS_32.
30
31 // Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.
33
34 fixup_Mips_GPREL32, // R_MIPS_GPREL32
35 fixup_Mips_DTPREL32, // R_MIPS_TLS_DTPREL32
36 fixup_Mips_DTPREL64, // R_MIPS_TLS_DTPREL64
37 fixup_Mips_TPREL32, // R_MIPS_TLS_TPREL32
38 fixup_Mips_TPREL64, // R_MIPS_TLS_TPREL64
39
40 // Jump 26 bit fixup resulting in - R_MIPS_26.
42
43 // Pure upper 16 bit fixup resulting in - R_MIPS_HI16.
45
46 // Pure lower 16 bit fixup resulting in - R_MIPS_LO16.
48
49 // 16-bit fixup that must be resolved.
51
52 // 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.
54
55 // 16 bit literal fixup resulting in - R_MIPS_LITERAL.
57
58 // Symbol fixup resulting in - R_MIPS_GOT16.
60
61 // PC relative branch fixup resulting in - R_MIPS_PC16.
63
64 // resulting in - R_MIPS_CALL16.
66
67 // resulting in - R_MIPS_SHIFT5.
69
70 // resulting in - R_MIPS_SHIFT6.
72
73 // Pure 64 bit data fixup resulting in - R_MIPS_64.
75
76 // resulting in - R_MIPS_TLS_GD.
78
79 // resulting in - R_MIPS_TLS_GOTTPREL.
81
82 // resulting in - R_MIPS_TLS_TPREL_HI16.
84
85 // resulting in - R_MIPS_TLS_TPREL_LO16.
87
88 // resulting in - R_MIPS_TLS_LDM.
90
91 // resulting in - R_MIPS_TLS_DTPREL_HI16.
93
94 // resulting in - R_MIPS_TLS_DTPREL_LO16.
96
97 // PC relative branch fixup resulting in - R_MIPS_PC16
99
100 // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
101 // R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_HI16
104
105 // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
106 // R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_LO16
109
110 // resulting in - R_MIPS_PAGE
112
113 // resulting in - R_MIPS_GOT_OFST
115
116 // resulting in - R_MIPS_GOT_DISP
118
119 // resulting in - R_MIPS_HIGHER/R_MICROMIPS_HIGHER
122
123 // resulting in - R_MIPS_HIGHEST/R_MICROMIPS_HIGHEST
126
127 // resulting in - R_MIPS_GOT_HI16
129
130 // resulting in - R_MIPS_GOT_LO16
132
133 // resulting in - R_MIPS_CALL_HI16
135
136 // resulting in - R_MIPS_CALL_LO16
138
139 // resulting in - R_MIPS_PC18_S3
141
142 // resulting in - R_MIPS_PC19_S2
144
145 // resulting in - R_MIPS_PC21_S2
147
148 // resulting in - R_MIPS_PC26_S2
150
151 // resulting in - R_MIPS_PCHI16
153
154 // resulting in - R_MIPS_PCLO16
156
157 // resulting in - R_MICROMIPS_26_S1
159
160 // resulting in - R_MICROMIPS_HI16
162
163 // resulting in - R_MICROMIPS_LO16
165
166 // resulting in - R_MICROMIPS_GOT16
168
169 // resulting in - R_MICROMIPS_PC7_S1
171
172 // resulting in - R_MICROMIPS_PC10_S1
174
175 // resulting in - R_MICROMIPS_PC16_S1
177
178 // resulting in - R_MICROMIPS_PC26_S1
180
181 // resulting in - R_MICROMIPS_PC19_S2
183
184 // resulting in - R_MICROMIPS_PC18_S3
186
187 // resulting in - R_MICROMIPS_PC21_S1
189
190 // resulting in - R_MICROMIPS_CALL16
192
193 // resulting in - R_MICROMIPS_GOT_DISP
195
196 // resulting in - R_MICROMIPS_GOT_PAGE
198
199 // resulting in - R_MICROMIPS_GOT_OFST
201
202 // resulting in - R_MICROMIPS_TLS_GD
204
205 // resulting in - R_MICROMIPS_TLS_LDM
207
208 // resulting in - R_MICROMIPS_TLS_DTPREL_HI16
210
211 // resulting in - R_MICROMIPS_TLS_DTPREL_LO16
213
214 // resulting in - R_MICROMIPS_TLS_GOTTPREL.
216
217 // resulting in - R_MICROMIPS_TLS_TPREL_HI16
219
220 // resulting in - R_MICROMIPS_TLS_TPREL_LO16
222
223 // resulting in - R_MIPS_SUB/R_MICROMIPS_SUB
226
227 // resulting in - R_MIPS_JALR/R_MICROMIPS_JALR
230
231 // Marker
235} // namespace Mips
236} // namespace llvm
237
238#endif
@ fixup_MICROMIPS_TLS_TPREL_LO16
@ fixup_Mips_DTPREL_HI
@ fixup_MICROMIPS_PC7_S1
@ fixup_MICROMIPS_GOT_PAGE
@ fixup_MICROMIPS_PC16_S1
@ fixup_MICROMIPS_HIGHER
@ fixup_MICROMIPS_TLS_TPREL_HI16
@ fixup_MICROMIPS_PC21_S1
@ fixup_MICROMIPS_GPOFF_LO
@ fixup_MICROMIPS_PC19_S2
@ fixup_MICROMIPS_CALL16
@ fixup_MICROMIPS_TLS_LDM
@ fixup_MICROMIPS_GOT_OFST
@ fixup_MICROMIPS_TLS_DTPREL_HI16
@ fixup_MICROMIPS_PC10_S1
@ fixup_MICROMIPS_TLS_GD
@ fixup_MICROMIPS_HIGHEST
@ fixup_MICROMIPS_GOT_DISP
@ fixup_Mips_DTPREL_LO
@ fixup_MICROMIPS_PC18_S3
@ fixup_MICROMIPS_PC26_S1
@ fixup_MICROMIPS_GOTTPREL
@ fixup_MICROMIPS_TLS_DTPREL_LO16
@ fixup_Mips_Branch_PCRel
@ fixup_MICROMIPS_GPOFF_HI
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18
@ FirstTargetFixupKind
Definition: MCFixup.h:44