| //===- ARMRelocations.h - ARM Code Relocations ------------------*- C++ -*-===// | |
| // | |
| // The LLVM Compiler Infrastructure | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // This file defines the ARM target-specific relocation types. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef ARMRELOCATIONS_H | |
| #define ARMRELOCATIONS_H | |
| #include "llvm/CodeGen/MachineRelocation.h" | |
| namespace llvm { | |
| namespace ARM { | |
| enum RelocationType { | |
| // reloc_arm_absolute - Absolute relocation, just add the relocated value | |
| // to the value already in memory. | |
| reloc_arm_absolute, | |
| // reloc_arm_relative - PC relative relocation, add the relocated value to | |
| // the value already in memory, after we adjust it for where the PC is. | |
| reloc_arm_relative, | |
| // reloc_arm_cp_entry - PC relative relocation for constpool_entry's whose | |
| // addresses are kept locally in a map. | |
| reloc_arm_cp_entry, | |
| // reloc_arm_vfp_cp_entry - Same as reloc_arm_cp_entry except the offset | |
| // should be divided by 4. | |
| reloc_arm_vfp_cp_entry, | |
| // reloc_arm_machine_cp_entry - Relocation of a ARM machine constantpool | |
| // entry. | |
| reloc_arm_machine_cp_entry, | |
| // reloc_arm_jt_base - PC relative relocation for jump tables whose | |
| // addresses are kept locally in a map. | |
| reloc_arm_jt_base, | |
| // reloc_arm_pic_jt - PIC jump table entry relocation: dest bb - jt base. | |
| reloc_arm_pic_jt, | |
| // reloc_arm_branch - Branch address relocation. | |
| reloc_arm_branch, | |
| // reloc_arm_movt - MOVT immediate relocation. | |
| reloc_arm_movt, | |
| // reloc_arm_movw - MOVW immediate relocation. | |
| reloc_arm_movw | |
| }; | |
| } | |
| } | |
| #endif | |