xref: /llvm-project/llvm/lib/Target/MSP430/MCTargetDesc/MSP430FixupKinds.h (revision 2946cd701067404b99c39fb29dc9c74bd7193eb3)
1f0001f41SAnton Korobeynikov //===-- MSP430FixupKinds.h - MSP430 Specific Fixup Entries ------*- C++ -*-===//
2f0001f41SAnton Korobeynikov //
3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information.
5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6f0001f41SAnton Korobeynikov //
7f0001f41SAnton Korobeynikov //===----------------------------------------------------------------------===//
8f0001f41SAnton Korobeynikov 
9f0001f41SAnton Korobeynikov #ifndef LLVM_LIB_TARGET_MSP430_MCTARGETDESC_MSP430FIXUPKINDS_H
10f0001f41SAnton Korobeynikov #define LLVM_LIB_TARGET_MSP430_MCTARGETDESC_MSP430FIXUPKINDS_H
11f0001f41SAnton Korobeynikov 
12f0001f41SAnton Korobeynikov #include "llvm/MC/MCFixup.h"
13f0001f41SAnton Korobeynikov 
14f0001f41SAnton Korobeynikov #undef MSP430
15f0001f41SAnton Korobeynikov 
16f0001f41SAnton Korobeynikov namespace llvm {
17f0001f41SAnton Korobeynikov namespace MSP430 {
18f0001f41SAnton Korobeynikov 
19f0001f41SAnton Korobeynikov // This table must be in the same order of
20f0001f41SAnton Korobeynikov // MCFixupKindInfo Infos[MSP430::NumTargetFixupKinds]
21f0001f41SAnton Korobeynikov // in MSP430AsmBackend.cpp.
22f0001f41SAnton Korobeynikov //
23f0001f41SAnton Korobeynikov enum Fixups {
24f0001f41SAnton Korobeynikov   // A 32 bit absolute fixup.
25f0001f41SAnton Korobeynikov   fixup_32 = FirstTargetFixupKind,
26f0001f41SAnton Korobeynikov   // A 10 bit PC relative fixup.
27f0001f41SAnton Korobeynikov   fixup_10_pcrel,
28f0001f41SAnton Korobeynikov   // A 16 bit absolute fixup.
29f0001f41SAnton Korobeynikov   fixup_16,
30f0001f41SAnton Korobeynikov   // A 16 bit PC relative fixup.
31f0001f41SAnton Korobeynikov   fixup_16_pcrel,
32f0001f41SAnton Korobeynikov   // A 16 bit absolute fixup for byte operations.
33f0001f41SAnton Korobeynikov   fixup_16_byte,
34f0001f41SAnton Korobeynikov   // A 16 bit PC relative fixup for command address.
35f0001f41SAnton Korobeynikov   fixup_16_pcrel_byte,
36f0001f41SAnton Korobeynikov   // A 10 bit PC relative fixup for complicated polymorphs.
37f0001f41SAnton Korobeynikov   fixup_2x_pcrel,
38f0001f41SAnton Korobeynikov   // A 16 bit relaxable fixup.
39f0001f41SAnton Korobeynikov   fixup_rl_pcrel,
40f0001f41SAnton Korobeynikov   // A 8 bit absolute fixup.
41f0001f41SAnton Korobeynikov   fixup_8,
42f0001f41SAnton Korobeynikov   // A 32 bit symbol difference fixup.
43f0001f41SAnton Korobeynikov   fixup_sym_diff,
44f0001f41SAnton Korobeynikov 
45f0001f41SAnton Korobeynikov   // Marker
46f0001f41SAnton Korobeynikov   LastTargetFixupKind,
47f0001f41SAnton Korobeynikov   NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
48f0001f41SAnton Korobeynikov };
49f0001f41SAnton Korobeynikov } // end namespace MSP430
50f0001f41SAnton Korobeynikov } // end namespace llvm
51f0001f41SAnton Korobeynikov 
52f0001f41SAnton Korobeynikov #endif
53