LLVM 22.0.0git
|
#include "MCTargetDesc/AArch64FixupKinds.h"
#include "MCTargetDesc/AArch64MCAsmInfo.h"
#include "MCTargetDesc/AArch64MCTargetDesc.h"
#include "Utils/AArch64BaseInfo.h"
#include "llvm/BinaryFormat/MachO.h"
#include "llvm/MC/MCAsmBackend.h"
#include "llvm/MC/MCAssembler.h"
#include "llvm/MC/MCContext.h"
#include "llvm/MC/MCELFObjectWriter.h"
#include "llvm/MC/MCObjectWriter.h"
#include "llvm/MC/MCRegisterInfo.h"
#include "llvm/MC/MCSubtargetInfo.h"
#include "llvm/MC/MCTargetOptions.h"
#include "llvm/MC/MCValue.h"
#include "llvm/MC/TargetRegistry.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/TargetParser/Triple.h"
#include "llvm/BinaryFormat/ELFRelocs/AArch64.def"
Go to the source code of this file.
Namespaces | |
namespace | CU |
Macros | |
#define | ELF_RELOC(X, Y) |
Functions | |
static unsigned | getFixupKindNumBytes (unsigned Kind) |
The number of bytes the fixup may change. | |
static unsigned | AdrImmBits (unsigned Value) |
static uint64_t | adjustFixupValue (const MCFixup &Fixup, const MCValue &Target, uint64_t Value, MCContext &Ctx, const Triple &TheTriple, bool IsResolved) |
static bool | shouldForceRelocation (const MCFixup &Fixup) |
|
static |
Definition at line 140 of file AArch64AsmBackend.cpp.
References AdrImmBits(), assert(), Fixup, llvm::AArch64::fixup_aarch64_add_imm12, llvm::AArch64::fixup_aarch64_ldr_pcrel_imm19, llvm::AArch64::fixup_aarch64_ldst_imm12_scale1, llvm::AArch64::fixup_aarch64_ldst_imm12_scale16, llvm::AArch64::fixup_aarch64_ldst_imm12_scale2, llvm::AArch64::fixup_aarch64_ldst_imm12_scale4, llvm::AArch64::fixup_aarch64_ldst_imm12_scale8, llvm::AArch64::fixup_aarch64_movw, llvm::AArch64::fixup_aarch64_pcrel_adr_imm21, llvm::AArch64::fixup_aarch64_pcrel_adrp_imm21, llvm::AArch64::fixup_aarch64_pcrel_branch14, llvm::AArch64::fixup_aarch64_pcrel_branch16, llvm::AArch64::fixup_aarch64_pcrel_branch19, llvm::AArch64::fixup_aarch64_pcrel_branch26, llvm::AArch64::fixup_aarch64_pcrel_branch9, llvm::AArch64::fixup_aarch64_pcrel_call26, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_Data_8, llvm::FK_SecRel_2, llvm::FK_SecRel_4, llvm::AArch64::getAddressFrag(), llvm::AArch64::getSymbolLoc(), llvm::isInt(), llvm::Triple::isOSBinFormatCOFF(), llvm::isUInt(), llvm_unreachable, llvm::AArch64::S_ABS, llvm::AArch64::S_G0, llvm::AArch64::S_G1, llvm::AArch64::S_G2, llvm::AArch64::S_G3, llvm::AArch64::S_NC, and llvm::AArch64::S_SABS.
Referenced by llvm::CSKYAsmBackend::applyFixup(), llvm::LoongArchAsmBackend::applyFixup(), llvm::MipsAsmBackend::applyFixup(), and llvm::RISCVAsmBackend::applyFixup().
Definition at line 134 of file AArch64AsmBackend.cpp.
Referenced by adjustFixupValue().
The number of bytes the fixup may change.
Definition at line 95 of file AArch64AsmBackend.cpp.
References llvm::AArch64::fixup_aarch64_add_imm12, llvm::AArch64::fixup_aarch64_ldr_pcrel_imm19, llvm::AArch64::fixup_aarch64_ldst_imm12_scale1, llvm::AArch64::fixup_aarch64_ldst_imm12_scale16, llvm::AArch64::fixup_aarch64_ldst_imm12_scale2, llvm::AArch64::fixup_aarch64_ldst_imm12_scale4, llvm::AArch64::fixup_aarch64_ldst_imm12_scale8, llvm::AArch64::fixup_aarch64_movw, llvm::AArch64::fixup_aarch64_pcrel_adr_imm21, llvm::AArch64::fixup_aarch64_pcrel_adrp_imm21, llvm::AArch64::fixup_aarch64_pcrel_branch14, llvm::AArch64::fixup_aarch64_pcrel_branch16, llvm::AArch64::fixup_aarch64_pcrel_branch19, llvm::AArch64::fixup_aarch64_pcrel_branch26, llvm::AArch64::fixup_aarch64_pcrel_branch9, llvm::AArch64::fixup_aarch64_pcrel_call26, llvm::FK_Data_1, llvm::FK_Data_2, llvm::FK_Data_4, llvm::FK_Data_8, llvm::FK_SecRel_2, llvm::FK_SecRel_4, and llvm_unreachable.
Referenced by llvm::ARMAsmBackend::applyFixup().
Definition at line 406 of file AArch64AsmBackend.cpp.
References Fixup, and llvm::AArch64::fixup_aarch64_pcrel_adrp_imm21.
Referenced by llvm::MipsAsmBackend::applyFixup().