LLVM
22.0.0git
lib
Target
LoongArch
MCTargetDesc
LoongArchFixupKinds.h
Go to the documentation of this file.
1
//===- LoongArchFixupKinds.h - LoongArch 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_LOONGARCH_MCTARGETDESC_LOONGARCHFIXUPKINDS_H
10
#define LLVM_LIB_TARGET_LOONGARCH_MCTARGETDESC_LOONGARCHFIXUPKINDS_H
11
12
#include "
llvm/MC/MCFixup.h
"
13
14
namespace
llvm
{
15
namespace
LoongArch {
16
//
17
// This table *must* be in the same order of
18
// MCFixupKindInfo Infos[LoongArch::NumTargetFixupKinds] in
19
// LoongArchAsmBackend.cpp.
20
//
21
enum
Fixups
{
22
// Define fixups can be handled by LoongArchAsmBackend::applyFixup.
23
// 16-bit fixup corresponding to %b16(foo) for instructions like bne.
24
fixup_loongarch_b16
=
FirstTargetFixupKind
,
25
// 21-bit fixup corresponding to %b21(foo) for instructions like bnez.
26
fixup_loongarch_b21
,
27
// 26-bit fixup corresponding to %b26(foo)/%plt(foo) for instructions b/bl.
28
fixup_loongarch_b26
,
29
// 20-bit fixup corresponding to %abs_hi20(foo) for instruction lu12i.w.
30
fixup_loongarch_abs_hi20
,
31
// 12-bit fixup corresponding to %abs_lo12(foo) for instruction ori.
32
fixup_loongarch_abs_lo12
,
33
// 20-bit fixup corresponding to %abs64_lo20(foo) for instruction lu32i.d.
34
fixup_loongarch_abs64_lo20
,
35
// 12-bit fixup corresponding to %abs_hi12(foo) for instruction lu52i.d.
36
fixup_loongarch_abs64_hi12
,
37
38
// Used as a sentinel, must be the last of the fixup which can be handled by
39
// LoongArchAsmBackend::applyFixup.
40
fixup_loongarch_invalid
,
41
NumTargetFixupKinds
=
fixup_loongarch_invalid
-
FirstTargetFixupKind
,
42
};
43
}
// end namespace LoongArch
44
}
// end namespace llvm
45
46
#endif
MCFixup.h
llvm::LoongArch::Fixups
Fixups
Definition:
LoongArchFixupKinds.h:21
llvm::LoongArch::fixup_loongarch_abs64_hi12
@ fixup_loongarch_abs64_hi12
Definition:
LoongArchFixupKinds.h:36
llvm::LoongArch::fixup_loongarch_abs_hi20
@ fixup_loongarch_abs_hi20
Definition:
LoongArchFixupKinds.h:30
llvm::LoongArch::fixup_loongarch_abs_lo12
@ fixup_loongarch_abs_lo12
Definition:
LoongArchFixupKinds.h:32
llvm::LoongArch::fixup_loongarch_b26
@ fixup_loongarch_b26
Definition:
LoongArchFixupKinds.h:28
llvm::LoongArch::fixup_loongarch_invalid
@ fixup_loongarch_invalid
Definition:
LoongArchFixupKinds.h:40
llvm::LoongArch::fixup_loongarch_b16
@ fixup_loongarch_b16
Definition:
LoongArchFixupKinds.h:24
llvm::LoongArch::fixup_loongarch_abs64_lo20
@ fixup_loongarch_abs64_lo20
Definition:
LoongArchFixupKinds.h:34
llvm::LoongArch::fixup_loongarch_b21
@ fixup_loongarch_b21
Definition:
LoongArchFixupKinds.h:26
llvm::LoongArch::NumTargetFixupKinds
@ NumTargetFixupKinds
Definition:
LoongArchFixupKinds.h:41
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition:
AddressRanges.h:18
llvm::FirstTargetFixupKind
@ FirstTargetFixupKind
Definition:
MCFixup.h:44
Generated on Sat Aug 30 2025 10:34:55 for LLVM by
1.9.6