This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rtl-optimization]: Fix PR66838, Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters
- From: Richard Biener <rguenther at suse dot de>
- To: Uros Bizjak <ubizjak at gmail dot com>
- Cc: "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Jeff Law <law at redhat dot com>
- Date: Mon, 13 Jul 2015 09:31:26 +0200 (CEST)
- Subject: Re: [PATCH, rtl-optimization]: Fix PR66838, Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters
- Authentication-results: sourceware.org; auth=none
- References: <CAFULd4bzeMZJw-0wOBpyW0GDjOsh_Jogq4GmX84CJS_fz6M5iQ at mail dot gmail dot com>
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.