SparcFixupKinds.h revision 36b56886974eae4f9c5ebc96befd3e7bfe5de338
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_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