ARMRelocations.h revision 208954
156171Sru//===- ARMRelocations.h - ARM Code Relocations ------------------*- C++ -*-===//
256171Sru//
356171Sru//                     The LLVM Compiler Infrastructure
4146523Sru//
556171Sru// This file is distributed under the University of Illinois Open Source
656171Sru// License. See LICENSE.TXT for details.
756171Sru//
856171Sru//===----------------------------------------------------------------------===//
956171Sru//
10146523Sru// This file defines the ARM target-specific relocation types.
1156171Sru//
1256171Sru//===----------------------------------------------------------------------===//
1356171Sru
14146523Sru#ifndef ARMRELOCATIONS_H
1556171Sru#define ARMRELOCATIONS_H
1656171Sru
17146523Sru#include "llvm/CodeGen/MachineRelocation.h"
1856171Sru
1956171Srunamespace llvm {
2056171Sru  namespace ARM {
2156171Sru    enum RelocationType {
2256171Sru      // reloc_arm_absolute - Absolute relocation, just add the relocated value
23146523Sru      // to the value already in memory.
24146523Sru      reloc_arm_absolute,
2556171Sru
2656171Sru      // reloc_arm_relative - PC relative relocation, add the relocated value to
2756171Sru      // the value already in memory, after we adjust it for where the PC is.
2856171Sru      reloc_arm_relative,
2956171Sru
3056171Sru      // reloc_arm_cp_entry - PC relative relocation for constpool_entry's whose
3156171Sru      // addresses are kept locally in a map.
3256171Sru      reloc_arm_cp_entry,
3356171Sru
3456171Sru      // reloc_arm_vfp_cp_entry - Same as reloc_arm_cp_entry except the offset
3556171Sru      // should be divided by 4.
3656171Sru      reloc_arm_vfp_cp_entry,
3756171Sru
38146523Sru      // reloc_arm_machine_cp_entry - Relocation of a ARM machine constantpool
39160167Scperciva      // entry.
40160167Scperciva      reloc_arm_machine_cp_entry,
41160167Scperciva
42160167Scperciva      // reloc_arm_jt_base - PC relative relocation for jump tables whose
43      // addresses are kept locally in a map.
44      reloc_arm_jt_base,
45
46      // reloc_arm_pic_jt - PIC jump table entry relocation: dest bb - jt base.
47      reloc_arm_pic_jt,
48
49      // reloc_arm_branch - Branch address relocation.
50      reloc_arm_branch,
51
52      // reloc_arm_movt  - MOVT immediate relocation.
53      reloc_arm_movt,
54
55      // reloc_arm_movw  - MOVW immediate relocation.
56      reloc_arm_movw
57    };
58  }
59}
60
61#endif
62
63