blob: 3c04b13e002e05bc52453a17bfa1424e94441ece [file] [log] [blame]
Jia Liub22310f2012-02-18 12:03:15 +00001//===-- X86FixupKinds.h - X86 Specific Fixup Entries ------------*- C++ -*-===//
Daniel Dunbar2610a342010-02-13 09:27:52 +00002//
3// The LLVM Compiler Infrastructure
4//
5// This file is distributed under the University of Illinois Open Source
6// License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9
Benjamin Kramera7c40ef2014-08-13 16:26:38 +000010#ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H
11#define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H
Daniel Dunbar2610a342010-02-13 09:27:52 +000012
13#include "llvm/MC/MCFixup.h"
14
15namespace llvm {
16namespace X86 {
17enum Fixups {
Rafael Espindola8a3a7922010-11-28 14:17:56 +000018 reloc_riprel_4byte = FirstTargetFixupKind, // 32-bit rip-relative
Rafael Espindola70d6e0e2010-09-30 03:11:42 +000019 reloc_riprel_4byte_movq_load, // 32-bit rip-relative in movq
Rafael Espindola52bd3302016-05-28 15:51:38 +000020 reloc_riprel_4byte_relax, // 32-bit rip-relative in relaxable
21 // instruction
22 reloc_riprel_4byte_relax_rex, // 32-bit rip-relative in relaxable
23 // instruction with rex prefix
Rafael Espindola800fd352010-10-24 17:35:42 +000024 reloc_signed_4byte, // 32-bit signed. Unlike FK_Data_4
Rafael Espindola70d6e0e2010-09-30 03:11:42 +000025 // this will be sign extended at
26 // runtime.
Rafael Espindolaa29971f2016-07-06 21:19:11 +000027 reloc_signed_4byte_relax, // like reloc_signed_4byte, but
28 // in a relaxable instruction.
Daniel Dunbar0c9d9fd2010-12-16 03:20:06 +000029 reloc_global_offset_table, // 32-bit, relative to the start
Rafael Espindola800fd352010-10-24 17:35:42 +000030 // of the instruction. Used only
31 // for _GLOBAL_OFFSET_TABLE_.
Rafael Espindola6c76d1d2014-04-21 21:15:45 +000032 reloc_global_offset_table8, // 64-bit variant.
George Rimarda4f43a42018-02-20 10:17:57 +000033 reloc_branch_4byte_pcrel, // 32-bit PC relative branch.
Daniel Dunbar0c9d9fd2010-12-16 03:20:06 +000034 // Marker
35 LastTargetFixupKind,
36 NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
Daniel Dunbar2610a342010-02-13 09:27:52 +000037};
Alexander Kornienkof00654e2015-06-23 09:49:53 +000038}
39}
Daniel Dunbar2610a342010-02-13 09:27:52 +000040
41#endif