blob: 8d79396d936e70522760d5d641b15a2e8dcae2ae [file] [log] [blame]
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +00001//===-- 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
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000010#ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H
11#define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000012
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
Venkatraman Govindarajub73aeca2014-01-06 01:22:54 +000025 /// fixup_sparc_br19 - 19-bit PC relative relocation for
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000026 /// branches on icc/xcc
27 fixup_sparc_br19,
28
Venkatraman Govindarajub745e672014-03-02 09:46:56 +000029 /// fixup_sparc_bpr - 16-bit fixup for bpr
30 fixup_sparc_br16_2,
31 fixup_sparc_br16_14,
32
Venkatraman Govindarajub73aeca2014-01-06 01:22:54 +000033 /// 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
Venkatraman Govindaraju104643d2014-02-07 04:24:35 +000055 /// 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
Venkatraman Govindarajufd075002014-02-07 05:54:20 +000070 /// 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
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000090 // Marker
91 LastTargetFixupKind,
92 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
93 };
Alexander Kornienkof00654e2015-06-23 09:49:53 +000094 }
95}
Venkatraman Govindaraju5f1cce52014-01-05 02:13:48 +000096
97#endif