Home | History | Annotate | Download | only in Sparc
      1 //===-- SparcRelocations.h - Sparc Code Relocations -------------*- 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 // This file defines the Sparc target-specific relocation types
     11 // (for relocation-model=static).
     12 //
     13 //===----------------------------------------------------------------------===//
     14 
     15 #ifndef SPARC_RELOCATIONS_H
     16 #define SPARC_RELOCATIONS_H
     17 
     18 #include "llvm/CodeGen/MachineRelocation.h"
     19 
     20 namespace llvm {
     21   namespace SP {
     22     enum RelocationType {
     23       // reloc_sparc_hi - upper 22 bits
     24       reloc_sparc_hi = 1,
     25 
     26       // reloc_sparc_lo - lower 10 bits
     27       reloc_sparc_lo = 2,
     28 
     29       // reloc_sparc_pc30 - pc rel. 30 bits for call
     30       reloc_sparc_pc30 = 3,
     31 
     32      // reloc_sparc_pc22 - pc rel. 22 bits for branch
     33       reloc_sparc_pc22 = 4,
     34 
     35       // reloc_sparc_pc22 - pc rel. 19 bits for branch with icc/xcc
     36       reloc_sparc_pc19 = 5,
     37 
     38       // reloc_sparc_h44 - 43-22 bits
     39       reloc_sparc_h44 = 6,
     40 
     41       // reloc_sparc_m44 - 21-12 bits
     42       reloc_sparc_m44 = 7,
     43 
     44       // reloc_sparc_l44 - lower 12 bits
     45       reloc_sparc_l44 = 8,
     46 
     47       // reloc_sparc_hh - 63-42 bits
     48       reloc_sparc_hh  = 9,
     49 
     50       // reloc_sparc_hm - 41-32 bits
     51       reloc_sparc_hm  = 10
     52     };
     53   }
     54 }
     55 
     56 #endif
     57