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

--- Comment #3 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:1f7e5a7b91862b999aab88ee0319052aaf00f0f1

commit r14-2380-g1f7e5a7b91862b999aab88ee0319052aaf00f0f1
Author: Vladimir N. Makarov <vmaka...@redhat.com>
Date:   Fri Jul 7 09:53:38 2023 -0400

    LRA: Refine reload pseudo class

    For given testcase a reload pseudo happened to occur only in reload
    insns created on one constraint sub-pass.  Therefore its initial class
    (ALL_REGS) was not refined and the reload insns were not processed on
    the next constraint sub-passes.  This resulted into the wrong insn.

            PR rtl-optimization/110372

    gcc/ChangeLog:

            * lra-assigns.cc (assign_by_spills): Add reload insns involving
            reload pseudos with non-refined class to be processed on the next
            sub-pass.
            * lra-constraints.cc (enough_allocatable_hard_regs_p): New func.
            (in_class_p): Use it.
            (print_curr_insn_alt): New func.
            (process_alt_operands): Use it.  Improve debug info.
            (curr_insn_transform): Use print_curr_insn_alt.  Refine reload
            pseudo class if it is not refined yet.

    gcc/testsuite/ChangeLog:

            * gcc.target/i386/pr110372.c: New.
  • [Bug rtl-optimization/110372] [... cvs-commit at gcc dot gnu.org via Gcc-bugs

Reply via email to