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 17namespace llvm { 18namespace PPC { 19enum 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 55