@@ -555,9 +555,9 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
555
555
.addReg (RegCnt);
556
556
}
557
557
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 {
561
561
InstructionListType Insts;
562
562
Insts.emplace_back (
563
563
MCInstBuilder (RISCV::SUB).addReg (RegTmp).addReg (RegNo).addReg (RegNo));
@@ -718,7 +718,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
718
718
Insts.emplace_back ();
719
719
loadReg (Insts.back (), RISCV::X10, RISCV::X10, 0 );
720
720
InstructionListType cmpJmp =
721
- createCmpJE (RISCV::X10, RISCV::X11, IndCallHandler, Ctx);
721
+ createRegCmpJE (RISCV::X10, RISCV::X11, IndCallHandler, Ctx);
722
722
Insts.insert (Insts.end (), cmpJmp.begin (), cmpJmp.end ());
723
723
Insts.emplace_back ();
724
724
createStackPointerIncrement (Insts.back (), 16 );
@@ -777,14 +777,13 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
777
777
return createGetter (Ctx, " __bolt_instr_num_funcs" );
778
778
}
779
779
780
- void convertIndirectCallToLoad (MCInst &Inst, MCPhysReg Reg,
781
- MCPhysReg ZeroReg) const {
780
+ void convertIndirectCallToLoad (MCInst &Inst, MCPhysReg Reg) override {
782
781
bool IsTailCall = isTailCall (Inst);
783
782
if (IsTailCall)
784
783
removeAnnotation (Inst, MCPlus::MCAnnotation::kTailCall );
785
784
Inst.setOpcode (RISCV::ADD);
786
785
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 ));
788
787
return ;
789
788
}
790
789
@@ -845,7 +844,7 @@ class RISCVMCPlusBuilder : public MCPlusBuilder {
845
844
InstructionListType Insts;
846
845
spillRegs (Insts, {RISCV::X10, RISCV::X11});
847
846
Insts.emplace_back (CallInst);
848
- convertIndirectCallToLoad (Insts.back (), RISCV::X10, RISCV::X0 );
847
+ convertIndirectCallToLoad (Insts.back (), RISCV::X10);
849
848
InstructionListType LoadImm = createLoadImmediate (RISCV::X11, CallSiteID);
850
849
Insts.insert (Insts.end (), LoadImm.begin (), LoadImm.end ());
851
850
spillRegs (Insts, {RISCV::X10, RISCV::X11});
0 commit comments