Home | History | Annotate | Download | only in Mips
      1 //===- MipsRelocations.h - Mips 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 Mips target-specific relocation types
     11 // (for relocation-model=static).
     12 //
     13 //===---------------------------------------------------------------------===//
     14 
     15 #ifndef MIPSRELOCATIONS_H_
     16 #define MIPSRELOCATIONS_H_
     17 
     18 #include "llvm/CodeGen/MachineRelocation.h"
     19 
     20 namespace llvm {
     21   namespace Mips{
     22     enum RelocationType {
     23       // reloc_mips_branch - pc relative relocation for branches. The lower 18
     24       // bits of the difference between the branch target and the branch
     25       // instruction, shifted right by 2.
     26       reloc_mips_branch = 1,
     27 
     28       // reloc_mips_hi - upper 16 bits of the address (modified by +1 if the
     29       // lower 16 bits of the address is negative).
     30       reloc_mips_hi = 2,
     31 
     32       // reloc_mips_lo - lower 16 bits of the address.
     33       reloc_mips_lo = 3,
     34 
     35       // reloc_mips_26 - lower 28 bits of the address, shifted right by 2.
     36       reloc_mips_26 = 4
     37     };
     38   }
     39 }
     40 
     41 #endif /* MIPSRELOCATIONS_H_ */
     42