| Chris Lattner | 79fa371 | 2010-11-15 05:57:53 +0000 | [diff] [blame] | 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 |  | 
| Sylvestre Ledru | 37ef20d | 2013-03-17 12:40:42 +0000 | [diff] [blame] | 15 | #undef PPC | 
|  | 16 |  | 
| Chris Lattner | 79fa371 | 2010-11-15 05:57:53 +0000 | [diff] [blame] | 17 | namespace llvm { | 
|  | 18 | namespace PPC { | 
|  | 19 | enum Fixups { | 
| Chris Lattner | 85e3768 | 2010-11-15 06:12:22 +0000 | [diff] [blame] | 20 | // fixup_ppc_br24 - 24-bit PC relative relocation for direct branches like 'b' | 
|  | 21 | // and 'bl'. | 
| Chris Lattner | 79fa371 | 2010-11-15 05:57:53 +0000 | [diff] [blame] | 22 | fixup_ppc_br24 = FirstTargetFixupKind, | 
|  | 23 |  | 
| Chris Lattner | 85e3768 | 2010-11-15 06:12:22 +0000 | [diff] [blame] | 24 | /// fixup_ppc_brcond14 - 14-bit PC relative relocation for conditional | 
|  | 25 | /// branches. | 
|  | 26 | fixup_ppc_brcond14, | 
|  | 27 |  | 
| Ulrich Weigand | 6e23ac6 | 2013-05-17 12:37:21 +0000 | [diff] [blame^] | 28 | /// 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 Lattner | 6566112 | 2010-11-15 06:33:39 +0000 | [diff] [blame] | 31 |  | 
| Ulrich Weigand | 6e23ac6 | 2013-05-17 12:37:21 +0000 | [diff] [blame^] | 32 | /// fixup_ppc_half16ds - A 14-bit fixup corresponding to lo16(_foo) with | 
| Ulrich Weigand | 3e18601 | 2013-03-26 10:56:47 +0000 | [diff] [blame] | 33 | /// implied 2 zero bits for instrs like 'std'. | 
| Ulrich Weigand | 6e23ac6 | 2013-05-17 12:37:21 +0000 | [diff] [blame^] | 34 | fixup_ppc_half16ds, | 
| Bill Schmidt | ca4a0c9 | 2012-12-04 16:18:08 +0000 | [diff] [blame] | 35 |  | 
|  | 36 | /// fixup_ppc_tlsreg - Insert thread-pointer register number. | 
|  | 37 | fixup_ppc_tlsreg, | 
| Bill Schmidt | c56f1d3 | 2012-12-11 20:30:11 +0000 | [diff] [blame] | 38 |  | 
| Bill Schmidt | 24b8dd6 | 2012-12-12 19:29:35 +0000 | [diff] [blame] | 39 | /// 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 Lattner | 6566112 | 2010-11-15 06:33:39 +0000 | [diff] [blame] | 42 |  | 
| Chris Lattner | 79fa371 | 2010-11-15 05:57:53 +0000 | [diff] [blame] | 43 | // Marker | 
|  | 44 | LastTargetFixupKind, | 
|  | 45 | NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind | 
|  | 46 | }; | 
|  | 47 | } | 
|  | 48 | } | 
|  | 49 |  | 
|  | 50 | #endif |