• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //===-- X86FixupKinds.h - X86 Specific Fixup Entries ------------*- C++ -*-===//
2 //
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 
10 #ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H
11 #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H
12 
13 #include "llvm/MC/MCFixup.h"
14 
15 namespace llvm {
16 namespace X86 {
17 enum Fixups {
18   reloc_riprel_4byte = FirstTargetFixupKind, // 32-bit rip-relative
19   reloc_riprel_4byte_movq_load,              // 32-bit rip-relative in movq
20   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
24   reloc_signed_4byte,                        // 32-bit signed. Unlike FK_Data_4
25                                              // this will be sign extended at
26                                              // runtime.
27   reloc_signed_4byte_relax,                  // like reloc_signed_4byte, but
28                                              // in a relaxable instruction.
29   reloc_global_offset_table,                 // 32-bit, relative to the start
30                                              // of the instruction. Used only
31                                              // for _GLOBAL_OFFSET_TABLE_.
32   reloc_global_offset_table8,                // 64-bit variant.
33   // Marker
34   LastTargetFixupKind,
35   NumTargetFixupKinds = LastTargetFixupKind - FirstTargetFixupKind
36 };
37 }
38 }
39 
40 #endif
41