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
16namespace llvm {
17namespace MSP430 {
18
19// This table must be in the same order of
20// MCFixupKindInfo Infos[MSP430::NumTargetFixupKinds]
21// in MSP430AsmBackend.cpp.
22//
23enum 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