2012-02-18 13:03:15 +01:00
|
|
|
//===-- ARMRelocations.h - ARM Code Relocations -----------------*- C++ -*-===//
|
2007-07-05 23:15:40 +02:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
2007-12-29 21:36:04 +01:00
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
2007-07-05 23:15:40 +02:00
|
|
|
//
|
|
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
//
|
|
|
|
// 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 {
|
2008-10-30 00:55:43 +01:00
|
|
|
// 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.
|
2007-08-07 03:37:15 +02:00
|
|
|
reloc_arm_relative,
|
2007-07-05 23:15:40 +02:00
|
|
|
|
2008-10-30 00:55:43 +01:00
|
|
|
// reloc_arm_cp_entry - PC relative relocation for constpool_entry's whose
|
|
|
|
// addresses are kept locally in a map.
|
|
|
|
reloc_arm_cp_entry,
|
|
|
|
|
2008-11-12 02:02:24 +01:00
|
|
|
// reloc_arm_vfp_cp_entry - Same as reloc_arm_cp_entry except the offset
|
|
|
|
// should be divided by 4.
|
|
|
|
reloc_arm_vfp_cp_entry,
|
|
|
|
|
2008-11-04 01:50:32 +01:00
|
|
|
// reloc_arm_machine_cp_entry - Relocation of a ARM machine constantpool
|
|
|
|
// entry.
|
|
|
|
reloc_arm_machine_cp_entry,
|
|
|
|
|
2008-11-07 10:06:08 +01:00
|
|
|
// 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,
|
|
|
|
|
2008-10-30 00:55:43 +01:00
|
|
|
// reloc_arm_branch - Branch address relocation.
|
2010-05-25 10:42:45 +02:00
|
|
|
reloc_arm_branch,
|
|
|
|
|
|
|
|
// reloc_arm_movt - MOVT immediate relocation.
|
|
|
|
reloc_arm_movt,
|
|
|
|
|
|
|
|
// reloc_arm_movw - MOVW immediate relocation.
|
|
|
|
reloc_arm_movw
|
2007-07-05 23:15:40 +02:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|