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

--- Comment #2 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Vladimir Makarov <[email protected]>:

https://gcc.gnu.org/g:1900dcf5521c9b2b734eb3b805eb23b066b988c1

commit r16-7412-g1900dcf5521c9b2b734eb3b805eb23b066b988c1
Author: Vladimir N. Makarov <[email protected]>
Date:   Mon Feb 9 09:04:05 2026 -0500

    [PR123796, LRA]: Propagate pointer flag from the equivalence target

    Some targets can use pointer (frame related) flag to generate the
    correct code and improve the code.  Substitution of equivalence in an
    insn and reloading it resulted in loosing pointer flag of the original
    equivalence target in the reload register.  The patch solves this
    problem by using set of equivalences whose original targets have the
    pointer flags and propagating this flag to equivalence copies and
    reload registers.

    gcc/ChangeLog:

            PR rtl-optimization/123796
            * lra-int.h (lra_pointer_equiv_set_add): Add prototype.
            (lra_pointer_equiv_set_in, lra_finish_equiv): Ditto.
            * lra.cc (lra_emit_move): Set up pointer flag of the destination
            if necessary.
            (lra): Call lra_finish_equiv.
            * lra-constraints.cc: Include hash-set.h.
            (pointer_equiv_set, lra_pointer_equiv_set_add): New.
            (lra_pointer_equiv_set_in, lra_finish_equiv): New.
            (get_equiv_with_elimination): Propagate pointer flag by adding to
            pointer_equiv_set.
            (process_addr_reg, curr_insn_transform): Ditto.

Reply via email to