SparcFixupKinds.h revision 263763
176575Smarkm//===-- SparcFixupKinds.h - Sparc Specific Fixup Entries --------*- C++ -*-===//
276575Smarkm//
376575Smarkm//                     The LLVM Compiler Infrastructure
476575Smarkm//
576575Smarkm// This file is distributed under the University of Illinois Open Source
676575Smarkm// License. See LICENSE.TXT for details.
776575Smarkm//
876575Smarkm//===----------------------------------------------------------------------===//
976575Smarkm
1076575Smarkm#ifndef LLVM_SPARC_FIXUPKINDS_H
1176575Smarkm#define LLVM_SPARC_FIXUPKINDS_H
1276575Smarkm
1376575Smarkm#include "llvm/MC/MCFixup.h"
1476575Smarkm
1576575Smarkmnamespace llvm {
1676575Smarkm  namespace Sparc {
1776575Smarkm    enum Fixups {
1876575Smarkm      // fixup_sparc_call30 - 30-bit PC relative relocation for call
1976575Smarkm      fixup_sparc_call30 = FirstTargetFixupKind,
2076575Smarkm
2176575Smarkm      /// fixup_sparc_br22 - 22-bit PC relative relocation for
2276575Smarkm      /// branches
2376575Smarkm      fixup_sparc_br22,
2476575Smarkm
2576575Smarkm      /// fixup_sparc_br19 - 19-bit PC relative relocation for
2676575Smarkm      /// branches on icc/xcc
2776575Smarkm      fixup_sparc_br19,
2876575Smarkm
2976575Smarkm      /// fixup_sparc_hi22  - 22-bit fixup corresponding to %hi(foo)
3076575Smarkm      /// for sethi
3176575Smarkm      fixup_sparc_hi22,
3276575Smarkm
3376575Smarkm      /// fixup_sparc_lo10  - 10-bit fixup corresponding to %lo(foo)
3476575Smarkm      fixup_sparc_lo10,
3576575Smarkm
3676575Smarkm      /// fixup_sparc_h44  - 22-bit fixup corresponding to %h44(foo)
3776575Smarkm      fixup_sparc_h44,
3876575Smarkm
3976575Smarkm      /// fixup_sparc_m44  - 10-bit fixup corresponding to %m44(foo)
4076575Smarkm      fixup_sparc_m44,
4176575Smarkm
4276575Smarkm      /// fixup_sparc_l44  - 12-bit fixup corresponding to %l44(foo)
4376575Smarkm      fixup_sparc_l44,
4476575Smarkm
45      /// fixup_sparc_hh  -  22-bit fixup corresponding to %hh(foo)
46      fixup_sparc_hh,
47
48      /// fixup_sparc_hm  -  10-bit fixup corresponding to %hm(foo)
49      fixup_sparc_hm,
50
51      /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo)
52      fixup_sparc_pc22,
53
54      /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo)
55      fixup_sparc_pc10,
56
57      /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo)
58      fixup_sparc_got22,
59
60      /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo)
61      fixup_sparc_got10,
62
63      /// fixup_sparc_wplt30
64      fixup_sparc_wplt30,
65
66      /// fixups for Thread Local Storage
67      fixup_sparc_tls_gd_hi22,
68      fixup_sparc_tls_gd_lo10,
69      fixup_sparc_tls_gd_add,
70      fixup_sparc_tls_gd_call,
71      fixup_sparc_tls_ldm_hi22,
72      fixup_sparc_tls_ldm_lo10,
73      fixup_sparc_tls_ldm_add,
74      fixup_sparc_tls_ldm_call,
75      fixup_sparc_tls_ldo_hix22,
76      fixup_sparc_tls_ldo_lox10,
77      fixup_sparc_tls_ldo_add,
78      fixup_sparc_tls_ie_hi22,
79      fixup_sparc_tls_ie_lo10,
80      fixup_sparc_tls_ie_ld,
81      fixup_sparc_tls_ie_ldx,
82      fixup_sparc_tls_ie_add,
83      fixup_sparc_tls_le_hix22,
84      fixup_sparc_tls_le_lox10,
85
86      // Marker
87      LastTargetFixupKind,
88      NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
89    };
90  }
91}
92
93#endif
94