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