SparcFixupKinds.h revision 285830
1255130Srpaulo//===-- SparcFixupKinds.h - Sparc Specific Fixup Entries --------*- C++ -*-===// 2255130Srpaulo// 3255130Srpaulo// The LLVM Compiler Infrastructure 4255130Srpaulo// 5255130Srpaulo// This file is distributed under the University of Illinois Open Source 6255130Srpaulo// License. See LICENSE.TXT for details. 7255130Srpaulo// 8255130Srpaulo//===----------------------------------------------------------------------===// 9255130Srpaulo 10255130Srpaulo#ifndef LLVM_SPARC_FIXUPKINDS_H 11255130Srpaulo#define LLVM_SPARC_FIXUPKINDS_H 12255130Srpaulo 13255130Srpaulo#include "llvm/MC/MCFixup.h" 14255130Srpaulo 15255130Srpaulonamespace llvm { 16255130Srpaulo namespace Sparc { 17255130Srpaulo enum Fixups { 18255130Srpaulo // fixup_sparc_call30 - 30-bit PC relative relocation for call 19255130Srpaulo fixup_sparc_call30 = FirstTargetFixupKind, 20255130Srpaulo 21255130Srpaulo /// fixup_sparc_br22 - 22-bit PC relative relocation for 22255130Srpaulo /// branches 23255130Srpaulo fixup_sparc_br22, 24255130Srpaulo 25255130Srpaulo /// fixup_sparc_br19 - 19-bit PC relative relocation for 26255130Srpaulo /// branches on icc/xcc 27255130Srpaulo fixup_sparc_br19, 28255130Srpaulo 29255130Srpaulo /// fixup_sparc_hi22 - 22-bit fixup corresponding to %hi(foo) 30255130Srpaulo /// for sethi 31255130Srpaulo fixup_sparc_hi22, 32255130Srpaulo 33255130Srpaulo /// fixup_sparc_lo10 - 10-bit fixup corresponding to %lo(foo) 34255130Srpaulo fixup_sparc_lo10, 35255130Srpaulo 36255130Srpaulo /// fixup_sparc_h44 - 22-bit fixup corresponding to %h44(foo) 37255130Srpaulo fixup_sparc_h44, 38255130Srpaulo 39255130Srpaulo /// fixup_sparc_m44 - 10-bit fixup corresponding to %m44(foo) 40255130Srpaulo fixup_sparc_m44, 41255130Srpaulo 42255130Srpaulo /// fixup_sparc_l44 - 12-bit fixup corresponding to %l44(foo) 43255130Srpaulo fixup_sparc_l44, 44255130Srpaulo 45255130Srpaulo /// fixup_sparc_hh - 22-bit fixup corresponding to %hh(foo) 46255130Srpaulo fixup_sparc_hh, 47255130Srpaulo 48255130Srpaulo /// fixup_sparc_hm - 10-bit fixup corresponding to %hm(foo) 49255130Srpaulo fixup_sparc_hm, 50255130Srpaulo 51255130Srpaulo /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo) 52255130Srpaulo fixup_sparc_pc22, 53255130Srpaulo 54255130Srpaulo /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo) 55255130Srpaulo fixup_sparc_pc10, 56255130Srpaulo 57255130Srpaulo /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo) 58255130Srpaulo fixup_sparc_got22, 59255130Srpaulo 60255130Srpaulo /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo) 61255130Srpaulo fixup_sparc_got10, 62255130Srpaulo 63255130Srpaulo /// fixup_sparc_wplt30 64255130Srpaulo fixup_sparc_wplt30, 65255130Srpaulo 66255130Srpaulo /// fixups for Thread Local Storage 67255130Srpaulo fixup_sparc_tls_gd_hi22, 68255130Srpaulo fixup_sparc_tls_gd_lo10, 69255130Srpaulo fixup_sparc_tls_gd_add, 70255130Srpaulo fixup_sparc_tls_gd_call, 71255130Srpaulo fixup_sparc_tls_ldm_hi22, 72255130Srpaulo fixup_sparc_tls_ldm_lo10, 73256804Sian fixup_sparc_tls_ldm_add, 74255130Srpaulo fixup_sparc_tls_ldm_call, 75256804Sian fixup_sparc_tls_ldo_hix22, 76255130Srpaulo fixup_sparc_tls_ldo_lox10, 77255130Srpaulo fixup_sparc_tls_ldo_add, 78255130Srpaulo fixup_sparc_tls_ie_hi22, 79255130Srpaulo fixup_sparc_tls_ie_lo10, 80255130Srpaulo fixup_sparc_tls_ie_ld, 81255130Srpaulo fixup_sparc_tls_ie_ldx, 82255130Srpaulo fixup_sparc_tls_ie_add, 83255130Srpaulo fixup_sparc_tls_le_hix22, 84255130Srpaulo fixup_sparc_tls_le_lox10, 85255130Srpaulo 86255130Srpaulo // Marker 87255130Srpaulo LastTargetFixupKind, 88255130Srpaulo NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind 89255130Srpaulo }; 90255130Srpaulo } 91255130Srpaulo} 92255130Srpaulo 93257393Sian#endif 94257393Sian