LLVM
15.0.0git
lib
Target
X86
MCTargetDesc
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
34
LastTargetFixupKind
,
35
NumTargetFixupKinds
=
LastTargetFixupKind
-
FirstTargetFixupKind
36
};
37
}
38
}
39
40
#endif
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:17
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
Generated on Sat Jul 2 2022 14:44:50 for LLVM by
1.8.17