[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