[llvm] a5d48db - Sparc: Remove specifiers for GOTDATA_OP
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sun May 4 21:59:00 PDT 2025
Author: Fangrui Song
Date: 2025-05-04T21:58:55-07:00
New Revision: a5d48db1bebc74c256a0e6a9adf98389b1f4d7a2
URL: https://github.com/llvm/llvm-project/commit/a5d48db1bebc74c256a0e6a9adf98389b1f4d7a2
DIFF: https://github.com/llvm/llvm-project/commit/a5d48db1bebc74c256a0e6a9adf98389b1f4d7a2.diff
LOG: Sparc: Remove specifiers for GOTDATA_OP
Added:
Modified:
llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Removed:
################################################################################
diff --git a/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp b/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
index 3b81cce6582eb..6b36adacdcc49 100644
--- a/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
+++ b/llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
@@ -1119,7 +1119,7 @@ ParseStatus SparcAsmParser::parseTailRelocSym(OperandVector &Operands) {
case TailRelocKind::Load_GOT:
// Non-TLS relocations on ld (or ldx).
// ld [%rr + %rr], %rr, %rel(sym)
- return VK == SparcMCExpr::VK_GOTDATA_OP;
+ return VK == ELF::R_SPARC_GOTDATA_OP;
case TailRelocKind::Add_TLS:
// TLS relocations on add.
// add %rr, %rr, %rr, %rel(sym)
@@ -1700,12 +1700,12 @@ bool SparcAsmParser::matchSparcAsmModifiers(const MCExpr *&EVal,
StringRef name = Tok.getString();
SparcMCExpr::Specifier VK = SparcMCExpr::parseSpecifier(name);
- switch (VK) {
+ switch (uint16_t(VK)) {
case SparcMCExpr::VK_None:
Error(getLoc(), "invalid relocation specifier");
return false;
- case SparcMCExpr::VK_GOTDATA_OP:
+ case ELF::R_SPARC_GOTDATA_OP:
case SparcMCExpr::VK_TLS_GD_ADD:
case SparcMCExpr::VK_TLS_GD_CALL:
case SparcMCExpr::VK_TLS_IE_ADD:
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
index 6c83a8c31b41f..3a9629cfc6f48 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
@@ -77,9 +77,9 @@ StringRef SparcMCExpr::getSpecifierName(SparcMCExpr::Specifier S) {
case VK_TLS_LE_LOX10: return "tle_lox10";
case VK_HIX22: return "hix";
case VK_LOX10: return "lox";
- case VK_GOTDATA_OP_HIX22: return "gdop_hix22";
- case VK_GOTDATA_OP_LOX10: return "gdop_lox10";
- case VK_GOTDATA_OP: return "gdop";
+ case ELF::R_SPARC_GOTDATA_OP_HIX22: return "gdop_hix22";
+ case ELF::R_SPARC_GOTDATA_OP_LOX10: return "gdop_lox10";
+ case ELF::R_SPARC_GOTDATA_OP: return "gdop";
}
// clang-format on
llvm_unreachable("Unhandled SparcMCExpr::Specifier");
@@ -123,9 +123,9 @@ SparcMCExpr::Specifier SparcMCExpr::parseSpecifier(StringRef name) {
.Case("tle_lox10", VK_TLS_LE_LOX10)
.Case("hix", VK_HIX22)
.Case("lox", VK_LOX10)
- .Case("gdop_hix22", VK_GOTDATA_OP_HIX22)
- .Case("gdop_lox10", VK_GOTDATA_OP_LOX10)
- .Case("gdop", VK_GOTDATA_OP)
+ .Case("gdop_hix22", (SparcMCExpr::Specifier)ELF::R_SPARC_GOTDATA_OP_HIX22)
+ .Case("gdop_lox10", (SparcMCExpr::Specifier)ELF::R_SPARC_GOTDATA_OP_LOX10)
+ .Case("gdop", (SparcMCExpr::Specifier)ELF::R_SPARC_GOTDATA_OP)
.Default(VK_None);
}
@@ -160,9 +160,6 @@ uint16_t SparcMCExpr::getFixupKind() const {
case VK_TLS_LE_LOX10: return ELF::R_SPARC_TLS_LE_LOX10;
case VK_HIX22: return Sparc::fixup_sparc_hix22;
case VK_LOX10: return Sparc::fixup_sparc_lox10;
- case VK_GOTDATA_OP_HIX22: return ELF::R_SPARC_GOTDATA_OP_HIX22;
- case VK_GOTDATA_OP_LOX10: return ELF::R_SPARC_GOTDATA_OP_LOX10;
- case VK_GOTDATA_OP: return ELF::R_SPARC_GOTDATA_OP;
}
// clang-format on
}
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
index 1044aa5adb6dc..f4ab87905ae2b 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
@@ -50,9 +50,6 @@ class SparcMCExpr : public MCTargetExpr {
VK_TLS_LE_LOX10,
VK_HIX22,
VK_LOX10,
- VK_GOTDATA_OP_HIX22,
- VK_GOTDATA_OP_LOX10,
- VK_GOTDATA_OP,
};
private:
More information about the llvm-commits
mailing list