Recommit r373598 "[yaml2obj/obj2yaml] - Add support for SHT_LLVM_ADDRSIG sections."
[llvm-complete.git] / lib / Target / PowerPC / MCTargetDesc / PPCFixupKinds.h
blob845489788c86f60132a2a331e2ec92e411062b55
1 //===-- PPCFixupKinds.h - PPC 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 //===----------------------------------------------------------------------===//
9 #ifndef LLVM_LIB_TARGET_POWERPC_MCTARGETDESC_PPCFIXUPKINDS_H
10 #define LLVM_LIB_TARGET_POWERPC_MCTARGETDESC_PPCFIXUPKINDS_H
12 #include "llvm/MC/MCFixup.h"
14 #undef PPC
16 namespace llvm {
17 namespace PPC {
18 enum Fixups {
19 // 24-bit PC relative relocation for direct branches like 'b' and 'bl'.
20 fixup_ppc_br24 = FirstTargetFixupKind,
22 /// 14-bit PC relative relocation for conditional branches.
23 fixup_ppc_brcond14,
25 /// 24-bit absolute relocation for direct branches like 'ba' and 'bla'.
26 fixup_ppc_br24abs,
28 /// 14-bit absolute relocation for conditional branches.
29 fixup_ppc_brcond14abs,
31 /// A 16-bit fixup corresponding to lo16(_foo) or ha16(_foo) for instrs like
32 /// 'li' or 'addis'.
33 fixup_ppc_half16,
35 /// A 14-bit fixup corresponding to lo16(_foo) with implied 2 zero bits for
36 /// instrs like 'std'.
37 fixup_ppc_half16ds,
39 /// Not a true fixup, but ties a symbol to a call to __tls_get_addr for the
40 /// TLS general and local dynamic models, or inserts the thread-pointer
41 /// register number.
42 fixup_ppc_nofixup,
44 // Marker
45 LastTargetFixupKind,
46 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
51 #endif