- This optimization will adjust stack, but it not check/update other stack pointer use-site, the example is when the arguments put on stack, the offset become wrong after optimization. - However adjust stack frame usage after register allocation could be error prone, so we decide to turn off this optimization for such case. - Ye-Ting Kuo report this issue on github: https://github.com/riscv/riscv-gcc/pull/192 gcc/ChangeLog: * config/riscv/riscv-sr.c (riscv_remove_unneeded_save_restore_calls): Abort if any arguments on stack. gcc/testsuite/ChangeLog * gcc.target/riscv/save-restore-9.c: New. (cherry picked from commit 4c0d1322033ce979532425d336530b217f6b5fd3)
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
constraints.md | Loading commit data... | |
elf.h | Loading commit data... | |
freebsd.h | Loading commit data... | |
generic.md | Loading commit data... | |
linux.h | Loading commit data... | |
multilib-generator | Loading commit data... | |
peephole.md | Loading commit data... | |
pic.md | Loading commit data... | |
predicates.md | Loading commit data... | |
riscv-builtins.c | Loading commit data... | |
riscv-c.c | Loading commit data... | |
riscv-d.c | Loading commit data... | |
riscv-ftypes.def | Loading commit data... | |
riscv-modes.def | Loading commit data... | |
riscv-opts.h | Loading commit data... | |
riscv-protos.h | Loading commit data... | |
riscv-sr.c | Loading commit data... | |
riscv.c | Loading commit data... | |
riscv.h | Loading commit data... | |
riscv.md | Loading commit data... | |
riscv.opt | Loading commit data... | |
rtems.h | Loading commit data... | |
sifive-7.md | Loading commit data... | |
sync.md | Loading commit data... | |
t-elf-multilib | Loading commit data... | |
t-linux | Loading commit data... | |
t-linux-multilib | Loading commit data... | |
t-riscv | Loading commit data... | |
t-rtems | Loading commit data... | |
t-withmultilib | Loading commit data... | |
withmultilib.h | Loading commit data... |