diff options
author | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-01-12 16:48:53 +0000 |
---|---|---|
committer | Maciej W. Rozycki <macro@orcam.me.uk> | 2025-01-12 16:48:53 +0000 |
commit | 3cf0e6ab2aa9e7cb9a406079ff19856a6461d9f0 (patch) | |
tree | cfc150945dce66ffb1ffcad1009963b87a171e8e /gcc/fortran/dump-parse-tree.cc | |
parent | 46861167f548ec622918d95acd2424b64f56797d (diff) | |
download | gcc-3cf0e6ab2aa9e7cb9a406079ff19856a6461d9f0.zip gcc-3cf0e6ab2aa9e7cb9a406079ff19856a6461d9f0.tar.gz gcc-3cf0e6ab2aa9e7cb9a406079ff19856a6461d9f0.tar.bz2 |
Alpha: Restore frame pointer last in `builtin_longjmp' [PR64242]
Add similar arrangements to `builtin_longjmp' for Alpha as with commit
71b144289c1c ("re PR middle-end/64242 (Longjmp expansion incorrect)")
and commit 511ed59d0b04 ("Fix PR64242 - Longjmp expansion incorrect"),
so as to restore the frame pointer last, so that accesses to a local
buffer supplied can still be fulfilled with memory accesses via the
original frame pointer, fixing:
FAIL: gcc.c-torture/execute/pr64242.c -O0 execution test
FAIL: gcc.c-torture/execute/pr64242.c -O1 execution test
FAIL: gcc.c-torture/execute/pr64242.c -O2 execution test
FAIL: gcc.c-torture/execute/pr64242.c -O3 -g execution test
FAIL: gcc.c-torture/execute/pr64242.c -Os execution test
FAIL: gcc.c-torture/execute/pr64242.c -O2 -flto -fno-use-linker-plugin -flto-partition=none execution test
FAIL: gcc.c-torture/execute/pr64242.c -O2 -flto -fuse-linker-plugin -fno-fat-lto-objects execution test
and adding no regressions in `alpha-linux-gnu' testing.
gcc/
PR middle-end/64242
* config/alpha/alpha.md (`builtin_longjmp'): Restore frame
pointer last. Add frame clobber and schedule blockage.
Diffstat (limited to 'gcc/fortran/dump-parse-tree.cc')
0 files changed, 0 insertions, 0 deletions