[PATCH] D70401: [RISCV] CodeGen of RVE and ilp32e/lp64e ABIs

Wang Pengcheng via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Sun Jun 11 20:17:56 PDT 2023


pcwang-thead added a comment.

In D70401#4411560 <https://reviews.llvm.org/D70401#4411560>, @david-sawatzke wrote:

> Thank you for the reply, I've compiled this with the most recent patch and also didn't see a problem (but can't get it running with rustc). Building the .ll with the older patch, the same issue also occurs, so I *do* think its the old patch version?
> Here is the log output for the riscv32e
> F27886013: llvm_output <https://reviews.llvm.org/F27886013>
>
> (and as a sanity check riscv32i)
> F27886014: llvm_output_riscv32i <https://reviews.llvm.org/F27886014>
>
> The errant code seems to get introduced here:
>
>   # *** IR Dump After Prologue/Epilogue Insertion & Frame Finalization (prologepilog) ***:
>   # Machine code for function _ZN13miscomp_repro4test17h065760f827b95d43E: NoPHIs, TracksLiveness, NoVRegs, TiedOpsRewritten, TracksDebugUserValues
>   
>   bb.0.start:
>     $x2 = frame-destroy ADDI $x8, 0
>     PseudoRET

Thanks! It seems that the problem is that we do wrong FP adjustment here.
But, as you can see, this patch does almost nothing to `RISCVFrameLowering`. So I think the bug may have been fixed somewhere else (I do remember there is a bug fix but I can't remember the differential ID).
So I would suggest you to use newest patch or do some bitsecting to find the bug fix commit if you don't bother. :-)


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D70401/new/

https://reviews.llvm.org/D70401



More information about the cfe-commits mailing list