xref: /freebsd/contrib/llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430FixupKinds.h (revision 59c8e88e72633afbc47a4ace0d2170d00d51f7dc)
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