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

--- Comment #11 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <h...@gcc.gnu.org>:

https://gcc.gnu.org/g:d3ff498c478acefce35de04402f99171b4f64a1a

commit r15-7400-gd3ff498c478acefce35de04402f99171b4f64a1a
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Sun Feb 2 07:10:55 2025 +0800

    ira: Add a target hook for callee-saved register cost scale

    commit 3b9b8d6cfdf59337f4b7ce10ce92a98044b2657b
    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

    scales the cost of saving/restoring a callee-save hard register in epilogue
    and prologue with the entry block frequency, which, if not optimizing for
    size, is 10000, for all targets.  As the result, callee-saved registers
    may not be used to preserve local variable values across calls on some
    targets, like x86.  Add a target hook for the callee-saved register cost
    scale in epilogue and prologue used by IRA.  The default version of this
    target hook returns 1 if optimizing for size, otherwise returns the entry
    block frequency.  Add an x86 version of this target hook to restore the
    old behavior prior to the above commit.

            PR rtl-optimization/111673
            PR rtl-optimization/115932
            PR rtl-optimization/116028
            PR rtl-optimization/117081
            PR rtl-optimization/117082
            PR rtl-optimization/118497
            * ira-color.cc (assign_hard_reg): Call the target hook for the
            callee-saved register cost scale in epilogue and prologue.
            * target.def (ira_callee_saved_register_cost_scale): New target
            hook.
            * targhooks.cc (default_ira_callee_saved_register_cost_scale):
            New.
            * targhooks.h (default_ira_callee_saved_register_cost_scale):
            Likewise.
            * config/i386/i386.cc (ix86_ira_callee_saved_register_cost_scale):
            New.
            (TARGET_IRA_CALLEE_SAVED_REGISTER_COST_SCALE): Likewise.
            * doc/tm.texi: Regenerated.
            * doc/tm.texi.in (TARGET_IRA_CALLEE_SAVED_REGISTER_COST_SCALE):
            New.

    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>

Reply via email to