LLVM  8.0.1
MipsFixupKinds.h
Go to the documentation of this file.
1 //===-- MipsFixupKinds.h - Mips Specific Fixup Entries ----------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 
10 #ifndef LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
11 #define LLVM_LIB_TARGET_MIPS_MCTARGETDESC_MIPSFIXUPKINDS_H
12 
13 #include "llvm/MC/MCFixup.h"
14 
15 namespace llvm {
16 namespace Mips {
17  // Although most of the current fixup types reflect a unique relocation
18  // one can have multiple fixup types for a given relocation and thus need
19  // to be uniquely named.
20  //
21  // This table *must* be in the same order of
22  // MCFixupKindInfo Infos[Mips::NumTargetFixupKinds]
23  // in MipsAsmBackend.cpp.
24  //
25  enum Fixups {
26  // Branch fixups resulting in R_MIPS_NONE.
28 
29  // Branch fixups resulting in R_MIPS_16.
31 
32  // Pure 32 bit data fixup resulting in - R_MIPS_32.
34 
35  // Full 32 bit data relative data fixup resulting in - R_MIPS_REL32.
37 
38  // Jump 26 bit fixup resulting in - R_MIPS_26.
40 
41  // Pure upper 16 bit fixup resulting in - R_MIPS_HI16.
43 
44  // Pure lower 16 bit fixup resulting in - R_MIPS_LO16.
46 
47  // 16 bit fixup for GP offest resulting in - R_MIPS_GPREL16.
49 
50  // 16 bit literal fixup resulting in - R_MIPS_LITERAL.
52 
53  // Symbol fixup resulting in - R_MIPS_GOT16.
55 
56  // PC relative branch fixup resulting in - R_MIPS_PC16.
58 
59  // resulting in - R_MIPS_CALL16.
61 
62  // resulting in - R_MIPS_GPREL32.
64 
65  // resulting in - R_MIPS_SHIFT5.
67 
68  // resulting in - R_MIPS_SHIFT6.
70 
71  // Pure 64 bit data fixup resulting in - R_MIPS_64.
73 
74  // resulting in - R_MIPS_TLS_GD.
76 
77  // resulting in - R_MIPS_TLS_GOTTPREL.
79 
80  // resulting in - R_MIPS_TLS_TPREL_HI16.
82 
83  // resulting in - R_MIPS_TLS_TPREL_LO16.
85 
86  // resulting in - R_MIPS_TLS_LDM.
88 
89  // resulting in - R_MIPS_TLS_DTPREL_HI16.
91 
92  // resulting in - R_MIPS_TLS_DTPREL_LO16.
94 
95  // PC relative branch fixup resulting in - R_MIPS_PC16
97 
98  // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_HI16
99  // R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_HI16
102 
103  // resulting in - R_MIPS_GPREL16/R_MIPS_SUB/R_MIPS_LO16
104  // R_MICROMIPS_GPREL16/R_MICROMIPS_SUB/R_MICROMIPS_LO16
107 
108  // resulting in - R_MIPS_PAGE
110 
111  // resulting in - R_MIPS_GOT_OFST
113 
114  // resulting in - R_MIPS_GOT_DISP
116 
117  // resulting in - R_MIPS_HIGHER/R_MICROMIPS_HIGHER
120 
121  // resulting in - R_MIPS_HIGHEST/R_MICROMIPS_HIGHEST
124 
125  // resulting in - R_MIPS_GOT_HI16
127 
128  // resulting in - R_MIPS_GOT_LO16
130 
131  // resulting in - R_MIPS_CALL_HI16
133 
134  // resulting in - R_MIPS_CALL_LO16
136 
137  // resulting in - R_MIPS_PC18_S3
139 
140  // resulting in - R_MIPS_PC19_S2
142 
143  // resulting in - R_MIPS_PC21_S2
145 
146  // resulting in - R_MIPS_PC26_S2
148 
149  // resulting in - R_MIPS_PCHI16
151 
152  // resulting in - R_MIPS_PCLO16
154 
155  // resulting in - R_MICROMIPS_26_S1
157 
158  // resulting in - R_MICROMIPS_HI16
160 
161  // resulting in - R_MICROMIPS_LO16
163 
164  // resulting in - R_MICROMIPS_GOT16
166 
167  // resulting in - R_MICROMIPS_PC7_S1
169 
170  // resulting in - R_MICROMIPS_PC10_S1
172 
173  // resulting in - R_MICROMIPS_PC16_S1
175 
176  // resulting in - R_MICROMIPS_PC26_S1
178 
179  // resulting in - R_MICROMIPS_PC19_S2
181 
182  // resulting in - R_MICROMIPS_PC18_S3
184 
185  // resulting in - R_MICROMIPS_PC21_S1
187 
188  // resulting in - R_MICROMIPS_CALL16
190 
191  // resulting in - R_MICROMIPS_GOT_DISP
193 
194  // resulting in - R_MICROMIPS_GOT_PAGE
196 
197  // resulting in - R_MICROMIPS_GOT_OFST
199 
200  // resulting in - R_MICROMIPS_TLS_GD
202 
203  // resulting in - R_MICROMIPS_TLS_LDM
205 
206  // resulting in - R_MICROMIPS_TLS_DTPREL_HI16
208 
209  // resulting in - R_MICROMIPS_TLS_DTPREL_LO16
211 
212  // resulting in - R_MICROMIPS_TLS_GOTTPREL.
214 
215  // resulting in - R_MICROMIPS_TLS_TPREL_HI16
217 
218  // resulting in - R_MICROMIPS_TLS_TPREL_LO16
220 
221  // resulting in - R_MIPS_SUB/R_MICROMIPS_SUB
224 
225  // resulting in - R_MIPS_JALR/R_MICROMIPS_JALR
228 
229  // Marker
232  };
233 } // namespace Mips
234 } // namespace llvm
235 
236 
237 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:24