1 | //===-- MSP430FixupKinds.h - MSP430 Specific Fixup Entries ------*- C++ -*-===// |
2 | // |
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 |
6 | // |
7 | //===----------------------------------------------------------------------===// |
8 | |
9 | #ifndef LLVM_LIB_TARGET_MSP430_MCTARGETDESC_MSP430FIXUPKINDS_H |
10 | #define LLVM_LIB_TARGET_MSP430_MCTARGETDESC_MSP430FIXUPKINDS_H |
11 | |
12 | #include "llvm/MC/MCFixup.h" |
13 | |
14 | #undef MSP430 |
15 | |
16 | namespace llvm { |
17 | namespace MSP430 { |
18 | |
19 | // This table must be in the same order of |
20 | // MCFixupKindInfo Infos[MSP430::NumTargetFixupKinds] |
21 | // in MSP430AsmBackend.cpp. |
22 | // |
23 | enum Fixups { |
24 | // A 32 bit absolute fixup. |
25 | fixup_32 = FirstTargetFixupKind, |
26 | // A 10 bit PC relative fixup. |
27 | fixup_10_pcrel, |
28 | // A 16 bit absolute fixup. |
29 | fixup_16, |
30 | // A 16 bit PC relative fixup. |
31 | fixup_16_pcrel, |
32 | // A 16 bit absolute fixup for byte operations. |
33 | fixup_16_byte, |
34 | // A 16 bit PC relative fixup for command address. |
35 | fixup_16_pcrel_byte, |
36 | // A 10 bit PC relative fixup for complicated polymorphs. |
37 | fixup_2x_pcrel, |
38 | // A 16 bit relaxable fixup. |
39 | fixup_rl_pcrel, |
40 | // A 8 bit absolute fixup. |
41 | fixup_8, |
42 | // A 32 bit symbol difference fixup. |
43 | fixup_sym_diff, |
44 | |
45 | // Marker |
46 | LastTargetFixupKind, |
47 | NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind |
48 | }; |
49 | } // end namespace MSP430 |
50 | } // end namespace llvm |
51 | |
52 | #endif |
53 | |