LLVM  14.0.0git
X86FixupKinds.h
Go to the documentation of this file.
1 //===-- X86FixupKinds.h - X86 Specific Fixup Entries ------------*- C++ -*-===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
8 
9 #ifndef LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H
10 #define LLVM_LIB_TARGET_X86_MCTARGETDESC_X86FIXUPKINDS_H
11 
12 #include "llvm/MC/MCFixup.h"
13 
14 namespace llvm {
15 namespace X86 {
16 enum Fixups {
17  reloc_riprel_4byte = FirstTargetFixupKind, // 32-bit rip-relative
18  reloc_riprel_4byte_movq_load, // 32-bit rip-relative in movq
19  reloc_riprel_4byte_relax, // 32-bit rip-relative in relaxable
20  // instruction
21  reloc_riprel_4byte_relax_rex, // 32-bit rip-relative in relaxable
22  // instruction with rex prefix
23  reloc_signed_4byte, // 32-bit signed. Unlike FK_Data_4
24  // this will be sign extended at
25  // runtime.
26  reloc_signed_4byte_relax, // like reloc_signed_4byte, but
27  // in a relaxable instruction.
28  reloc_global_offset_table, // 32-bit, relative to the start
29  // of the instruction. Used only
30  // for _GLOBAL_OFFSET_TABLE_.
31  reloc_global_offset_table8, // 64-bit variant.
32  reloc_branch_4byte_pcrel, // 32-bit PC relative branch.
33  // Marker
36 };
37 }
38 }
39 
40 #endif
llvm
This file implements support for optimizing divisions by a constant.
Definition: AllocatorList.h:23
llvm::FirstTargetFixupKind
@ FirstTargetFixupKind
Definition: MCFixup.h:45
llvm::X86::reloc_riprel_4byte
@ reloc_riprel_4byte
Definition: X86FixupKinds.h:17
llvm::X86::reloc_signed_4byte_relax
@ reloc_signed_4byte_relax
Definition: X86FixupKinds.h:26
llvm::X86::reloc_signed_4byte
@ reloc_signed_4byte
Definition: X86FixupKinds.h:23
llvm::X86::NumTargetFixupKinds
@ NumTargetFixupKinds
Definition: X86FixupKinds.h:35
llvm::X86::Fixups
Fixups
Definition: X86FixupKinds.h:16
llvm::X86::reloc_global_offset_table
@ reloc_global_offset_table
Definition: X86FixupKinds.h:28
MCFixup.h
llvm::X86::reloc_global_offset_table8
@ reloc_global_offset_table8
Definition: X86FixupKinds.h:31
llvm::X86::reloc_riprel_4byte_relax
@ reloc_riprel_4byte_relax
Definition: X86FixupKinds.h:19
llvm::X86::reloc_riprel_4byte_movq_load
@ reloc_riprel_4byte_movq_load
Definition: X86FixupKinds.h:18
llvm::X86::LastTargetFixupKind
@ LastTargetFixupKind
Definition: X86FixupKinds.h:34
llvm::X86::reloc_riprel_4byte_relax_rex
@ reloc_riprel_4byte_relax_rex
Definition: X86FixupKinds.h:21
X86
Unrolling by would eliminate the &in both leading to a net reduction in code size The resultant code would then also be suitable for exit value computation We miss a bunch of rotate opportunities on various including etc On X86
Definition: README.txt:568
llvm::X86::reloc_branch_4byte_pcrel
@ reloc_branch_4byte_pcrel
Definition: X86FixupKinds.h:32