[llvm] 7722d75 - [MC] evaluateAsRelocatableImpl: remove the Fixup argument
Fangrui Song via llvm-commits
llvm-commits at lists.llvm.org
Sat Mar 15 16:10:25 PDT 2025
Author: Fangrui Song
Date: 2025-03-15T16:10:19-07:00
New Revision: 7722d7519ca2679e105e2db68c889b3727938c8d
URL: https://github.com/llvm/llvm-project/commit/7722d7519ca2679e105e2db68c889b3727938c8d
DIFF: https://github.com/llvm/llvm-project/commit/7722d7519ca2679e105e2db68c889b3727938c8d.diff
LOG: [MC] evaluateAsRelocatableImpl: remove the Fixup argument
Follow-up to d6fbffa23c84e622735b3e880fd800985c1c0072 . This commit
updates all call sites and removes the argument from the function.
Added:
Modified:
llvm/include/llvm/MC/MCExpr.h
llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
llvm/lib/MC/MCAssembler.cpp
llvm/lib/MC/MCExpr.cpp
llvm/lib/MC/MCMachOStreamer.cpp
llvm/lib/MC/MCObjectStreamer.cpp
llvm/lib/MC/MCParser/AsmParser.cpp
llvm/lib/MC/MCWinCOFFStreamer.cpp
llvm/lib/MC/MachObjectWriter.cpp
llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp
llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
llvm/lib/Target/NVPTX/NVPTXMCExpr.h
llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
Removed:
################################################################################
diff --git a/llvm/include/llvm/MC/MCExpr.h b/llvm/include/llvm/MC/MCExpr.h
index f6ec0ab52877e..bc300ecdc6ee5 100644
--- a/llvm/include/llvm/MC/MCExpr.h
+++ b/llvm/include/llvm/MC/MCExpr.h
@@ -113,10 +113,8 @@ class MCExpr {
///
/// \param Res - The relocatable value, if evaluation succeeds.
/// \param Asm - The assembler object to use for evaluating values.
- /// \param Fixup - The Fixup object if available.
/// \return - True on success.
- bool evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const;
+ bool evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm) const;
/// Try to evaluate the expression to the form (a - b + constant) where
/// neither a nor b are variables.
@@ -557,8 +555,8 @@ class MCTargetExpr : public MCExpr {
public:
virtual void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const = 0;
- virtual bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const = 0;
+ virtual bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const = 0;
// allow Target Expressions to be checked for equality
virtual bool isEqualTo(const MCExpr *x) const { return false; }
virtual bool isSymbolUsedInExpression(const MCSymbol *Sym) const {
diff --git a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
index 6d99cb3a516cc..2e63cd9b4481c 100644
--- a/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
+++ b/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
@@ -3862,7 +3862,7 @@ static void handleIndirectSymViaGOTPCRel(AsmPrinter &AP, const MCExpr **ME,
// cstexpr := <gotequiv> - <foo> + gotpcrelcst, where
// gotpcrelcst := <offset from @foo base> + <cst>
MCValue MV;
- if (!(*ME)->evaluateAsRelocatable(MV, nullptr, nullptr) || MV.isAbsolute())
+ if (!(*ME)->evaluateAsRelocatable(MV, nullptr) || MV.isAbsolute())
return;
const MCSymbolRefExpr *SymA = MV.getSymA();
if (!SymA)
diff --git a/llvm/lib/MC/MCAssembler.cpp b/llvm/lib/MC/MCAssembler.cpp
index 3e5e0151d265e..70921f9054d74 100644
--- a/llvm/lib/MC/MCAssembler.cpp
+++ b/llvm/lib/MC/MCAssembler.cpp
@@ -119,7 +119,7 @@ bool MCAssembler::isThumbFunc(const MCSymbol *Symbol) const {
const MCExpr *Expr = Symbol->getVariableValue();
MCValue V;
- if (!Expr->evaluateAsRelocatable(V, nullptr, nullptr))
+ if (!Expr->evaluateAsRelocatable(V, nullptr))
return false;
if (V.getSymB() || V.getRefKind() != MCSymbolRefExpr::VK_None)
@@ -155,7 +155,7 @@ bool MCAssembler::evaluateFixup(const MCFixup &Fixup, const MCFragment *DF,
MCContext &Ctx = getContext();
Value = 0;
WasForced = false;
- if (!Expr->evaluateAsRelocatable(Target, this, &Fixup)) {
+ if (!Expr->evaluateAsRelocatable(Target, this)) {
Ctx.reportError(Fixup.getLoc(), "expected relocatable expression");
return true;
}
diff --git a/llvm/lib/MC/MCExpr.cpp b/llvm/lib/MC/MCExpr.cpp
index 999b968e70100..8ac996f7e0458 100644
--- a/llvm/lib/MC/MCExpr.cpp
+++ b/llvm/lib/MC/MCExpr.cpp
@@ -286,8 +286,8 @@ bool MCExpr::evaluateAsAbsolute(int64_t &Res, const MCAssembler *Asm,
}
bool IsRelocatable = evaluateAsRelocatableImpl(Value, Asm, Addrs, InSet);
- Res = Value.getConstant();
- // Value with RefKind (e.g. %hi(0xdeadbeef) in MIPS) is not considered
+ Res = Value.getConstant(); // Value with RefKind (e.g. %hi(0xdeadbeef) in
+ // MIPS) is not considered
// absolute (the value is unknown at parse time), even if it might be resolved
// by evaluateFixup.
return IsRelocatable && Value.isAbsolute() && Value.getRefKind() == 0;
@@ -493,15 +493,12 @@ static bool evaluateSymbolicAdd(const MCAssembler *Asm,
return true;
}
-bool MCExpr::evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+bool MCExpr::evaluateAsRelocatable(MCValue &Res, const MCAssembler *Asm) const {
return evaluateAsRelocatableImpl(Res, Asm, nullptr, false);
}
-
bool MCExpr::evaluateAsValue(MCValue &Res, const MCAssembler &Asm) const {
return evaluateAsRelocatableImpl(Res, &Asm, nullptr, true);
}
-
static bool canExpand(const MCSymbol &Sym, bool InSet) {
if (Sym.isWeakExternal())
return false;
@@ -524,9 +521,7 @@ bool MCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
++stats::MCExprEvaluate;
switch (getKind()) {
case Target:
- return cast<MCTargetExpr>(this)->evaluateAsRelocatableImpl(Res, Asm,
- nullptr);
-
+ return cast<MCTargetExpr>(this)->evaluateAsRelocatableImpl(Res, Asm);
case Constant:
Res = MCValue::get(cast<MCConstantExpr>(this)->getValue());
return true;
@@ -589,7 +584,6 @@ bool MCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
if (!AUE->getSubExpr()->evaluateAsRelocatableImpl(Value, Asm, Addrs, InSet))
return false;
-
switch (AUE->getOpcode()) {
case MCUnaryExpr::LNot:
if (!Value.isAbsolute())
diff --git a/llvm/lib/MC/MCMachOStreamer.cpp b/llvm/lib/MC/MCMachOStreamer.cpp
index 25352a0e1d5c9..f370138bc16bd 100644
--- a/llvm/lib/MC/MCMachOStreamer.cpp
+++ b/llvm/lib/MC/MCMachOStreamer.cpp
@@ -181,7 +181,7 @@ void MCMachOStreamer::emitLabel(MCSymbol *Symbol, SMLoc Loc) {
void MCMachOStreamer::emitAssignment(MCSymbol *Symbol, const MCExpr *Value) {
MCValue Res;
- if (Value->evaluateAsRelocatable(Res, nullptr, nullptr)) {
+ if (Value->evaluateAsRelocatable(Res, nullptr)) {
if (const MCSymbolRefExpr *SymAExpr = Res.getSymA()) {
const MCSymbol &SymA = SymAExpr->getSymbol();
if (!Res.getSymB() && (SymA.getName() == "" || Res.getConstant() != 0))
diff --git a/llvm/lib/MC/MCObjectStreamer.cpp b/llvm/lib/MC/MCObjectStreamer.cpp
index 41c08809301ee..189f43dd761c1 100644
--- a/llvm/lib/MC/MCObjectStreamer.cpp
+++ b/llvm/lib/MC/MCObjectStreamer.cpp
@@ -588,7 +588,7 @@ getOffsetAndDataFragment(const MCSymbol &Symbol, uint32_t &RelocOffset,
if (Symbol.isVariable()) {
const MCExpr *SymbolExpr = Symbol.getVariableValue();
MCValue OffsetVal;
- if(!SymbolExpr->evaluateAsRelocatable(OffsetVal, nullptr, nullptr))
+ if (!SymbolExpr->evaluateAsRelocatable(OffsetVal, nullptr))
return std::make_pair(false,
std::string("symbol in .reloc offset is not "
"relocatable"));
@@ -662,7 +662,7 @@ MCObjectStreamer::emitRelocDirective(const MCExpr &Offset, StringRef Name,
MCDataFragment *DF = getOrCreateDataFragment(&STI);
MCValue OffsetVal;
- if (!Offset.evaluateAsRelocatable(OffsetVal, nullptr, nullptr))
+ if (!Offset.evaluateAsRelocatable(OffsetVal, nullptr))
return std::make_pair(false,
std::string(".reloc offset is not relocatable"));
if (OffsetVal.isAbsolute()) {
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp
index 0cd691e9298ed..9fb89789c51be 100644
--- a/llvm/lib/MC/MCParser/AsmParser.cpp
+++ b/llvm/lib/MC/MCParser/AsmParser.cpp
@@ -3125,7 +3125,7 @@ bool AsmParser::parseDirectiveReloc(SMLoc DirectiveLoc) {
return true;
MCValue Value;
- if (!Expr->evaluateAsRelocatable(Value, nullptr, nullptr))
+ if (!Expr->evaluateAsRelocatable(Value, nullptr))
return Error(ExprLoc, "expression must be relocatable");
}
diff --git a/llvm/lib/MC/MCWinCOFFStreamer.cpp b/llvm/lib/MC/MCWinCOFFStreamer.cpp
index b1b2234119ad9..d406bc58ccf9d 100644
--- a/llvm/lib/MC/MCWinCOFFStreamer.cpp
+++ b/llvm/lib/MC/MCWinCOFFStreamer.cpp
@@ -66,8 +66,8 @@ class MCCOFFSectionNumberTargetExpr final : public MCTargetExpr {
SectionSymbol.print(OS, MAI);
}
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override {
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override {
auto sectionNumber = Writer.getSectionNumber(SectionSymbol.getSection());
assert(sectionNumber != 0 &&
"Containing section was not assigned a number");
@@ -102,8 +102,8 @@ class MCCOFFSectionOffsetTargetExpr final : public MCTargetExpr {
Symbol.print(OS, MAI);
}
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override {
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override {
uint64_t CallsiteOffset = 0;
if (!Asm->getSymbolOffset(Symbol, CallsiteOffset)) {
return true;
diff --git a/llvm/lib/MC/MachObjectWriter.cpp b/llvm/lib/MC/MachObjectWriter.cpp
index a1842f133ef60..20d8e9c28f5ed 100644
--- a/llvm/lib/MC/MachObjectWriter.cpp
+++ b/llvm/lib/MC/MachObjectWriter.cpp
@@ -104,7 +104,7 @@ uint64_t MachObjectWriter::getSymbolAddress(const MCSymbol &S,
return C->getValue();
MCValue Target;
- if (!S.getVariableValue()->evaluateAsRelocatable(Target, &Asm, nullptr))
+ if (!S.getVariableValue()->evaluateAsRelocatable(Target, &Asm))
report_fatal_error("unable to evaluate offset for variable '" +
S.getName() + "'");
diff --git a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
index 1e7296fa23486..ab9b31ccbe288 100644
--- a/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+++ b/llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
@@ -8226,7 +8226,7 @@ AArch64AsmParser::classifySymbolRef(const MCExpr *Expr,
// Check that it looks like a symbol + an addend
MCValue Res;
- bool Relocatable = Expr->evaluateAsRelocatable(Res, nullptr, nullptr);
+ bool Relocatable = Expr->evaluateAsRelocatable(Res, nullptr);
if (!Relocatable || Res.getSymB())
return false;
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
index 172f0fe6610cc..a5891c1c6928d 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
@@ -109,9 +109,8 @@ MCFragment *AArch64MCExpr::findAssociatedFragment() const {
}
bool AArch64MCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
@@ -151,10 +150,9 @@ MCFragment *AArch64AuthMCExpr::findAssociatedFragment() const {
llvm_unreachable("FIXME: what goes here?");
}
-bool AArch64AuthMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+bool AArch64AuthMCExpr::evaluateAsRelocatableImpl(
+ MCValue &Res, const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
if (Res.getSymB())
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
index e91a9bcfc1d84..3deb65c826664 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
@@ -175,9 +175,8 @@ class AArch64MCExpr : public MCTargetExpr {
MCFragment *findAssociatedFragment() const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
-
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
static bool classof(const MCExpr *E) {
return E->getKind() == MCExpr::Target;
}
@@ -207,9 +206,8 @@ class AArch64AuthMCExpr final : public AArch64MCExpr {
MCFragment *findAssociatedFragment() const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
-
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
static bool classof(const MCExpr *E) {
return isa<AArch64MCExpr>(E) && classof(cast<AArch64MCExpr>(E));
}
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
index fd2d6109ac23b..7fff2e515b046 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
@@ -95,11 +95,11 @@ static int64_t op(AMDGPUMCExpr::VariantKind Kind, int64_t Arg1, int64_t Arg2) {
}
}
-bool AMDGPUMCExpr::evaluateExtraSGPRs(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+bool AMDGPUMCExpr::evaluateExtraSGPRs(MCValue &Res,
+ const MCAssembler *Asm) const {
auto TryGetMCExprValue = [&](const MCExpr *Arg, uint64_t &ConstantValue) {
MCValue MCVal;
- if (!Arg->evaluateAsRelocatable(MCVal, Asm, Fixup) || !MCVal.isAbsolute())
+ if (!Arg->evaluateAsRelocatable(MCVal, Asm) || !MCVal.isAbsolute())
return false;
ConstantValue = MCVal.getConstant();
@@ -124,11 +124,11 @@ bool AMDGPUMCExpr::evaluateExtraSGPRs(MCValue &Res, const MCAssembler *Asm,
return true;
}
-bool AMDGPUMCExpr::evaluateTotalNumVGPR(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+bool AMDGPUMCExpr::evaluateTotalNumVGPR(MCValue &Res,
+ const MCAssembler *Asm) const {
auto TryGetMCExprValue = [&](const MCExpr *Arg, uint64_t &ConstantValue) {
MCValue MCVal;
- if (!Arg->evaluateAsRelocatable(MCVal, Asm, Fixup) || !MCVal.isAbsolute())
+ if (!Arg->evaluateAsRelocatable(MCVal, Asm) || !MCVal.isAbsolute())
return false;
ConstantValue = MCVal.getConstant();
@@ -151,11 +151,10 @@ bool AMDGPUMCExpr::evaluateTotalNumVGPR(MCValue &Res, const MCAssembler *Asm,
return true;
}
-bool AMDGPUMCExpr::evaluateAlignTo(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+bool AMDGPUMCExpr::evaluateAlignTo(MCValue &Res, const MCAssembler *Asm) const {
auto TryGetMCExprValue = [&](const MCExpr *Arg, uint64_t &ConstantValue) {
MCValue MCVal;
- if (!Arg->evaluateAsRelocatable(MCVal, Asm, Fixup) || !MCVal.isAbsolute())
+ if (!Arg->evaluateAsRelocatable(MCVal, Asm) || !MCVal.isAbsolute())
return false;
ConstantValue = MCVal.getConstant();
@@ -172,11 +171,11 @@ bool AMDGPUMCExpr::evaluateAlignTo(MCValue &Res, const MCAssembler *Asm,
return true;
}
-bool AMDGPUMCExpr::evaluateOccupancy(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+bool AMDGPUMCExpr::evaluateOccupancy(MCValue &Res,
+ const MCAssembler *Asm) const {
auto TryGetMCExprValue = [&](const MCExpr *Arg, uint64_t &ConstantValue) {
MCValue MCVal;
- if (!Arg->evaluateAsRelocatable(MCVal, Asm, Fixup) || !MCVal.isAbsolute())
+ if (!Arg->evaluateAsRelocatable(MCVal, Asm) || !MCVal.isAbsolute())
return false;
ConstantValue = MCVal.getConstant();
@@ -216,25 +215,24 @@ bool AMDGPUMCExpr::evaluateOccupancy(MCValue &Res, const MCAssembler *Asm,
}
bool AMDGPUMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+ const MCAssembler *Asm) const {
std::optional<int64_t> Total;
switch (Kind) {
default:
break;
case AGVK_ExtraSGPRs:
- return evaluateExtraSGPRs(Res, Asm, Fixup);
+ return evaluateExtraSGPRs(Res, Asm);
case AGVK_AlignTo:
- return evaluateAlignTo(Res, Asm, Fixup);
+ return evaluateAlignTo(Res, Asm);
case AGVK_TotalNumVGPRs:
- return evaluateTotalNumVGPR(Res, Asm, Fixup);
+ return evaluateTotalNumVGPR(Res, Asm);
case AGVK_Occupancy:
- return evaluateOccupancy(Res, Asm, Fixup);
+ return evaluateOccupancy(Res, Asm);
}
for (const MCExpr *Arg : Args) {
MCValue ArgRes;
- if (!Arg->evaluateAsRelocatable(ArgRes, Asm, Fixup) || !ArgRes.isAbsolute())
+ if (!Arg->evaluateAsRelocatable(ArgRes, Asm) || !ArgRes.isAbsolute())
return false;
if (!Total.has_value())
diff --git a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
index f590b0364df7f..c0167096f022a 100644
--- a/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
+++ b/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.h
@@ -48,14 +48,10 @@ class AMDGPUMCExpr : public MCTargetExpr {
AMDGPUMCExpr(VariantKind Kind, ArrayRef<const MCExpr *> Args, MCContext &Ctx);
~AMDGPUMCExpr();
- bool evaluateExtraSGPRs(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const;
- bool evaluateTotalNumVGPR(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const;
- bool evaluateAlignTo(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const;
- bool evaluateOccupancy(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const;
+ bool evaluateExtraSGPRs(MCValue &Res, const MCAssembler *Asm) const;
+ bool evaluateTotalNumVGPR(MCValue &Res, const MCAssembler *Asm) const;
+ bool evaluateAlignTo(MCValue &Res, const MCAssembler *Asm) const;
+ bool evaluateOccupancy(MCValue &Res, const MCAssembler *Asm) const;
public:
static const AMDGPUMCExpr *
@@ -95,8 +91,8 @@ class AMDGPUMCExpr : public MCTargetExpr {
const MCExpr *getSubExpr(size_t Index) const;
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
bool isSymbolUsedInExpression(const MCSymbol *Sym) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override;
diff --git a/llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp b/llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp
index ceb475d77cb32..6e37750380718 100644
--- a/llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp
+++ b/llvm/lib/Target/AMDGPU/Utils/AMDGPUDelayedMCExpr.cpp
@@ -30,7 +30,7 @@ static msgpack::DocNode getNode(msgpack::DocNode DN, msgpack::Type Type,
void DelayedMCExprs::assignDocNode(msgpack::DocNode &DN, msgpack::Type Type,
const MCExpr *ExprValue) {
MCValue Res;
- if (ExprValue->evaluateAsRelocatable(Res, nullptr, nullptr)) {
+ if (ExprValue->evaluateAsRelocatable(Res, nullptr)) {
if (Res.isAbsolute()) {
DN = getNode(DN, Type, Res);
return;
@@ -45,8 +45,7 @@ bool DelayedMCExprs::resolveDelayedExpressions() {
Expr DE = DelayedExprs.front();
MCValue Res;
- if (!DE.ExprValue->evaluateAsRelocatable(Res, nullptr, nullptr) ||
- !Res.isAbsolute())
+ if (!DE.ExprValue->evaluateAsRelocatable(Res, nullptr) || !Res.isAbsolute())
return false;
DelayedExprs.pop_front();
diff --git a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
index b00ad1e874d13..0de22e3b9a217 100644
--- a/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
+++ b/llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
@@ -81,8 +81,8 @@ class ARMMCExpr : public MCTargetExpr {
/// @}
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override {
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override {
return false;
}
void visitUsedExpr(MCStreamer &Streamer) const override;
diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
index 6d1cb29499980..aa5dcd929955a 100644
--- a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
+++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
@@ -53,8 +53,7 @@ void AVRMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
bool AVRMCExpr::evaluateAsConstant(int64_t &Result) const {
MCValue Value;
- bool isRelocatable =
- getSubExpr()->evaluateAsRelocatable(Value, nullptr, nullptr);
+ bool isRelocatable = getSubExpr()->evaluateAsRelocatable(Value, nullptr);
if (!isRelocatable)
return false;
@@ -68,10 +67,9 @@ bool AVRMCExpr::evaluateAsConstant(int64_t &Result) const {
}
bool AVRMCExpr::evaluateAsRelocatableImpl(MCValue &Result,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+ const MCAssembler *Asm) const {
MCValue Value;
- bool isRelocatable = SubExpr->evaluateAsRelocatable(Value, Asm, Fixup);
+ bool isRelocatable = SubExpr->evaluateAsRelocatable(Value, Asm);
if (!isRelocatable)
return false;
diff --git a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
index f32d31d55454b..05bd08c5c3e02 100644
--- a/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
+++ b/llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
@@ -64,9 +64,8 @@ class AVRMCExpr : public MCTargetExpr {
void setNegated(bool negated = true) { Negated = negated; }
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
-
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &streamer) const override;
MCFragment *findAssociatedFragment() const override {
diff --git a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
index d96b700eaaa02..5fcc49005506d 100644
--- a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
+++ b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.cpp
@@ -109,9 +109,9 @@ void CSKYMCExpr::fixELFSymbolsInTLSFixups(MCAssembler &Asm) const {
fixELFSymbolsInTLSFixupsImpl(getSubExpr(), Asm);
}
-bool CSKYMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+bool CSKYMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
// Some custom fixup types are not valid with symbol
diff erence expressions
diff --git a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
index 73aebc72869ca..db97bbef576ec 100644
--- a/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
+++ b/llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCExpr.h
@@ -55,8 +55,8 @@ class CSKYMCExpr : public MCTargetExpr {
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
diff --git a/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp b/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
index d4df5908bec0e..750cca63c24d9 100644
--- a/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
+++ b/llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
@@ -1247,7 +1247,7 @@ bool HexagonAsmParser::parseInstruction(OperandVector &Operands) {
Expr, MCConstantExpr::create(0xffff, Context), Context);
} else {
MCValue Value;
- if (Expr->evaluateAsRelocatable(Value, nullptr, nullptr)) {
+ if (Expr->evaluateAsRelocatable(Value, nullptr)) {
if (!Value.isAbsolute()) {
switch (HexagonMCExpr::VariantKind(Value.getAccessVariant())) {
case HexagonMCExpr::VK_TPREL:
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
index 409fcce3c8bb5..f02aece2c585e 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
@@ -25,9 +25,8 @@ HexagonMCExpr *HexagonMCExpr::create(MCExpr const *Expr, MCContext &Ctx) {
}
bool HexagonMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- MCFixup const *Fixup) const {
- return Expr->evaluateAsRelocatable(Res, Asm, Fixup);
+ const MCAssembler *Asm) const {
+ return Expr->evaluateAsRelocatable(Res, Asm);
}
void HexagonMCExpr::visitUsedExpr(MCStreamer &Streamer) const {
diff --git a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
index a6fd3d37790f1..1d0451046b6e2 100644
--- a/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
+++ b/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.h
@@ -39,8 +39,8 @@ class HexagonMCExpr : public MCTargetExpr {
static HexagonMCExpr *create(MCExpr const *Expr, MCContext &Ctx);
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override;
void fixELFSymbolsInTLSFixups(MCAssembler &Asm) const override;
diff --git a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
index 285e93832a4c6..5772a17cfc4f5 100644
--- a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
+++ b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
@@ -47,9 +47,8 @@ void LanaiMCExpr::visitUsedExpr(MCStreamer &Streamer) const {
}
bool LanaiMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
diff --git a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
index c2af9070f3146..d7a1c95b2747b 100644
--- a/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
+++ b/llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
@@ -36,8 +36,8 @@ class LanaiMCExpr : public MCTargetExpr {
const MCExpr *getSubExpr() const { return Expr; }
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
diff --git a/llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp b/llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
index 1bcd4a866c41c..9cfb5803eb270 100644
--- a/llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
+++ b/llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
@@ -708,7 +708,7 @@ bool LoongArchAsmParser::classifySymbolRef(const MCExpr *Expr,
}
MCValue Res;
- if (Expr->evaluateAsRelocatable(Res, nullptr, nullptr))
+ if (Expr->evaluateAsRelocatable(Res, nullptr))
return Res.getRefKind() == LoongArchMCExpr::VK_LoongArch_None;
return false;
}
diff --git a/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp b/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
index 30d2d0c1184ad..d3d3b90b2527f 100644
--- a/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
+++ b/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
@@ -42,13 +42,13 @@ void LoongArchMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
OS << ')';
}
-bool LoongArchMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- // Explicitly drop the layout and assembler to prevent any symbolic folding in
+bool LoongArchMCExpr::evaluateAsRelocatableImpl(
+ MCValue &Res,
+ const MCAssembler *Asm) const { // Explicitly drop the layout and assembler
+ // to prevent any symbolic folding in
// the expression handling. This is required to preserve symbolic
diff erence
// expressions to emit the paired relocations.
- if (!getSubExpr()->evaluateAsRelocatable(Res, nullptr, nullptr))
+ if (!getSubExpr()->evaluateAsRelocatable(Res, nullptr))
return false;
Res =
diff --git a/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h b/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
index 91215b863ccc2..4f1de702a17ae 100644
--- a/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
+++ b/llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
@@ -99,8 +99,8 @@ class LoongArchMCExpr : public MCTargetExpr {
bool getRelaxHint() const { return RelaxHint; }
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
diff --git a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
index 7242e5ecdfa70..2a2ebd63d6b47 100644
--- a/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
+++ b/llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
@@ -583,7 +583,7 @@ class MipsAsmParser : public MCTargetAsmParser {
if (!EmitJalrReloc)
return false;
MCValue Res;
- if (!JalExpr->evaluateAsRelocatable(Res, nullptr, nullptr))
+ if (!JalExpr->evaluateAsRelocatable(Res, nullptr))
return false;
if (Res.getSymB() != nullptr)
return false;
@@ -1310,7 +1310,7 @@ class MipsOperand : public MCParsedAsmOperand {
isShiftedInt<Bits, ShiftAmount>(getConstantMemOff())))
return true;
MCValue Res;
- bool IsReloc = getMemOff()->evaluateAsRelocatable(Res, nullptr, nullptr);
+ bool IsReloc = getMemOff()->evaluateAsRelocatable(Res, nullptr);
return IsReloc && isShiftedInt<Bits, ShiftAmount>(Res.getConstant());
}
@@ -1324,7 +1324,7 @@ class MipsOperand : public MCParsedAsmOperand {
(isConstantMemOff() && isIntN(PtrBits, getConstantMemOff())))
return true;
MCValue Res;
- bool IsReloc = getMemOff()->evaluateAsRelocatable(Res, nullptr, nullptr);
+ bool IsReloc = getMemOff()->evaluateAsRelocatable(Res, nullptr);
return IsReloc && isIntN(PtrBits, Res.getConstant());
}
@@ -1365,7 +1365,7 @@ class MipsOperand : public MCParsedAsmOperand {
if (Kind != k_Immediate)
return false;
MCValue Res;
- bool Success = getImm()->evaluateAsRelocatable(Res, nullptr, nullptr);
+ bool Success = getImm()->evaluateAsRelocatable(Res, nullptr);
return Success && isShiftedInt<Bits, ShiftLeftAmount>(Res.getConstant());
}
@@ -2934,7 +2934,7 @@ bool MipsAsmParser::loadAndAddSymbolAddress(const MCExpr *SymExpr,
if (inPicMode()) {
MCValue Res;
- if (!SymExpr->evaluateAsRelocatable(Res, nullptr, nullptr)) {
+ if (!SymExpr->evaluateAsRelocatable(Res, nullptr)) {
Error(IDLoc, "expected relocatable expression");
return true;
}
@@ -3764,7 +3764,7 @@ void MipsAsmParser::expandMem16Inst(MCInst &Inst, SMLoc IDLoc, MCStreamer &Out,
// of R_MIPS_GOT_DISP in appropriate cases to reduce number
// of GOT entries.
MCValue Res;
- if (!OffsetOp.getExpr()->evaluateAsRelocatable(Res, nullptr, nullptr)) {
+ if (!OffsetOp.getExpr()->evaluateAsRelocatable(Res, nullptr)) {
Error(IDLoc, "expected relocatable expression");
return;
}
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
index 89a151cb2f131..ebabacfa3072d 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
+++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
@@ -129,14 +129,14 @@ void MipsMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
OS << ')';
}
-bool MipsMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- // Look for the %hi(%neg(%gp_rel(X))) and %lo(%neg(%gp_rel(X))) special cases.
+bool MipsMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm)
+ const { // Look for the %hi(%neg(%gp_rel(X))) and %lo(%neg(%gp_rel(X)))
+ // special cases.
if (isGpOff()) {
const MCExpr *SubExpr =
cast<MipsMCExpr>(cast<MipsMCExpr>(getSubExpr())->getSubExpr())
->getSubExpr();
- if (!SubExpr->evaluateAsRelocatable(Res, Asm, Fixup))
+ if (!SubExpr->evaluateAsRelocatable(Res, Asm))
return false;
Res = MCValue::get(Res.getSymA(), Res.getSymB(), Res.getConstant(),
@@ -144,7 +144,7 @@ bool MipsMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
return true;
}
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
MCValue::get(Res.getSymA(), Res.getSymB(), Res.getConstant(), getKind());
diff --git a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
index 9e622b5be9421..80e2463701606 100644
--- a/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
+++ b/llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
@@ -66,8 +66,8 @@ class MipsMCExpr : public MCTargetExpr {
const MCExpr *getSubExpr() const { return Expr; }
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
diff --git a/llvm/lib/Target/NVPTX/NVPTXMCExpr.h b/llvm/lib/Target/NVPTX/NVPTXMCExpr.h
index 1018686e7b278..7ff8276f1fb6c 100644
--- a/llvm/lib/Target/NVPTX/NVPTXMCExpr.h
+++ b/llvm/lib/Target/NVPTX/NVPTXMCExpr.h
@@ -74,8 +74,8 @@ class NVPTXFloatMCExpr : public MCTargetExpr {
/// @}
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override {
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override {
return false;
}
void visitUsedExpr(MCStreamer &Streamer) const override {};
@@ -112,8 +112,8 @@ class NVPTXGenericMCSymbolRefExpr : public MCTargetExpr {
/// @}
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override {
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override {
return false;
}
void visitUsedExpr(MCStreamer &Streamer) const override {};
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
index 60e88a68166b5..c30285d62d3e6 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
@@ -34,7 +34,7 @@ bool
PPCMCExpr::evaluateAsConstant(int64_t &Res) const {
MCValue Value;
- if (!getSubExpr()->evaluateAsRelocatable(Value, nullptr, nullptr))
+ if (!getSubExpr()->evaluateAsRelocatable(Value, nullptr))
return false;
if (!Value.isAbsolute())
@@ -71,11 +71,11 @@ std::optional<int64_t> PPCMCExpr::evaluateAsInt64(int64_t Value) const {
}
}
-bool PPCMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
+bool PPCMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const {
if (!Asm)
return false;
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
// The signedness of the result is dependent on the instruction operand. E.g.
diff --git a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
index 1b3cef32bd0c3..2c1b706398e0d 100644
--- a/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
+++ b/llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
@@ -142,8 +142,8 @@ class PPCMCExpr : public MCTargetExpr {
/// @}
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
diff --git a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
index 372e2e2ad8ba1..7c5f1fc08cd0b 100644
--- a/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+++ b/llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
@@ -2924,16 +2924,14 @@ bool RISCVAsmParser::classifySymbolRef(const MCExpr *Expr,
}
MCValue Res;
- MCFixup Fixup;
- if (Expr->evaluateAsRelocatable(Res, nullptr, &Fixup))
+ if (Expr->evaluateAsRelocatable(Res, nullptr))
return Res.getRefKind() == RISCVMCExpr::VK_RISCV_None;
return false;
}
bool RISCVAsmParser::isSymbolDiff(const MCExpr *Expr) {
MCValue Res;
- MCFixup Fixup;
- if (Expr->evaluateAsRelocatable(Res, nullptr, &Fixup)) {
+ if (Expr->evaluateAsRelocatable(Res, nullptr)) {
return Res.getRefKind() == RISCVMCExpr::VK_RISCV_None && Res.getSymA() &&
Res.getSymB();
}
diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
index 8facf62cfa129..47ad191ff46ce 100644
--- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
+++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
@@ -548,7 +548,7 @@ bool RISCVAsmBackend::evaluateTargetFixup(const MCAssembler &Asm,
// MCAssembler::evaluateFixup will emit an error for this case when it sees
// the %pcrel_hi, so don't duplicate it when also seeing the %pcrel_lo.
const MCExpr *AUIPCExpr = AUIPCFixup->getValue();
- if (!AUIPCExpr->evaluateAsRelocatable(AUIPCTarget, &Asm, AUIPCFixup))
+ if (!AUIPCExpr->evaluateAsRelocatable(AUIPCTarget, &Asm))
return true;
break;
}
diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
index aa04ec23c60a1..86a4a0f3cb35f 100644
--- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
+++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
@@ -46,7 +46,7 @@ void RISCVMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
const MCFixup *RISCVMCExpr::getPCRelHiFixup(const MCFragment **DFOut) const {
MCValue AUIPCLoc;
- if (!getSubExpr()->evaluateAsRelocatable(AUIPCLoc, nullptr, nullptr))
+ if (!getSubExpr()->evaluateAsRelocatable(AUIPCLoc, nullptr))
return nullptr;
const MCSymbolRefExpr *AUIPCSRE = AUIPCLoc.getSymA();
@@ -89,9 +89,8 @@ const MCFixup *RISCVMCExpr::getPCRelHiFixup(const MCFragment **DFOut) const {
}
bool RISCVMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
@@ -171,7 +170,7 @@ bool RISCVMCExpr::evaluateAsConstant(int64_t &Res) const {
if (Kind != VK_RISCV_LO && Kind != VK_RISCV_HI)
return false;
- if (!getSubExpr()->evaluateAsRelocatable(Value, nullptr, nullptr))
+ if (!getSubExpr()->evaluateAsRelocatable(Value, nullptr))
return false;
if (!Value.isAbsolute())
diff --git a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
index 6a87e00b6b40d..7c22d37224923 100644
--- a/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
+++ b/llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
@@ -69,8 +69,8 @@ class RISCVMCExpr : public MCTargetExpr {
const MCFixup *getPCRelHiFixup(const MCFragment **DFOut) const;
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
index 54dc68800fade..aaf973e16f71a 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
@@ -182,9 +182,8 @@ Sparc::Fixups SparcMCExpr::getFixupKind(SparcMCExpr::VariantKind Kind) {
}
bool SparcMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
MCValue::get(Res.getSymA(), Res.getSymB(), Res.getConstant(), getKind());
diff --git a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
index eafad3987ce1c..42969c8ba2c95 100644
--- a/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
+++ b/llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
@@ -94,8 +94,8 @@ class SparcMCExpr : public MCTargetExpr {
/// @}
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
index 4fa2028ad13e8..b83f085aabc1e 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
@@ -37,9 +37,8 @@ void SystemZMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
}
bool SystemZMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
diff --git a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
index 920d57d5c294a..d6785222b8e56 100644
--- a/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
+++ b/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
@@ -45,8 +45,8 @@ class SystemZMCExpr : public MCTargetExpr {
StringRef getVariantKindName() const;
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override {
Streamer.visitUsedExpr(*getSubExpr());
}
diff --git a/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp b/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
index 6433f4c077b96..f91cbdff4ecbf 100644
--- a/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
+++ b/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
@@ -125,9 +125,9 @@ VE::Fixups VEMCExpr::getFixupKind(VEMCExpr::VariantKind Kind) {
}
}
-bool VEMCExpr::evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- if (!getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup))
+bool VEMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const {
+ if (!getSubExpr()->evaluateAsRelocatable(Res, Asm))
return false;
Res =
diff --git a/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h b/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
index 2ea8efbb3f54b..07586778fc362 100644
--- a/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
+++ b/llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
@@ -72,8 +72,8 @@ class VEMCExpr : public MCTargetExpr {
/// @}
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
diff --git a/llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h b/llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
index 4997940f720dc..f2b4de7018a87 100644
--- a/llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
+++ b/llvm/lib/Target/X86/MCTargetDesc/X86MCExpr.h
@@ -53,8 +53,8 @@ class X86MCExpr : public MCTargetExpr {
OS << X86ATTInstPrinter::getRegisterName(Reg);
}
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override {
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override {
return false;
}
// Register values should be inlined as they are not valid .set expressions.
diff --git a/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp b/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
index 900ce3c23f2d0..5b24bffed758d 100644
--- a/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
+++ b/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
@@ -41,9 +41,8 @@ void XtensaMCExpr::printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const {
}
bool XtensaMCExpr::evaluateAsRelocatableImpl(MCValue &Res,
- const MCAssembler *Asm,
- const MCFixup *Fixup) const {
- return getSubExpr()->evaluateAsRelocatable(Res, Asm, Fixup);
+ const MCAssembler *Asm) const {
+ return getSubExpr()->evaluateAsRelocatable(Res, Asm);
}
void XtensaMCExpr::visitUsedExpr(MCStreamer &Streamer) const {
diff --git a/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h b/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
index c1a903b49de62..324817ea26dc3 100644
--- a/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
+++ b/llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
@@ -40,8 +40,8 @@ class XtensaMCExpr : public MCTargetExpr {
const MCExpr *getSubExpr() const { return Expr; }
void printImpl(raw_ostream &OS, const MCAsmInfo *MAI) const override;
- bool evaluateAsRelocatableImpl(MCValue &Res, const MCAssembler *Asm,
- const MCFixup *Fixup) const override;
+ bool evaluateAsRelocatableImpl(MCValue &Res,
+ const MCAssembler *Asm) const override;
void visitUsedExpr(MCStreamer &Streamer) const override;
MCFragment *findAssociatedFragment() const override {
return getSubExpr()->findAssociatedFragment();
More information about the llvm-commits
mailing list