Home | History | Annotate | Download | only in MCTargetDesc
      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_lo14 - A 14-bit fixup corresponding to lo16(_foo) for instrs
     37   /// like 'std'.
     38   fixup_ppc_lo14,
     39 
     40   /// fixup_ppc_toc - Insert value of TOC base (.TOC.).
     41   fixup_ppc_toc,
     42 
     43   /// fixup_ppc_toc16 - A 16-bit signed fixup relative to the TOC base.
     44   fixup_ppc_toc16,
     45 
     46   /// fixup_ppc_toc16_ds - A 14-bit signed fixup relative to the TOC base with
     47   /// implied 2 zero bits
     48   fixup_ppc_toc16_ds,
     49 
     50   /// fixup_ppc_tlsreg - Insert thread-pointer register number.
     51   fixup_ppc_tlsreg,
     52 
     53   /// fixup_ppc_nofixup - Not a true fixup, but ties a symbol to a call
     54   /// to __tls_get_addr for the TLS general and local dynamic models.
     55   fixup_ppc_nofixup,
     56 
     57   // Marker
     58   LastTargetFixupKind,
     59   NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
     60 };
     61 }
     62 }
     63 
     64 #endif
     65