diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2025-01-03 18:12:07 +0000 |
---|---|---|
committer | Richard Sandiford <richard.sandiford@arm.com> | 2025-01-03 18:12:07 +0000 |
commit | 355475e332f264107ef07555f7c379be7b85942f (patch) | |
tree | 050030ceb72dd814daddb01cae54dfa345067877 /gcc/c/c-parser.cc | |
parent | 92ad6d4ebfe5454b9299f295926517bd453bc4a2 (diff) | |
download | gcc-355475e332f264107ef07555f7c379be7b85942f.zip gcc-355475e332f264107ef07555f7c379be7b85942f.tar.gz gcc-355475e332f264107ef07555f7c379be7b85942f.tar.bz2 |
rtlanal: Treat writes to sp as also writing to memory [PR117938]
This PR was about a case in which late-combine moved a stack
deallocation across an earlier stack access. This was possible
because the deallocation was missing the RTL-SSA equivalent of
a vop, which in turn was because rtl_properties didn't treat
the deallocation as writing to memory. I think the bug was
ultimately there.
gcc/
PR rtl-optimization/117938
* rtlanal.cc (rtx_properties::try_to_add_dest): Treat writes
to the stack pointer as also writing to memory.
gcc/testsuite/
PR rtl-optimization/117938
* gcc.dg/torture/pr117938.c: New test.
Diffstat (limited to 'gcc/c/c-parser.cc')
0 files changed, 0 insertions, 0 deletions