This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH, rtl-optimization]: Fix PR66838, Calling multiple SYSV AMD64 ABI functions from MS x64 ABI one results in clobbered parameters


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]