[LoongArch] Override TargetFrameLowering::spillCalleeSavedRegisters
When using `llvm.returnaddress` intrinsic, special handling is required for the spill of the `RA` register. Otherwise it will cause the verifier fail in some cases (e.g. pr17377.c of the GCC C Torture Suite). Specifically: ``` *** Bad machine code: Using an undefined physical register *** - function: f - basic block: %bb.0 entry (0xd94d18) - instruction: ST_D killed $r1, $r22, -40 :: (store (s64) into %stack.2) - operand 0: killed $r1 ``` Reviewed By: SixWeining Differential Revision: https://reviews.llvm.org/D137387
Loading
Please sign in to comment