SparcFixupKinds.h revision 263763
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
15namespace 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_hi22  - 22-bit fixup corresponding to %hi(foo)
30      /// for sethi
31      fixup_sparc_hi22,
32
33      /// fixup_sparc_lo10  - 10-bit fixup corresponding to %lo(foo)
34      fixup_sparc_lo10,
35
36      /// fixup_sparc_h44  - 22-bit fixup corresponding to %h44(foo)
37      fixup_sparc_h44,
38
39      /// fixup_sparc_m44  - 10-bit fixup corresponding to %m44(foo)
40      fixup_sparc_m44,
41
42      /// fixup_sparc_l44  - 12-bit fixup corresponding to %l44(foo)
43      fixup_sparc_l44,
44
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