@@ -23464,7 +23464,6 @@ RISCVTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
23464
23464
const SmallVectorImpl<SDValue> &OutVals,
23465
23465
const SDLoc &DL, SelectionDAG &DAG) const {
23466
23466
MachineFunction &MF = DAG.getMachineFunction();
23467
- const RISCVSubtarget &STI = MF.getSubtarget<RISCVSubtarget>();
23468
23467
23469
23468
// Stores the assignment of the return value to a location.
23470
23469
SmallVector<CCValAssign, 16> RVLocs;
@@ -23499,8 +23498,8 @@ RISCVTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
23499
23498
Register RegLo = VA.getLocReg();
23500
23499
Register RegHi = RVLocs[++i].getLocReg();
23501
23500
23502
- if (STI .isRegisterReservedByUser(RegLo) ||
23503
- STI .isRegisterReservedByUser(RegHi))
23501
+ if (Subtarget .isRegisterReservedByUser(RegLo) ||
23502
+ Subtarget .isRegisterReservedByUser(RegHi))
23504
23503
MF.getFunction().getContext().diagnose(DiagnosticInfoUnsupported{
23505
23504
MF.getFunction(),
23506
23505
"Return value register required, but has been reserved."});
@@ -23516,7 +23515,7 @@ RISCVTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
23516
23515
Val = convertValVTToLocVT(DAG, Val, VA, DL, Subtarget);
23517
23516
Chain = DAG.getCopyToReg(Chain, DL, VA.getLocReg(), Val, Glue);
23518
23517
23519
- if (STI .isRegisterReservedByUser(VA.getLocReg()))
23518
+ if (Subtarget .isRegisterReservedByUser(VA.getLocReg()))
23520
23519
MF.getFunction().getContext().diagnose(DiagnosticInfoUnsupported{
23521
23520
MF.getFunction(),
23522
23521
"Return value register required, but has been reserved."});
@@ -23553,11 +23552,11 @@ RISCVTargetLowering::LowerReturn(SDValue Chain, CallingConv::ID CallConv,
23553
23552
if (Kind == "supervisor")
23554
23553
RetOpc = RISCVISD::SRET_GLUE;
23555
23554
else if (Kind == "rnmi") {
23556
- assert(STI .hasFeature(RISCV::FeatureStdExtSmrnmi) &&
23555
+ assert(Subtarget .hasFeature(RISCV::FeatureStdExtSmrnmi) &&
23557
23556
"Need Smrnmi extension for rnmi");
23558
23557
RetOpc = RISCVISD::MNRET_GLUE;
23559
23558
} else if (Kind == "qci-nest" || Kind == "qci-nonest") {
23560
- assert(STI .hasFeature(RISCV::FeatureVendorXqciint) &&
23559
+ assert(Subtarget .hasFeature(RISCV::FeatureVendorXqciint) &&
23561
23560
"Need Xqciint for qci-(no)nest");
23562
23561
RetOpc = RISCVISD::QC_C_MILEAVERET_GLUE;
23563
23562
} else
@@ -23571,10 +23570,9 @@ void RISCVTargetLowering::validateCCReservedRegs(
23571
23570
const SmallVectorImpl<std::pair<llvm::Register, llvm::SDValue>> &Regs,
23572
23571
MachineFunction &MF) const {
23573
23572
const Function &F = MF.getFunction();
23574
- const RISCVSubtarget &STI = MF.getSubtarget<RISCVSubtarget>();
23575
23573
23576
- if (llvm::any_of(Regs, [&STI ](auto Reg) {
23577
- return STI .isRegisterReservedByUser(Reg.first);
23574
+ if (llvm::any_of(Regs, [this ](auto Reg) {
23575
+ return Subtarget .isRegisterReservedByUser(Reg.first);
23578
23576
}))
23579
23577
F.getContext().diagnose(DiagnosticInfoUnsupported{
23580
23578
F, "Argument register required, but has been reserved."});
0 commit comments