| Venkatraman Govindaraju | 5f1cce5 | 2014-01-05 02:13:48 +0000 | [diff] [blame] | 1 | //===-- SparcFixupKinds.h - Sparc Specific Fixup Entries --------*- C++ -*-===// |
| 2 | // |
| Chandler Carruth | 2946cd7 | 2019-01-19 08:50:56 +0000 | [diff] [blame] | 3 | // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. |
| 4 | // See https://llvm.org/LICENSE.txt for license information. |
| 5 | // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception |
| Venkatraman Govindaraju | 5f1cce5 | 2014-01-05 02:13:48 +0000 | [diff] [blame] | 6 | // |
| 7 | //===----------------------------------------------------------------------===// |
| 8 | |
| Benjamin Kramer | a7c40ef | 2014-08-13 16:26:38 +0000 | [diff] [blame] | 9 | #ifndef LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H |
| 10 | #define LLVM_LIB_TARGET_SPARC_MCTARGETDESC_SPARCFIXUPKINDS_H |
| Venkatraman Govindaraju | 5f1cce5 | 2014-01-05 02:13:48 +0000 | [diff] [blame] | 11 | |
| 12 | #include "llvm/MC/MCFixup.h" |
| 13 | |
| 14 | namespace llvm { |
| 15 | namespace Sparc { |
| 16 | enum Fixups { |
| 17 | // fixup_sparc_call30 - 30-bit PC relative relocation for call |
| 18 | fixup_sparc_call30 = FirstTargetFixupKind, |
| 19 | |
| 20 | /// fixup_sparc_br22 - 22-bit PC relative relocation for |
| 21 | /// branches |
| 22 | fixup_sparc_br22, |
| 23 | |
| Venkatraman Govindaraju | b73aeca | 2014-01-06 01:22:54 +0000 | [diff] [blame] | 24 | /// fixup_sparc_br19 - 19-bit PC relative relocation for |
| Venkatraman Govindaraju | 5f1cce5 | 2014-01-05 02:13:48 +0000 | [diff] [blame] | 25 | /// branches on icc/xcc |
| 26 | fixup_sparc_br19, |
| 27 | |
| Venkatraman Govindaraju | b745e67 | 2014-03-02 09:46:56 +0000 | [diff] [blame] | 28 | /// fixup_sparc_bpr - 16-bit fixup for bpr |
| 29 | fixup_sparc_br16_2, |
| 30 | fixup_sparc_br16_14, |
| 31 | |
| Daniel Cederman | 33f67a2 | 2018-06-11 05:50:08 +0000 | [diff] [blame] | 32 | /// fixup_sparc_13 - 13-bit fixup |
| 33 | fixup_sparc_13, |
| 34 | |
| Venkatraman Govindaraju | b73aeca | 2014-01-06 01:22:54 +0000 | [diff] [blame] | 35 | /// fixup_sparc_hi22 - 22-bit fixup corresponding to %hi(foo) |
| 36 | /// for sethi |
| 37 | fixup_sparc_hi22, |
| 38 | |
| 39 | /// fixup_sparc_lo10 - 10-bit fixup corresponding to %lo(foo) |
| 40 | fixup_sparc_lo10, |
| 41 | |
| 42 | /// fixup_sparc_h44 - 22-bit fixup corresponding to %h44(foo) |
| 43 | fixup_sparc_h44, |
| 44 | |
| 45 | /// fixup_sparc_m44 - 10-bit fixup corresponding to %m44(foo) |
| 46 | fixup_sparc_m44, |
| 47 | |
| 48 | /// fixup_sparc_l44 - 12-bit fixup corresponding to %l44(foo) |
| 49 | fixup_sparc_l44, |
| 50 | |
| 51 | /// fixup_sparc_hh - 22-bit fixup corresponding to %hh(foo) |
| 52 | fixup_sparc_hh, |
| 53 | |
| 54 | /// fixup_sparc_hm - 10-bit fixup corresponding to %hm(foo) |
| 55 | fixup_sparc_hm, |
| 56 | |
| Venkatraman Govindaraju | 104643d | 2014-02-07 04:24:35 +0000 | [diff] [blame] | 57 | /// fixup_sparc_pc22 - 22-bit fixup corresponding to %pc22(foo) |
| 58 | fixup_sparc_pc22, |
| 59 | |
| 60 | /// fixup_sparc_pc10 - 10-bit fixup corresponding to %pc10(foo) |
| 61 | fixup_sparc_pc10, |
| 62 | |
| 63 | /// fixup_sparc_got22 - 22-bit fixup corresponding to %got22(foo) |
| 64 | fixup_sparc_got22, |
| 65 | |
| 66 | /// fixup_sparc_got10 - 10-bit fixup corresponding to %got10(foo) |
| 67 | fixup_sparc_got10, |
| 68 | |
| Daniel Cederman | 33f67a2 | 2018-06-11 05:50:08 +0000 | [diff] [blame] | 69 | /// fixup_sparc_got13 - 13-bit fixup corresponding to %got13(foo) |
| 70 | fixup_sparc_got13, |
| 71 | |
| Venkatraman Govindaraju | 104643d | 2014-02-07 04:24:35 +0000 | [diff] [blame] | 72 | /// fixup_sparc_wplt30 |
| 73 | fixup_sparc_wplt30, |
| 74 | |
| Venkatraman Govindaraju | fd07500 | 2014-02-07 05:54:20 +0000 | [diff] [blame] | 75 | /// fixups for Thread Local Storage |
| 76 | fixup_sparc_tls_gd_hi22, |
| 77 | fixup_sparc_tls_gd_lo10, |
| 78 | fixup_sparc_tls_gd_add, |
| 79 | fixup_sparc_tls_gd_call, |
| 80 | fixup_sparc_tls_ldm_hi22, |
| 81 | fixup_sparc_tls_ldm_lo10, |
| 82 | fixup_sparc_tls_ldm_add, |
| 83 | fixup_sparc_tls_ldm_call, |
| 84 | fixup_sparc_tls_ldo_hix22, |
| 85 | fixup_sparc_tls_ldo_lox10, |
| 86 | fixup_sparc_tls_ldo_add, |
| 87 | fixup_sparc_tls_ie_hi22, |
| 88 | fixup_sparc_tls_ie_lo10, |
| 89 | fixup_sparc_tls_ie_ld, |
| 90 | fixup_sparc_tls_ie_ldx, |
| 91 | fixup_sparc_tls_ie_add, |
| 92 | fixup_sparc_tls_le_hix22, |
| 93 | fixup_sparc_tls_le_lox10, |
| 94 | |
| Venkatraman Govindaraju | 5f1cce5 | 2014-01-05 02:13:48 +0000 | [diff] [blame] | 95 | // Marker |
| 96 | LastTargetFixupKind, |
| 97 | NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind |
| 98 | }; |
| Alexander Kornienko | f00654e | 2015-06-23 09:49:53 +0000 | [diff] [blame] | 99 | } |
| 100 | } |
| Venkatraman Govindaraju | 5f1cce5 | 2014-01-05 02:13:48 +0000 | [diff] [blame] | 101 | |
| 102 | #endif |