diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2020-07-03 13:49:51 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2020-07-09 14:29:29 +0800 |
commit | 4c0d1322033ce979532425d336530b217f6b5fd3 (patch) | |
tree | 2231cca0d2c4bb3fd18d79df4ae435364f8edcf8 /gcc/tree-vect-loop.c | |
parent | 50873cc588fcc20384212b6dddca74393023a0e3 (diff) | |
download | gcc-4c0d1322033ce979532425d336530b217f6b5fd3.zip gcc-4c0d1322033ce979532425d336530b217f6b5fd3.tar.gz gcc-4c0d1322033ce979532425d336530b217f6b5fd3.tar.bz2 |
RISC-V: Disable remove unneeded save-restore call optimization if there are any arguments on stack.
- 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.
Diffstat (limited to 'gcc/tree-vect-loop.c')
0 files changed, 0 insertions, 0 deletions