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