[clang] [llvm] [RISCV] Xqccmp Code Generation (PR #128815)
Craig Topper via llvm-commits
llvm-commits at lists.llvm.org
Thu Feb 27 21:09:01 PST 2025
================
@@ -974,17 +974,20 @@ void RISCVFrameLowering::emitPrologue(MachineFunction &MF,
emitCFIForCSI<CFISaveRegisterEmitter>(MBB, MBBI, getUnmanagedCSI(MF, CSI));
// Generate new FP.
- if (hasFP(MF) && RVFI->getPushPopKind(MF) !=
- RISCVMachineFunctionInfo::PushPopKind::VendorXqccmp) {
+ if (hasFP(MF)) {
if (STI.isRegisterReservedByUser(FPReg))
MF.getFunction().getContext().diagnose(DiagnosticInfoUnsupported{
MF.getFunction(), "Frame pointer required, but has been reserved."});
// The frame pointer does need to be reserved from register allocation.
assert(MF.getRegInfo().isReserved(FPReg) && "FP not reserved");
- RI->adjustReg(MBB, MBBI, DL, FPReg, SPReg,
- StackOffset::getFixed(RealStackSize - RVFI->getVarArgsSaveSize()),
- MachineInstr::FrameSetup, getStackAlign());
+ // Xqxxmp with hasFP will update FP using `qc.cm.pushfp`, so we don't need
----------------
topperc wrote:
Xqccmp*
https://github.com/llvm/llvm-project/pull/128815
More information about the llvm-commits
mailing list