[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:42:09 PDT 2025
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-bolt
Author: wangjue (WangJee)
<details>
<summary>Changes</summary>
a) Due to the different capabilities of the functions implemented, rename the createCmpJE function
b) Refactor the convertIndirectCallToLoad function to override the interface.
---
Full diff: https://github.com/llvm/llvm-project/pull/136129.diff
1 Files Affected:
- (modified) bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp (+6-6)
``````````diff
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});
``````````
</details>
https://github.com/llvm/llvm-project/pull/136129
More information about the llvm-commits
mailing list