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.
