[PATCH, rtl-optimization]: Fix PR66838, Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters
Richard Biener
rguenther@suse.de
Mon Jul 13 07:31:00 GMT 2015
On Sun, 12 Jul 2015, Uros Bizjak wrote:
> Another missing case of CALL_INSN_FUNCTION_USAGE, where clobbered
> registers are also marked, this time in postreload/
> reload_cse_move2add.
>
> Fixed compiler now generates following code
>
> call sysv_abi_func
> movl $global, %esi
> movl $.LC2, %edi
> call sysv_abi_func
> movl $global, %esi
> movl $.LC3, %edi
> call sysv_abi_func
>
> which correctly reloads %esi for every sysv_abi function call.
>
> 2015-07-12 Uros Bizjak <ubizjak@gmail.com>
>
> PR rtl-optimization/66838
> * postreload.c (reload_cse_move2add): Also process
> CALL_INSN_FUNCTION_USAGE when resetting information of
> call-clobbered registers.
>
> testsuite/ChangeLog:
>
> 2015-07-12 Uros Bizjak <ubizjak@gmail.com>
>
> PR rtl-optimization/66838
> * gcc.target/i386/pr66838.c: New test.
>
> Bootstrapped and regression tested on x86_64-linux-gnu {,-m32}.
>
> OK for mainline and gcc-5 branch?
Please wait until after 5.2 has been released.
Thanks,
Richard.
More information about the Gcc-patches
mailing list