1 | //===-- SparcFixupKinds.h - Sparc 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_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H |
10 | #define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H |
11 | |
12 | #include "llvm/MC/MCFixup.h" |
13 | |
14 | namespace llvm { |
15 | namespace Sparc { |
16 | enum Fixups { |
17 | // fixup_sparc_call30 - 30-bit PC relative relocation for call |
18 | fixup_sparc_call30 = FirstTargetFixupKind, |
19 | |
20 | /// fixup_sparc_br22 - 22-bit PC relative relocation for |
21 | /// branches |
22 | fixup_sparc_br22, |
23 | |
24 | /// fixup_sparc_br19 - 19-bit PC relative relocation for |
25 | /// branches on icc/xcc |
26 | fixup_sparc_br19, |
27 | |
28 | /// fixup_sparc_bpr - 16-bit fixup for bpr |
29 | fixup_sparc_br16, |
30 | |
31 | /// fixup_sparc_13 - 13-bit fixup |
32 | fixup_sparc_13, |
33 | |
34 | /// fixup_sparc_hi22 - 22-bit fixup corresponding to %hi(foo) |
35 | /// for sethi |
36 | fixup_sparc_hi22, |
37 | |
38 | /// fixup_sparc_lo10 - 10-bit fixup corresponding to %lo(foo) |
39 | fixup_sparc_lo10, |
40 | |
41 | /// fixup_sparc_h44 - 22-bit fixup corresponding to %h44(foo) |
42 | fixup_sparc_h44, |
43 | |
44 | /// fixup_sparc_m44 - 10-bit fixup corresponding to %m44(foo) |
45 | fixup_sparc_m44, |
46 | |
47 | /// fixup_sparc_l44 - 12-bit fixup corresponding to %l44(foo) |
48 | fixup_sparc_l44, |
49 | |
50 | /// fixup_sparc_hh - 22-bit fixup corresponding to %hh(foo) |
51 | fixup_sparc_hh, |
52 | |
53 | /// fixup_sparc_hm - 10-bit fixup corresponding to %hm(foo) |
54 | fixup_sparc_hm, |
55 | |
56 | /// fixup_sparc_lm - 22-bit fixup corresponding to %lm(foo) |
57 | fixup_sparc_lm, |
58 | |
59 | /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo) |
60 | fixup_sparc_pc22, |
61 | |
62 | /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo) |
63 | fixup_sparc_pc10, |
64 | |
65 | /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo) |
66 | fixup_sparc_got22, |
67 | |
68 | /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo) |
69 | fixup_sparc_got10, |
70 | |
71 | /// fixup_sparc_got13 - 13-bit fixup corresponding to %got13(foo) |
72 | fixup_sparc_got13, |
73 | |
74 | /// fixup_sparc_wplt30 |
75 | fixup_sparc_wplt30, |
76 | |
77 | /// fixups for Thread Local Storage |
78 | fixup_sparc_tls_gd_hi22, |
79 | fixup_sparc_tls_gd_lo10, |
80 | fixup_sparc_tls_gd_add, |
81 | fixup_sparc_tls_gd_call, |
82 | fixup_sparc_tls_ldm_hi22, |
83 | fixup_sparc_tls_ldm_lo10, |
84 | fixup_sparc_tls_ldm_add, |
85 | fixup_sparc_tls_ldm_call, |
86 | fixup_sparc_tls_ldo_hix22, |
87 | fixup_sparc_tls_ldo_lox10, |
88 | fixup_sparc_tls_ldo_add, |
89 | fixup_sparc_tls_ie_hi22, |
90 | fixup_sparc_tls_ie_lo10, |
91 | fixup_sparc_tls_ie_ld, |
92 | fixup_sparc_tls_ie_ldx, |
93 | fixup_sparc_tls_ie_add, |
94 | fixup_sparc_tls_le_hix22, |
95 | fixup_sparc_tls_le_lox10, |
96 | |
97 | /// 22-bit fixup corresponding to %hix(foo) |
98 | fixup_sparc_hix22, |
99 | /// 13-bit fixup corresponding to %lox(foo) |
100 | fixup_sparc_lox10, |
101 | |
102 | /// 22-bit fixup corresponding to %gdop_hix22(foo) |
103 | fixup_sparc_gotdata_hix22, |
104 | /// 13-bit fixup corresponding to %gdop_lox10(foo) |
105 | fixup_sparc_gotdata_lox10, |
106 | /// 32-bit fixup corresponding to %gdop(foo) |
107 | fixup_sparc_gotdata_op, |
108 | |
109 | // Marker |
110 | LastTargetFixupKind, |
111 | NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind |
112 | }; |
113 | } |
114 | } |
115 | |
116 | #endif |
117 | |