1234353Sdim//===-- MipsRelocations.h - Mips Code Relocations ---------------*- C++ -*-===// 2226584Sdim// 3226584Sdim// The LLVM Compiler Infrastructure 4226584Sdim// 5226584Sdim// This file is distributed under the University of Illinois Open Source 6226584Sdim// License. See LICENSE.TXT for details. 7226584Sdim// 8234353Sdim//===----------------------------------------------------------------------===// 9226584Sdim// 10226584Sdim// This file defines the Mips target-specific relocation types 11226584Sdim// (for relocation-model=static). 12226584Sdim// 13234353Sdim//===----------------------------------------------------------------------===// 14226584Sdim 15226584Sdim#ifndef MIPSRELOCATIONS_H_ 16226584Sdim#define MIPSRELOCATIONS_H_ 17226584Sdim 18226584Sdim#include "llvm/CodeGen/MachineRelocation.h" 19226584Sdim 20226584Sdimnamespace llvm { 21226584Sdim namespace Mips{ 22226584Sdim enum RelocationType { 23234353Sdim // reloc_mips_pc16 - pc relative relocation for branches. The lower 18 24226584Sdim // bits of the difference between the branch target and the branch 25226584Sdim // instruction, shifted right by 2. 26234353Sdim reloc_mips_pc16 = 1, 27226584Sdim 28226584Sdim // reloc_mips_hi - upper 16 bits of the address (modified by +1 if the 29226584Sdim // lower 16 bits of the address is negative). 30226584Sdim reloc_mips_hi = 2, 31226584Sdim 32226584Sdim // reloc_mips_lo - lower 16 bits of the address. 33226584Sdim reloc_mips_lo = 3, 34226584Sdim 35226584Sdim // reloc_mips_26 - lower 28 bits of the address, shifted right by 2. 36226584Sdim reloc_mips_26 = 4 37226584Sdim }; 38226584Sdim } 39226584Sdim} 40226584Sdim 41226584Sdim#endif /* MIPSRELOCATIONS_H_ */ 42