]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/llvm/lib/Target/PowerPC/MCTargetDesc/PPCFixupKinds.h
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.2.git] / contrib / llvm / lib / Target / PowerPC / MCTargetDesc / PPCFixupKinds.h
1 //===-- 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
15 #undef PPC
16
17 namespace llvm {
18 namespace PPC {
19 enum Fixups {
20   // fixup_ppc_br24 - 24-bit PC relative relocation for direct branches like 'b'
21   // and 'bl'.
22   fixup_ppc_br24 = FirstTargetFixupKind,
23   
24   /// fixup_ppc_brcond14 - 14-bit PC relative relocation for conditional
25   /// branches.
26   fixup_ppc_brcond14,
27   
28   /// fixup_ppc_lo16 - A 16-bit fixup corresponding to lo16(_foo) for instrs
29   /// like 'li'.
30   fixup_ppc_lo16,
31   
32   /// fixup_ppc_ha16 - A 16-bit fixup corresponding to ha16(_foo) for instrs
33   /// like 'lis'.
34   fixup_ppc_ha16,
35   
36   /// fixup_ppc_lo16_ds - A 14-bit fixup corresponding to lo16(_foo) with
37   /// implied 2 zero bits for instrs like 'std'.
38   fixup_ppc_lo16_ds,
39
40   /// fixup_ppc_tlsreg - Insert thread-pointer register number.
41   fixup_ppc_tlsreg,
42
43   /// fixup_ppc_nofixup - Not a true fixup, but ties a symbol to a call
44   /// to __tls_get_addr for the TLS general and local dynamic models.
45   fixup_ppc_nofixup,
46   
47   // Marker
48   LastTargetFixupKind,
49   NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
50 };
51 }
52 }
53
54 #endif