aboutsummaryrefslogtreecommitdiff
path: root/flang/lib/Frontend/CompilerInvocation.cpp
diff options
context:
space:
mode:
authorwanglei <wanglei@loongson.cn>2022-11-10 21:01:05 +0800
committerwanglei <wanglei@loongson.cn>2022-11-10 21:14:27 +0800
commitd20c54cbdb9a4a12bbfb1d51c72e52abd3f039a6 (patch)
tree5ee812ddc99bdfba7d3e41c556d603807c5c30ac /flang/lib/Frontend/CompilerInvocation.cpp
parent5bc36c8cb483413bc127960552cd00f168475fc0 (diff)
downloadllvm-d20c54cbdb9a4a12bbfb1d51c72e52abd3f039a6.zip
llvm-d20c54cbdb9a4a12bbfb1d51c72e52abd3f039a6.tar.gz
llvm-d20c54cbdb9a4a12bbfb1d51c72e52abd3f039a6.tar.bz2
[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
Diffstat (limited to 'flang/lib/Frontend/CompilerInvocation.cpp')
0 files changed, 0 insertions, 0 deletions