[Sparc] Add ELF Object Writer for Sparc.
[oota-llvm.git] / lib / Target / Sparc / MCTargetDesc / SparcFixupKinds.h
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
15 namespace 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       // Marker
52       LastTargetFixupKind,
53       NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
54     };
55   }
56 }
57
58 #endif