2012-02-18 20:03:15 +08:00
|
|
|
//===-- ARMRelocations.h - ARM Code Relocations -----------------*- C++ -*-===//
|
2007-07-06 05:15:40 +08:00
|
|
|
//
|
|
|
|
// The LLVM Compiler Infrastructure
|
|
|
|
//
|
2007-12-30 04:36:04 +08:00
|
|
|
// This file is distributed under the University of Illinois Open Source
|
|
|
|
// License. See LICENSE.TXT for details.
|
2007-07-06 05:15:40 +08: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 07:55:43 +08: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 09:37:15 +08:00
|
|
|
reloc_arm_relative,
|
2007-07-06 05:15:40 +08:00
|
|
|
|
2008-10-30 07:55:43 +08: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 09:02:24 +08: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 08:50:32 +08:00
|
|
|
// reloc_arm_machine_cp_entry - Relocation of a ARM machine constantpool
|
|
|
|
// entry.
|
|
|
|
reloc_arm_machine_cp_entry,
|
|
|
|
|
2008-11-07 17:06:08 +08: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 07:55:43 +08:00
|
|
|
// reloc_arm_branch - Branch address relocation.
|
2010-05-25 16:42:45 +08:00
|
|
|
reloc_arm_branch,
|
|
|
|
|
|
|
|
// reloc_arm_movt - MOVT immediate relocation.
|
|
|
|
reloc_arm_movt,
|
|
|
|
|
|
|
|
// reloc_arm_movw - MOVW immediate relocation.
|
|
|
|
reloc_arm_movw
|
2007-07-06 05:15:40 +08:00
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|
|
|
|
|