blob: 3ea59f0b2fc52c2a626ff91b00d34d35c572ea93 [file] [log] [blame]
Chris Lattner79fa3712010-11-15 05:57:53 +00001//===-- PPCFixupKinds.h - PPC Specific Fixup Entries ------------*- C++ -*-===//
2//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
10#ifndef LLVM_PPC_PPCFIXUPKINDS_H
11#define LLVM_PPC_PPCFIXUPKINDS_H
12
13#include "llvm/MC/MCFixup.h"
14
Sylvestre Ledru37ef20d2013-03-17 12:40:42 +000015#undef PPC
16
Chris Lattner79fa3712010-11-15 05:57:53 +000017namespace llvm {
18namespace PPC {
19enum Fixups {
Chris Lattner85e37682010-11-15 06:12:22 +000020 // fixup_ppc_br24 - 24-bit PC relative relocation for direct branches like 'b'
21 // and 'bl'.
Chris Lattner79fa3712010-11-15 05:57:53 +000022 fixup_ppc_br24 = FirstTargetFixupKind,
23
Chris Lattner85e37682010-11-15 06:12:22 +000024 /// fixup_ppc_brcond14 - 14-bit PC relative relocation for conditional
25 /// branches.
26 fixup_ppc_brcond14,
27
Ulrich Weigand6e23ac62013-05-17 12:37:21 +000028 /// fixup_ppc_half16 - A 16-bit fixup corresponding to lo16(_foo)
29 /// or ha16(_foo) for instrs like 'li' or 'addis'.
30 fixup_ppc_half16,
Chris Lattner65661122010-11-15 06:33:39 +000031
Ulrich Weigand6e23ac62013-05-17 12:37:21 +000032 /// fixup_ppc_half16ds - A 14-bit fixup corresponding to lo16(_foo) with
Ulrich Weigand3e186012013-03-26 10:56:47 +000033 /// implied 2 zero bits for instrs like 'std'.
Ulrich Weigand6e23ac62013-05-17 12:37:21 +000034 fixup_ppc_half16ds,
Bill Schmidtca4a0c92012-12-04 16:18:08 +000035
36 /// fixup_ppc_tlsreg - Insert thread-pointer register number.
37 fixup_ppc_tlsreg,
Bill Schmidtc56f1d32012-12-11 20:30:11 +000038
Bill Schmidt24b8dd62012-12-12 19:29:35 +000039 /// fixup_ppc_nofixup - Not a true fixup, but ties a symbol to a call
40 /// to __tls_get_addr for the TLS general and local dynamic models.
41 fixup_ppc_nofixup,
Chris Lattner65661122010-11-15 06:33:39 +000042
Chris Lattner79fa3712010-11-15 05:57:53 +000043 // Marker
44 LastTargetFixupKind,
45 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
46};
47}
48}
49
50#endif