On 07/12/2015 12:35 PM, 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  <ubiz...@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  <ubiz...@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?
OK for the trunk.

jeff

Reply via email to