[llvm] b478c38 - MCAsmBackend: Replace FKF_IsPCRel with isPCRel()
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Thu Jul 3 00:51:24 PDT 2025
Author: Fangrui Song
Date: 2025-07-03T00:51:20-07:00
New Revision: b478c38c19f9e6ccc7ff2b6ede79a6e27ec20d19
URL: https://github.com/llvm/llvm-project/commit/b478c38c19f9e6ccc7ff2b6ede79a6e27ec20d19
DIFF: https://github.com/llvm/llvm-project/commit/b478c38c19f9e6ccc7ff2b6ede79a6e27ec20d19.diff
LOG: MCAsmBackend: Replace FKF_IsPCRel with isPCRel()
Added:
Modified:
llvm/include/llvm/MC/MCMachObjectWriter.h
llvm/lib/MC/MachObjectWriter.cpp
llvm/lib/MC/WasmObjectWriter.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/MC/MCMachObjectWriter.h b/llvm/include/llvm/MC/MCMachObjectWriter.h
index a6ccdf06eb91d..51e4df59bea40 100644
--- a/llvm/include/llvm/MC/MCMachObjectWriter.h
+++ b/llvm/include/llvm/MC/MCMachObjectWriter.h
@@ -191,8 +191,6 @@ class LLVM_ABI MachObjectWriter final : public MCObjectWriter {
/// \name Utility Methods
/// @{
- bool isFixupKindPCRel(const MCAssembler &Asm, unsigned Kind);
-
std::vector<IndirectSymbolData> &getIndirectSymbols() {
return IndirectSymbols;
}
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp
index eb7cb7d634311..b4b9a17ec79de 100644
--- a/llvm/lib/MC/MachObjectWriter.cpp
+++ b/llvm/lib/MC/MachObjectWriter.cpp
@@ -85,12 +85,6 @@ MachSymbolData::operator<(const MachSymbolData &RHS) const {
return Symbol->getName() < RHS.Symbol->getName();
}
-bool MachObjectWriter::isFixupKindPCRel(const MCAssembler &Asm, unsigned Kind) {
- MCFixupKindInfo FKI = Asm.getBackend().getFixupKindInfo((MCFixupKind)Kind);
-
- return FKI.Flags & MCFixupKindInfo::FKF_IsPCRel;
-}
-
uint64_t
MachObjectWriter::getFragmentAddress(const MCAssembler &Asm,
const MCFragment *Fragment) const {
diff --git a/llvm/lib/MC/WasmObjectWriter.cpp b/llvm/lib/MC/WasmObjectWriter.cpp
index 3b82fb782f888..45aec30954008 100644
--- a/llvm/lib/MC/WasmObjectWriter.cpp
+++ b/llvm/lib/MC/WasmObjectWriter.cpp
@@ -479,8 +479,7 @@ void WasmObjectWriter::recordRelocation(const MCFragment &F,
const MCFixup &Fixup, MCValue Target,
uint64_t &FixedValue) {
// The WebAssembly backend should never generate FKF_IsPCRel fixups
- assert(!(Asm->getBackend().getFixupKindInfo(Fixup.getKind()).Flags &
- MCFixupKindInfo::FKF_IsPCRel));
+ assert(!Fixup.isPCRel());
const auto &FixupSection = cast<MCSectionWasm>(*F.getParent());
uint64_t C = Target.getConstant();
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
index fdf7850e2c01e..61458d7c24be0 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MachObjectWriter.cpp
@@ -147,7 +147,7 @@ static bool canUseLocalRelocation(const MCSectionMachO &Section,
void AArch64MachObjectWriter::recordRelocation(
MachObjectWriter *Writer, MCAssembler &Asm, const MCFragment *Fragment,
const MCFixup &Fixup, MCValue Target, uint64_t &FixedValue) {
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
// See <reloc.h>.
uint32_t FixupOffset = Asm.getFragmentOffset(*Fragment);
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
index f6108ede42701..c0c40ade5810a 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMMachObjectWriter.cpp
@@ -144,7 +144,7 @@ void ARMMachObjectWriter::recordARMScatteredHalfRelocation(
return;
}
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
unsigned Type = MachO::ARM_RELOC_HALF;
// See <reloc.h>.
@@ -251,7 +251,7 @@ void ARMMachObjectWriter::recordARMScatteredRelocation(
return;
}
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
// See <reloc.h>.
const MCSymbol *A = Target.getAddSym();
@@ -358,7 +358,7 @@ void ARMMachObjectWriter::recordRelocation(MachObjectWriter *Writer,
const MCFragment *Fragment,
const MCFixup &Fixup, MCValue Target,
uint64_t &FixedValue) {
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
unsigned Log2Size;
unsigned RelocType = MachO::ARM_RELOC_VANILLA;
if (!getARMFixupKindMachOInfo(Fixup.getKind(), RelocType, Log2Size)) {
diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
index f23581efff427..0fa0c36f5aaaa 100644
--- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
+++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
@@ -794,8 +794,7 @@ bool RISCVAsmBackend::addReloc(const MCFragment &F, const MCFixup &Fixup,
// generate a relocation and then append a RELAX.
if (Fixup.isLinkerRelaxable())
IsResolved = false;
- if (IsResolved &&
- (getFixupKindInfo(Fixup.getKind()).Flags & MCFixupKindInfo::FKF_IsPCRel))
+ if (IsResolved && Fixup.isPCRel())
IsResolved = isPCRelFixupResolved(Target.getAddSym(), F);
if (!IsResolved) {
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
index 1213e1cf91ece..b56d8f2d2eb66 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86AsmBackend.cpp
@@ -705,8 +705,7 @@ void X86AsmBackend::applyFixup(const MCFragment &F, const MCFixup &Fixup,
assert(Fixup.getOffset() + Size <= Data.size() && "Invalid fixup offset!");
int64_t SignedValue = static_cast<int64_t>(Value);
- if (IsResolved &&
- getFixupKindInfo(Fixup.getKind()).Flags & MCFixupKindInfo::FKF_IsPCRel) {
+ if (IsResolved && Fixup.isPCRel()) {
// check that PC relative fixup fits into the fixup size.
if (Size > 0 && !isIntN(Size * 8, SignedValue))
getContext().reportError(Fixup.getLoc(),
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
index 0cdb2a3cd46f7..6bb643b7ace3f 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MachObjectWriter.cpp
@@ -102,7 +102,7 @@ static unsigned getFixupKindLog2Size(unsigned Kind) {
void X86MachObjectWriter::RecordX86_64Relocation(
MachObjectWriter *Writer, MCAssembler &Asm, const MCFragment *Fragment,
const MCFixup &Fixup, MCValue Target, uint64_t &FixedValue) {
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
unsigned IsRIPRel = isFixupKindRIPRel(Fixup.getKind());
unsigned Log2Size = getFixupKindLog2Size(Fixup.getKind());
@@ -353,7 +353,7 @@ bool X86MachObjectWriter::recordScatteredRelocation(MachObjectWriter *Writer,
uint64_t &FixedValue) {
uint64_t OriginalFixedValue = FixedValue;
uint32_t FixupOffset = Asm.getFragmentOffset(*Fragment) + Fixup.getOffset();
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
unsigned Type = MachO::GENERIC_RELOC_VANILLA;
// See <reloc.h>.
@@ -483,7 +483,7 @@ void X86MachObjectWriter::RecordX86Relocation(MachObjectWriter *Writer,
const MCFixup &Fixup,
MCValue Target,
uint64_t &FixedValue) {
- unsigned IsPCRel = Writer->isFixupKindPCRel(Asm, Fixup.getKind());
+ unsigned IsPCRel = Fixup.isPCRel();
unsigned Log2Size = getFixupKindLog2Size(Fixup.getKind());
const MCSymbol *A = Target.getAddSym();
More information about the llvm-commits
mailing list