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