SparcFixupKinds.h revision 262613
1212793Sdim//===-- SparcFixupKinds.h - Sparc Specific Fixup Entries --------*- C++ -*-===//
2212793Sdim//
3212793Sdim//                     The LLVM Compiler Infrastructure
4212793Sdim//
5212793Sdim// This file is distributed under the University of Illinois Open Source
6212793Sdim// License. See LICENSE.TXT for details.
7212793Sdim//
8212793Sdim//===----------------------------------------------------------------------===//
9212793Sdim
10212793Sdim#ifndef LLVM_SPARC_FIXUPKINDS_H
11212793Sdim#define LLVM_SPARC_FIXUPKINDS_H
12212793Sdim
13212793Sdim#include "llvm/MC/MCFixup.h"
14212793Sdim
15212793Sdimnamespace llvm {
16212793Sdim  namespace Sparc {
17212793Sdim    enum Fixups {
18212793Sdim      // fixup_sparc_call30 - 30-bit PC relative relocation for call
19212793Sdim      fixup_sparc_call30 = FirstTargetFixupKind,
20212793Sdim
21212793Sdim      /// fixup_sparc_br22 - 22-bit PC relative relocation for
22212793Sdim      /// branches
23234353Sdim      fixup_sparc_br22,
24212793Sdim
25224145Sdim      /// fixup_sparc_br19 - 19-bit PC relative relocation for
26224145Sdim      /// branches on icc/xcc
27224145Sdim      fixup_sparc_br19,
28243830Sdim
29224145Sdim      /// fixup_sparc_hi22  - 22-bit fixup corresponding to %hi(foo)
30224145Sdim      /// for sethi
31224145Sdim      fixup_sparc_hi22,
32224145Sdim
33224145Sdim      /// fixup_sparc_lo10  - 10-bit fixup corresponding to %lo(foo)
34224145Sdim      fixup_sparc_lo10,
35224145Sdim
36263508Sdim      /// fixup_sparc_h44  - 22-bit fixup corresponding to %h44(foo)
37263508Sdim      fixup_sparc_h44,
38263508Sdim
39263508Sdim      /// fixup_sparc_m44  - 10-bit fixup corresponding to %m44(foo)
40263508Sdim      fixup_sparc_m44,
41263508Sdim
42263508Sdim      /// fixup_sparc_l44  - 12-bit fixup corresponding to %l44(foo)
43263508Sdim      fixup_sparc_l44,
44263508Sdim
45263508Sdim      /// fixup_sparc_hh  -  22-bit fixup corresponding to %hh(foo)
46263508Sdim      fixup_sparc_hh,
47263508Sdim
48263508Sdim      /// fixup_sparc_hm  -  10-bit fixup corresponding to %hm(foo)
49224145Sdim      fixup_sparc_hm,
50218893Sdim
51218893Sdim      /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo)
52218893Sdim      fixup_sparc_pc22,
53218893Sdim
54218893Sdim      /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo)
55218893Sdim      fixup_sparc_pc10,
56218893Sdim
57218893Sdim      /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo)
58218893Sdim      fixup_sparc_got22,
59218893Sdim
60218893Sdim      /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo)
61218893Sdim      fixup_sparc_got10,
62218893Sdim
63218893Sdim      /// fixup_sparc_wplt30
64218893Sdim      fixup_sparc_wplt30,
65218893Sdim
66218893Sdim      /// fixups for Thread Local Storage
67218893Sdim      fixup_sparc_tls_gd_hi22,
68218893Sdim      fixup_sparc_tls_gd_lo10,
69212793Sdim      fixup_sparc_tls_gd_add,
70224145Sdim      fixup_sparc_tls_gd_call,
71263508Sdim      fixup_sparc_tls_ldm_hi22,
72263508Sdim      fixup_sparc_tls_ldm_lo10,
73224145Sdim      fixup_sparc_tls_ldm_add,
74212793Sdim      fixup_sparc_tls_ldm_call,
75224145Sdim      fixup_sparc_tls_ldo_hix22,
76263508Sdim      fixup_sparc_tls_ldo_lox10,
77263508Sdim      fixup_sparc_tls_ldo_add,
78224145Sdim      fixup_sparc_tls_ie_hi22,
79224145Sdim      fixup_sparc_tls_ie_lo10,
80224145Sdim      fixup_sparc_tls_ie_ld,
81224145Sdim      fixup_sparc_tls_ie_ldx,
82224145Sdim      fixup_sparc_tls_ie_add,
83263508Sdim      fixup_sparc_tls_le_hix22,
84263508Sdim      fixup_sparc_tls_le_lox10,
85263508Sdim
86263508Sdim      // Marker
87224145Sdim      LastTargetFixupKind,
88224145Sdim      NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
89224145Sdim    };
90263508Sdim  }
91263508Sdim}
92263508Sdim
93263508Sdim#endif
94224145Sdim