[llvm] [RISCV] Allow spilling to unused Zcmp Stack (PR #125959)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 21 13:10:34 PDT 2025


topperc wrote:

> This may be the fix
> 
> ```
> @@ -1798,7 +1800,7 @@ bool RISCVFrameLowering::assignCalleeSavedSpillSlots(
>      if (MaxReg != RISCV::NoRegister) {
>        auto [RegEnc, PushedRegNum] = getPushPopEncodingAndNum(MaxReg);
>        RVFI->setRVPushRegs(PushedRegNum);
> -      RVFI->setRVPushStackSize(alignTo((STI.getXLen() / 8) * PushedRegNum, 16));
> +      RVFI->setRVPushStackSize((STI.getXLen() / 8) * PushedRegNum);
>  
>        // Use encoded number to represent registers to spill.
>        RVFI->setRVPushRlist(RegEnc);
> ```
> 
> And if it is, this patch should be reverted back to the orignal code that used `getRVPushStackSize`.

Well nevermind, that's closer to the right fix for the vector issue, but seem to cause other problems.

https://github.com/llvm/llvm-project/pull/125959


More information about the llvm-commits mailing list