[llvm] 205dcf7 - PowerPC: Remove redundant MCSymbolRefExpr::VariantKind casts
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 27 00:28:46 PDT 2025
Author: Fangrui Song
Date: 2025-06-27T00:28:41-07:00
New Revision: 205dcf7146ceeb586953300c123656b0ef3768e3
URL: https://github.com/llvm/llvm-project/commit/205dcf7146ceeb586953300c123656b0ef3768e3
DIFF: https://github.com/llvm/llvm-project/commit/205dcf7146ceeb586953300c123656b0ef3768e3.diff
LOG: PowerPC: Remove redundant MCSymbolRefExpr::VariantKind casts
Added:
Modified:
llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
index 9674050caf921..6a4fc64a3f80c 100644
--- a/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
+++ b/llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
@@ -1514,8 +1514,7 @@ bool PPCAsmParser::parseOperand(OperandVector &Operands) {
Tok.getString().compare_insensitive("plt") == 0))
return Error(Tok.getLoc(), "expected 'plt'");
EVal = MCSymbolRefExpr::create(getContext().getOrCreateSymbol(TlsGetAddr),
- MCSymbolRefExpr::VariantKind(PPC::S_PLT),
- getContext());
+ PPC::S_PLT, getContext());
if (parseOptionalToken(AsmToken::Plus)) {
const MCExpr *Addend = nullptr;
SMLoc EndLoc;
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
index 6be1f1c701c0a..fc145f37fae95 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
@@ -329,14 +329,11 @@ PPCMCCodeEmitter::getDispRI34PCRelEncoding(const MCInst &MI, unsigned OpNo,
const MCSymbolRefExpr *SRE = cast<MCSymbolRefExpr>(Expr);
(void)SRE;
// Currently these are the only valid PCRelative Relocations.
- assert((getSpecifier(SRE) == PPC::S_PCREL ||
- getSpecifier(SRE) == PPC::S_GOT_PCREL ||
- getSpecifier(SRE) == PPC::S_GOT_TLSGD_PCREL ||
- getSpecifier(SRE) == PPC::S_GOT_TLSLD_PCREL ||
- getSpecifier(SRE) == PPC::S_GOT_TPREL_PCREL) &&
- "VariantKind must be VK_PCREL or VK_GOT_PCREL or "
- "VK_GOT_TLSGD_PCREL or VK_GOT_TLSLD_PCREL or "
- "VK_GOT_TPREL_PCREL.");
+ assert(is_contained({PPC::S_PCREL, PPC::S_GOT_PCREL, PPC::S_GOT_TLSGD_PCREL,
+ PPC::S_GOT_TLSLD_PCREL, PPC::S_GOT_TPREL_PCREL},
+ SRE->getSpecifier()) &&
+ "specifier must be S_PCREL, S_GOT_PCREL, S_GOT_TLSGD_PCREL, "
+ "S_GOT_TLSLD_PCREL, or S_GOT_TPREL_PCREL");
// Generate the fixup for the relocation.
Fixups.push_back(
MCFixup::create(0, Expr,
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
index cd874e810f78d..54497d9c2fedf 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
@@ -399,10 +399,8 @@ class PPCTargetXCOFFStreamer : public PPCTargetStreamer {
const MCAsmInfo *MAI = Streamer.getContext().getAsmInfo();
const unsigned PointerSize = MAI->getCodePointerSize();
Streamer.emitValueToAlignment(Align(PointerSize));
- Streamer.emitValue(
- MCSymbolRefExpr::create(&S, MCSymbolRefExpr::VariantKind(Kind),
- Streamer.getContext()),
- PointerSize);
+ Streamer.emitValue(MCSymbolRefExpr::create(&S, Kind, Streamer.getContext()),
+ PointerSize);
}
void emitMachine(StringRef CPU) override {
diff --git a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
index 1a3fbe5c3ad63..1521ad5f45024 100644
--- a/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
+++ b/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
@@ -144,12 +144,12 @@ enum {
class PPCAsmPrinter : public AsmPrinter {
protected:
// For TLS on AIX, we need to be able to identify TOC entries of specific
- // VariantKind so we can add the right relocations when we generate the
+ // specifier so we can add the right relocations when we generate the
// entries. So each entry is represented by a pair of MCSymbol and
// VariantKind. For example, we need to be able to identify the following
// entry as a TLSGD entry so we can add the @m relocation:
// .tc .i[TC],i[TL]@m
- // By default, VK_None is used for the VariantKind.
+ // By default, 0 is used for the specifier.
MapVector<std::pair<const MCSymbol *, PPCMCExpr::Specifier>, MCSymbol *> TOC;
const PPCSubtarget *Subtarget = nullptr;
@@ -732,8 +732,7 @@ void PPCAsmPrinter::emitTlsCall(const MachineInstr *MI,
if (Subtarget->is32BitELFABI() && isPositionIndependent())
Kind = PPC::S_PLT;
- const MCExpr *TlsRef = MCSymbolRefExpr::create(
- TlsGetAddr, MCSymbolRefExpr::VariantKind(Kind), OutContext);
+ const MCExpr *TlsRef = MCSymbolRefExpr::create(TlsGetAddr, Kind, OutContext);
// Add 32768 offset to the symbol so we follow up the latest GOT/PLT ABI.
if (Kind == PPC::S_PLT && Subtarget->isSecurePlt() &&
@@ -743,8 +742,7 @@ void PPCAsmPrinter::emitTlsCall(const MachineInstr *MI,
const MachineOperand &MO = MI->getOperand(2);
const GlobalValue *GValue = MO.getGlobal();
MCSymbol *MOSymbol = getSymbol(GValue);
- const MCExpr *SymVar = MCSymbolRefExpr::create(
- MOSymbol, MCSymbolRefExpr::VariantKind(VK), OutContext);
+ const MCExpr *SymVar = MCSymbolRefExpr::create(MOSymbol, VK, OutContext);
EmitToStreamer(*OutStreamer,
MCInstBuilder(Subtarget->isPPC64() ? Opcode
: (unsigned)PPC::BL_TLS)
@@ -801,8 +799,7 @@ getTOCEntryTypeForMO(const MachineOperand &MO) {
const MCExpr *PPCAsmPrinter::symbolWithSpecifier(const MCSymbol *S,
PPCMCExpr::Specifier Spec) {
- return MCSymbolRefExpr::create(S, MCSymbolRefExpr::VariantKind(Spec),
- OutContext);
+ return MCSymbolRefExpr::create(S, Spec, OutContext);
}
/// EmitInstruction -- Print out a single PowerPC MI in Darwin syntax to
@@ -954,8 +951,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
MCSymbol *GOTSymbol =
OutContext.getOrCreateSymbol(StringRef("_GLOBAL_OFFSET_TABLE_"));
const MCExpr *OffsExpr = MCBinaryExpr::createSub(
- MCSymbolRefExpr::create(
- GOTSymbol, MCSymbolRefExpr::VariantKind(PPC::S_LOCAL), OutContext),
+ MCSymbolRefExpr::create(GOTSymbol, PPC::S_LOCAL, OutContext),
MCConstantExpr::create(4, OutContext), OutContext);
// Emit the 'bl'.
@@ -1331,9 +1327,7 @@ void PPCAsmPrinter::emitInstruction(const MachineInstr *MI) {
const MCSymbol *const MOSymbol = getMCSymbolForTOCPseudoMO(MO, *this);
const MCExpr *Exp = MCSymbolRefExpr::create(
- MOSymbol,
- MCSymbolRefExpr::VariantKind(IsAIX ? PPC::S_L : PPC::S_TOC_LO),
- OutContext);
+ MOSymbol, IsAIX ? PPC::S_L : PPC::S_TOC_LO, OutContext);
TmpInst.getOperand(2) = MCOperand::createExpr(Exp);
EmitToStreamer(*OutStreamer, TmpInst);
@@ -1728,8 +1722,7 @@ PPCAsmPrinter::getAdjustedFasterLocalExpr(const MachineOperand &MO,
// assume that the address of extern TLS variables are zero.
const MCExpr *Expr = MCSymbolRefExpr::create(
getSymbol(GValue),
- MCSymbolRefExpr::VariantKind(
- Model == TLSModel::LocalExec ? PPC::S_AIX_TLSLE : PPC::S_AIX_TLSLD),
+ (Model == TLSModel::LocalExec ? PPC::S_AIX_TLSLE : PPC::S_AIX_TLSLD),
OutContext);
Expr = MCBinaryExpr::createAdd(
Expr, MCConstantExpr::create(Offset, OutContext), OutContext);
@@ -2017,9 +2010,7 @@ void PPCLinuxAsmPrinter::emitFunctionEntryLabel() {
MCSymbol *Symbol2 = OutContext.getOrCreateSymbol(StringRef(".TOC."));
// Generates a R_PPC64_TOC relocation for TOC base insertion.
OutStreamer->emitValue(
- MCSymbolRefExpr::create(
- Symbol2, MCSymbolRefExpr::VariantKind(PPC::S_TOCBASE), OutContext),
- 8 /*size*/);
+ MCSymbolRefExpr::create(Symbol2, PPC::S_TOCBASE, OutContext), 8 /*size*/);
// Emit a null environment pointer.
OutStreamer->emitIntValue(0, 8 /* size */);
OutStreamer->switchSection(Current.first, Current.second);
diff --git a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
index 52bc49fa81383..75440a0b779ab 100644
--- a/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
+++ b/llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
@@ -136,8 +136,7 @@ static MCOperand GetSymbolRef(const MachineOperand &MO, const MCSymbol *Symbol,
RefKind = PPC::S_PCREL_OPT;
}
- const MCExpr *Expr = MCSymbolRefExpr::create(
- Symbol, MCSymbolRefExpr::VariantKind(RefKind), Ctx);
+ const MCExpr *Expr = MCSymbolRefExpr::create(Symbol, RefKind, Ctx);
// If -msecure-plt -fPIC, add 32768 to symbol.
if (Subtarget->isSecurePlt() && TM.isPositionIndependent() &&
M->getPICLevel() == PICLevel::BigPIC &&
More information about the llvm-commits
mailing list