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

--- Comment #44 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:b9ea3b2ef98048f93b02fcd6ff51777bce1676c2

commit r16-194-gb9ea3b2ef98048f93b02fcd6ff51777bce1676c2
Author: H.J. Lu <hjl.to...@gmail.com>
Date:   Tue Mar 14 11:41:51 2023 -0700

    x86: Properly find the maximum stack slot alignment

    Don't assume that stack slots can only be accessed by stack or frame
    registers.  We first find all registers defined by stack or frame
    registers.  Then check memory accesses by such registers, including
    stack and frame registers.

    gcc/

            PR target/109780
            PR target/109093
            * config/i386/i386.cc (stack_access_data): New.
            (ix86_update_stack_alignment): Likewise.
            (ix86_find_all_reg_use_1): Likewise.
            (ix86_find_all_reg_use): Likewise.
            (ix86_find_max_used_stack_alignment): Also check memory accesses
            from registers defined by stack or frame registers.

    gcc/testsuite/

            PR target/109780
            PR target/109093
            * g++.target/i386/pr109780-1.C: New test.
            * gcc.target/i386/pr109093-1.c: Likewise.
            * gcc.target/i386/pr109780-1.c: Likewise.
            * gcc.target/i386/pr109780-2.c: Likewise.
            * gcc.target/i386/pr109780-3.c: Likewise.

    Signed-off-by: H.J. Lu <hjl.to...@gmail.com>
    Co-Authored-By: Uros Bizjak <ubiz...@gmail.com>

Reply via email to