https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111673

--- Comment #1 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Surya Kumari Jangala
<jskum...@gcc.gnu.org>:

https://gcc.gnu.org/g:3b9b8d6cfdf59337f4b7ce10ce92a98044b2657b

commit r15-1619-g3b9b8d6cfdf59337f4b7ce10ce92a98044b2657b
Author: Surya Kumari Jangala <jskum...@linux.ibm.com>
Date:   Tue Jun 25 08:37:49 2024 -0500

    ira: Scale save/restore costs of callee save registers with block frequency

    In assign_hard_reg(), when computing the costs of the hard registers, the
    cost of saving/restoring a callee-save hard register in prolog/epilog is
    taken into consideration. However, this cost is not scaled with the entry
    block frequency. Without scaling, the cost of saving/restoring is quite
    small and this can result in a callee-save register being chosen by
    assign_hard_reg() even though there are free caller-save registers
    available. Assigning a callee save register to a pseudo that is live
    in the entire function and across a call will cause shrink wrap to fail.

    2024-06-25  Surya Kumari Jangala  <jskum...@linux.ibm.com>

    gcc/
            PR rtl-optimization/111673
            * ira-color.cc (assign_hard_reg): Scale save/restore costs of
            callee save registers with block frequency.

    gcc/testsuite/
            PR rtl-optimization/111673
            * gcc.target/powerpc/pr111673.c: New test.
  • [Bug rtl-optimization/111673] a... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to