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

--- Comment #5 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <vmaka...@gcc.gnu.org>:

https://gcc.gnu.org/g:10827a92f1a8c3207b327515f77845b34c1d9512

commit r13-5761-g10827a92f1a8c3207b327515f77845b34c1d9512
Author: Vladimir N. Makarov <vmaka...@redhat.com>
Date:   Thu Feb 9 15:18:48 2023 -0500

    RA: Implement reuse of equivalent memory for caller saves optimization (2nd
version)

    The test pr103541.c shows opportunity to reuse memory with constant address
for
    caller saves optimization for constant or pure function call.  The patch
    implements the memory reuse.

            PR rtl-optimization/103541
            PR rtl-optimization/108711

    gcc/ChangeLog:

            * ira.h (struct ira_reg_equiv_s): Add new field caller_save_p.
            * ira.cc (validate_equiv_mem): Check memref address variance.
            (no_equiv): Clear caller_save_p flag.
            (update_equiv_regs): Define caller save equivalence for
            valid_combine.
            (setup_reg_equiv): Clear defined_p flag for caller save
equivalence.
            * lra-constraints.cc (lra_copy_reg_equiv): Add new arg
            call_save_p.  Use caller save equivalence depending on the arg.
            (split_reg): Adjust the call.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr103541.c: New.
            * g++.target/i386/pr108711.C: New.

Reply via email to