[llvm] [BOLT] Fix the functions to avoid hiding overloaded virtual functions. (PR #136129)
via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 17 04:41:38 PDT 2025
https://github.com/WangJee created https://github.com/llvm/llvm-project/pull/136129
a) Due to the different capabilities of the functions implemented, rename the createCmpJE function
b) Refactor the convertIndirectCallToLoad function to override the interface.
>From 33937f6a8821b41ff38b937efdb07c040a755bf4 Mon Sep 17 00:00:00 2001
From: wangjue <wangjue at zhcomputing.com>
Date: Thu, 17 Apr 2025 11:21:38 +0000
Subject: [PATCH] [BOLT] Fix the functions to avoid hiding overloaded virtual
functions.
---
bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp b/bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
index 0e27d29019e95..ffa6ef1bd9eab 100644
--- a/bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
+++ b/bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
@@ -555,7 +555,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
.addReg(RegCnt);
}
- InstructionListType createCmpJE(MCPhysReg RegNo, MCPhysReg RegTmp,
+ InstructionListType createRegCmpJE(MCPhysReg RegNo, MCPhysReg RegTmp,
const MCSymbol *Target,
MCContext *Ctx) const {
InstructionListType Insts;
@@ -718,7 +718,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
Insts.emplace_back();
loadReg(Insts.back(), RISCV::X10, RISCV::X10, 0);
InstructionListType cmpJmp =
- createCmpJE(RISCV::X10, RISCV::X11, IndCallHandler, Ctx);
+ createRegCmpJE(RISCV::X10, RISCV::X11, IndCallHandler, Ctx);
Insts.insert(Insts.end(), cmpJmp.begin(), cmpJmp.end());
Insts.emplace_back();
createStackPointerIncrement(Insts.back(), 16);
@@ -777,14 +777,14 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
return createGetter(Ctx, "__bolt_instr_num_funcs");
}
- void convertIndirectCallToLoad(MCInst &Inst, MCPhysReg Reg,
- MCPhysReg ZeroReg) const {
+ void convertIndirectCallToLoad(MCInst &Inst,
+ MCPhysReg Reg) override {
bool IsTailCall = isTailCall(Inst);
if (IsTailCall)
removeAnnotation(Inst, MCPlus::MCAnnotation::kTailCall);
Inst.setOpcode(RISCV::ADD);
Inst.insert(Inst.begin(), MCOperand::createReg(Reg));
- Inst.insert(Inst.begin() + 1, MCOperand::createReg(ZeroReg));
+ Inst.insert(Inst.begin() + 1, MCOperand::createReg(RISCV::X0));
return;
}
@@ -845,7 +845,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
InstructionListType Insts;
spillRegs(Insts, {RISCV::X10, RISCV::X11});
Insts.emplace_back(CallInst);
- convertIndirectCallToLoad(Insts.back(), RISCV::X10, RISCV::X0);
+ convertIndirectCallToLoad(Insts.back(), RISCV::X10);
InstructionListType LoadImm = createLoadImmediate(RISCV::X11, CallSiteID);
Insts.insert(Insts.end(), LoadImm.begin(), LoadImm.end());
spillRegs(Insts, {RISCV::X10, RISCV::X11});
More information about the llvm-commits
mailing list