[llvm] 8fa5b6c - MCValue: Replace getAccessVariant with getSpecifier
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 5 23:55:40 PDT 2025
Author: Fangrui Song
Date: 2025-04-05T23:55:35-07:00
New Revision: 8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e
URL: https://github.com/llvm/llvm-project/commit/8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e
DIFF: https://github.com/llvm/llvm-project/commit/8fa5b6cc0293d806e36b90d4116e5925fa5d7f2e.diff
LOG: MCValue: Replace getAccessVariant with getSpecifier
Commit 52eb11f925ddeba4e1b3840fd636ee87387f3ada temporarily introduced
getSymSpecifier to prepare for "MCValue: Replace MCSymbolRefExpr members
with MCSymbol" (d5893fc2a7e1191afdb4940469ec9371a319b114). The
refactoring is now complete.
Added:
Modified:
llvm/include/llvm/MC/MCExpr.h
llvm/include/llvm/MC/MCValue.h
llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
Removed:
################################################################################
diff --git a/llvm/include/llvm/MC/MCExpr.h b/llvm/include/llvm/MC/MCExpr.h
index 6311a134cf5a7..8516f45e07fea 100644
--- a/llvm/include/llvm/MC/MCExpr.h
+++ b/llvm/include/llvm/MC/MCExpr.h
@@ -262,8 +262,8 @@ class MCSymbolRefExpr : public MCExpr {
const MCSymbol &getSymbol() const { return *Symbol; }
// Some targets encode the relocation specifier within SymA using
- // MCSymbolRefExpr::SubclassData and access it via getAccessVariant(), though
- // this method is now deprecated.
+ // MCSymbolRefExpr::SubclassData, which is copied to MCValue::Specifier,
+ // though this method is now deprecated.
VariantKind getKind() const {
return (VariantKind)(getSubclassData() & VariantKindMask);
}
diff --git a/llvm/include/llvm/MC/MCValue.h b/llvm/include/llvm/MC/MCValue.h
index 05cf82a26eab4..67793a1759e60 100644
--- a/llvm/include/llvm/MC/MCValue.h
+++ b/llvm/include/llvm/MC/MCValue.h
@@ -53,10 +53,6 @@ class MCValue {
/// Print the value to stderr.
void dump() const;
- // Get the relocation specifier from SymA. This is a workaround for targets
- // that do not use MCValue::Specifier.
- uint16_t getAccessVariant() const { return Specifier; }
-
static MCValue get(const MCSymbol *SymA, const MCSymbol *SymB = nullptr,
int64_t Val = 0, uint32_t Specifier = 0) {
MCValue R;
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
index c3c4c64cad5b0..37d233ac2446c 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
@@ -137,7 +137,7 @@ unsigned AArch64ELFObjectWriter::getRelocType(MCContext &Ctx,
case FK_Data_2:
return R_CLS(PREL16);
case FK_Data_4: {
- return AArch64MCExpr::Specifier(Target.getAccessVariant()) ==
+ return AArch64MCExpr::Specifier(Target.getSpecifier()) ==
AArch64MCExpr::VK_PLT
? R_CLS(PLT32)
: R_CLS(PREL32);
@@ -249,7 +249,7 @@ unsigned AArch64ELFObjectWriter::getRelocType(MCContext &Ctx,
case FK_Data_2:
return R_CLS(ABS16);
case FK_Data_4:
- return (!IsILP32 && AArch64MCExpr::Specifier(Target.getAccessVariant()) ==
+ return (!IsILP32 && AArch64MCExpr::Specifier(Target.getSpecifier()) ==
AArch64MCExpr::VK_GOTPCREL)
? ELF::R_AARCH64_GOTPCREL32
: R_CLS(ABS32);
@@ -546,7 +546,7 @@ bool AArch64ELFObjectWriter::needsRelocateWithSymbol(const MCValue &Val,
if ((Val.getRefKind() & AArch64MCExpr::VK_GOT) == AArch64MCExpr::VK_GOT)
return true;
return is_contained({AArch64MCExpr::VK_GOTPCREL, AArch64MCExpr::VK_PLT},
- AArch64MCExpr::Specifier(Val.getAccessVariant()));
+ AArch64MCExpr::Specifier(Val.getSpecifier()));
}
std::unique_ptr<MCObjectTargetWriter>
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
index bf27688e3b221..b016e37e91ba8 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFObjectWriter.cpp
@@ -46,7 +46,7 @@ unsigned AMDGPUELFObjectWriter::getRelocType(MCContext &Ctx,
return ELF::R_AMDGPU_ABS32_LO;
}
- switch (AMDGPUMCExpr::Specifier(Target.getAccessVariant())) {
+ switch (AMDGPUMCExpr::Specifier(Target.getSpecifier())) {
default:
break;
case AMDGPUMCExpr::S_GOTPCREL:
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
index 42838bb83781c..e60510b01eeed 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
@@ -82,7 +82,7 @@ unsigned ARMELFObjectWriter::GetRelocTypeInner(const MCValue &Target,
unsigned Kind = Fixup.getTargetKind();
if (Kind >= FirstLiteralRelocationKind)
return Kind - FirstLiteralRelocationKind;
- uint8_t Specifier = Target.getAccessVariant();
+ uint8_t Specifier = Target.getSpecifier();
auto CheckFDPIC = [&](uint32_t Type) {
if (getOSABI() != ELF::ELFOSABI_ARM_FDPIC)
Ctx.reportError(Fixup.getLoc(),
diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp b/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
index 7e50d5c2e4a00..3555a66ae4dd9 100644
--- a/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
+++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
@@ -40,7 +40,7 @@ unsigned AVRELFObjectWriter::getRelocType(MCContext &Ctx, const MCValue &Target,
const unsigned Kind = Fixup.getTargetKind();
if (Kind >= FirstLiteralRelocationKind)
return Kind - FirstLiteralRelocationKind;
- auto Modifier = AVRMCExpr::Specifier(Target.getAccessVariant());
+ auto Modifier = AVRMCExpr::Specifier(Target.getSpecifier());
switch ((unsigned)Fixup.getKind()) {
case FK_Data_1:
switch (Modifier) {
diff --git a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
index af02631d051be..c7ece33777927 100644
--- a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
+++ b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYELFObjectWriter.cpp
@@ -42,7 +42,7 @@ unsigned CSKYELFObjectWriter::getRelocType(MCContext &Ctx,
const MCExpr *Expr = Fixup.getValue();
// Determine the type of the relocation
unsigned Kind = Fixup.getTargetKind();
- uint8_t Modifier = Target.getAccessVariant();
+ uint8_t Modifier = Target.getSpecifier();
switch (Target.getRefKind()) {
case CSKYMCExpr::VK_TLSIE:
diff --git a/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp b/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
index 750cca63c24d9..67ac69214be50 100644
--- a/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
+++ b/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
@@ -1249,7 +1249,7 @@ bool HexagonAsmParser::parseInstruction(OperandVector &Operands) {
MCValue Value;
if (Expr->evaluateAsRelocatable(Value, nullptr)) {
if (!Value.isAbsolute()) {
- switch (HexagonMCExpr::VariantKind(Value.getAccessVariant())) {
+ switch (HexagonMCExpr::VariantKind(Value.getSpecifier())) {
case HexagonMCExpr::VK_TPREL:
case HexagonMCExpr::VK_DTPREL:
// Don't lazy extend these expression variants
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
index 039e4c981890d..b7342d3675417 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonELFObjectWriter.cpp
@@ -42,7 +42,7 @@ unsigned HexagonELFObjectWriter::getRelocType(MCContext &Ctx,
MCValue const &Target,
MCFixup const &Fixup,
bool IsPCRel) const {
- auto Variant = HexagonMCExpr::VariantKind(Target.getAccessVariant());
+ auto Variant = HexagonMCExpr::VariantKind(Target.getSpecifier());
switch (Variant) {
case HexagonMCExpr::VK_GD_GOT:
case HexagonMCExpr::VK_LD_GOT:
diff --git a/llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp b/llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
index 192bc5f4ae602..200d499753718 100644
--- a/llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
+++ b/llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
@@ -65,7 +65,7 @@ unsigned M68kELFObjectWriter::getRelocType(MCContext &Ctx,
const MCValue &Target,
const MCFixup &Fixup,
bool IsPCRel) const {
- auto Specifier = M68kMCExpr::Specifier(Target.getAccessVariant());
+ auto Specifier = M68kMCExpr::Specifier(Target.getSpecifier());
unsigned Kind = Fixup.getKind();
M68kRelType Type = getType(Kind, Specifier, IsPCRel);
switch (Specifier) {
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
index b676015ae9596..729cfd99b7871 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
@@ -158,7 +158,7 @@ unsigned SystemZELFObjectWriter::getRelocType(MCContext &Ctx,
unsigned Kind = Fixup.getKind();
if (Kind >= FirstLiteralRelocationKind)
return Kind - FirstLiteralRelocationKind;
- auto Specifier = SystemZMCExpr::Specifier(Target.getAccessVariant());
+ auto Specifier = SystemZMCExpr::Specifier(Target.getSpecifier());
switch (Specifier) {
case SystemZMCExpr::VK_INDNTPOFF:
case SystemZMCExpr::VK_NTPOFF:
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
index c0cf92300c380..66e84d08c97e5 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86ELFObjectWriter.cpp
@@ -340,7 +340,7 @@ unsigned X86ELFObjectWriter::getRelocType(MCContext &Ctx, const MCValue &Target,
MCFixupKind Kind = Fixup.getKind();
if (Kind >= FirstLiteralRelocationKind)
return Kind - FirstLiteralRelocationKind;
- auto Specifier = X86MCExpr::Specifier(Target.getAccessVariant());
+ auto Specifier = X86MCExpr::Specifier(Target.getSpecifier());
switch (Specifier) {
case X86MCExpr::VK_GOTTPOFF:
case X86MCExpr::VK_INDNTPOFF:
More information about the llvm-commits
mailing list