@@ -555,9 +555,9 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
555555 .addReg (RegCnt);
556556 }
557557
558- InstructionListType createCmpJE (MCPhysReg RegNo, MCPhysReg RegTmp,
559- const MCSymbol *Target,
560- MCContext *Ctx) const {
558+ InstructionListType createRegCmpJE (MCPhysReg RegNo, MCPhysReg RegTmp,
559+ const MCSymbol *Target,
560+ MCContext *Ctx) const {
561561 InstructionListType Insts;
562562 Insts.emplace_back (
563563 MCInstBuilder (RISCV::SUB).addReg (RegTmp).addReg (RegNo).addReg (RegNo));
@@ -718,7 +718,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
718718 Insts.emplace_back ();
719719 loadReg (Insts.back (), RISCV::X10, RISCV::X10, 0 );
720720 InstructionListType cmpJmp =
721- createCmpJE (RISCV::X10, RISCV::X11, IndCallHandler, Ctx);
721+ createRegCmpJE (RISCV::X10, RISCV::X11, IndCallHandler, Ctx);
722722 Insts.insert (Insts.end (), cmpJmp.begin (), cmpJmp.end ());
723723 Insts.emplace_back ();
724724 createStackPointerIncrement (Insts.back (), 16 );
@@ -777,14 +777,13 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
777777 return createGetter (Ctx, " __bolt_instr_num_funcs" );
778778 }
779779
780- void convertIndirectCallToLoad (MCInst &Inst, MCPhysReg Reg,
781- MCPhysReg ZeroReg) const {
780+ void convertIndirectCallToLoad (MCInst &Inst, MCPhysReg Reg) override {
782781 bool IsTailCall = isTailCall (Inst);
783782 if (IsTailCall)
784783 removeAnnotation (Inst, MCPlus::MCAnnotation::kTailCall );
785784 Inst.setOpcode (RISCV::ADD);
786785 Inst.insert (Inst.begin (), MCOperand::createReg (Reg));
787- Inst.insert (Inst.begin () + 1 , MCOperand::createReg (ZeroReg ));
786+ Inst.insert (Inst.begin () + 1 , MCOperand::createReg (RISCV::X0 ));
788787 return ;
789788 }
790789
@@ -845,7 +844,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
845844 InstructionListType Insts;
846845 spillRegs (Insts, {RISCV::X10, RISCV::X11});
847846 Insts.emplace_back (CallInst);
848- convertIndirectCallToLoad (Insts.back (), RISCV::X10, RISCV::X0 );
847+ convertIndirectCallToLoad (Insts.back (), RISCV::X10);
849848 InstructionListType LoadImm = createLoadImmediate (RISCV::X11, CallSiteID);
850849 Insts.insert (Insts.end (), LoadImm.begin (), LoadImm.end ());
851850 spillRegs (Insts, {RISCV::X10, RISCV::X11});
0 commit comments