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