1234353Sdim//===-- ARMRelocations.h - ARM Code Relocations -----------------*- C++ -*-===// 2193323Sed// 3193323Sed// The LLVM Compiler Infrastructure 4193323Sed// 5193323Sed// This file is distributed under the University of Illinois Open Source 6193323Sed// License. See LICENSE.TXT for details. 7193323Sed// 8193323Sed//===----------------------------------------------------------------------===// 9193323Sed// 10193323Sed// This file defines the ARM target-specific relocation types. 11193323Sed// 12193323Sed//===----------------------------------------------------------------------===// 13193323Sed 14193323Sed#ifndef ARMRELOCATIONS_H 15193323Sed#define ARMRELOCATIONS_H 16193323Sed 17193323Sed#include "llvm/CodeGen/MachineRelocation.h" 18193323Sed 19193323Sednamespace llvm { 20193323Sed namespace ARM { 21193323Sed enum RelocationType { 22193323Sed // reloc_arm_absolute - Absolute relocation, just add the relocated value 23193323Sed // to the value already in memory. 24193323Sed reloc_arm_absolute, 25193323Sed 26193323Sed // reloc_arm_relative - PC relative relocation, add the relocated value to 27193323Sed // the value already in memory, after we adjust it for where the PC is. 28193323Sed reloc_arm_relative, 29193323Sed 30193323Sed // reloc_arm_cp_entry - PC relative relocation for constpool_entry's whose 31193323Sed // addresses are kept locally in a map. 32193323Sed reloc_arm_cp_entry, 33193323Sed 34193323Sed // reloc_arm_vfp_cp_entry - Same as reloc_arm_cp_entry except the offset 35193323Sed // should be divided by 4. 36193323Sed reloc_arm_vfp_cp_entry, 37193323Sed 38193323Sed // reloc_arm_machine_cp_entry - Relocation of a ARM machine constantpool 39193323Sed // entry. 40193323Sed reloc_arm_machine_cp_entry, 41193323Sed 42193323Sed // reloc_arm_jt_base - PC relative relocation for jump tables whose 43193323Sed // addresses are kept locally in a map. 44193323Sed reloc_arm_jt_base, 45193323Sed 46193323Sed // reloc_arm_pic_jt - PIC jump table entry relocation: dest bb - jt base. 47193323Sed reloc_arm_pic_jt, 48193323Sed 49193323Sed // reloc_arm_branch - Branch address relocation. 50208599Srdivacky reloc_arm_branch, 51208599Srdivacky 52208599Srdivacky // reloc_arm_movt - MOVT immediate relocation. 53208599Srdivacky reloc_arm_movt, 54208599Srdivacky 55208599Srdivacky // reloc_arm_movw - MOVW immediate relocation. 56208599Srdivacky reloc_arm_movw 57193323Sed }; 58193323Sed } 59193323Sed} 60193323Sed 61193323Sed#endif 62193323Sed 63