aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-expr.cc
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2023-03-14 11:41:51 -0700
committerH.J. Lu <hjl.tools@gmail.com>2025-02-16 08:19:32 +0800
commit11902be7a57c0ccf03786aa0255fffaf0f54dbf9 (patch)
tree9d81001487af11d81d2e0518e5e79072c1e93180 /gcc/fortran/trans-expr.cc
parentfa699c10b5921dd6d76f9f7dca97c0945f74f7ac (diff)
downloadgcc-11902be7a57c0ccf03786aa0255fffaf0f54dbf9.zip
gcc-11902be7a57c0ccf03786aa0255fffaf0f54dbf9.tar.gz
gcc-11902be7a57c0ccf03786aa0255fffaf0f54dbf9.tar.bz2
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 (ix86_update_stack_alignment): New. (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.tools@gmail.com>
Diffstat (limited to 'gcc/fortran/trans-expr.cc')
0 files changed, 0 insertions, 0 deletions