[PATCH 0/2] RISCV: Reduce code size when compiling with -msave-restore
Andrew Burgess
andrew.burgess@embecosm.com
Mon Aug 19 19:31:00 GMT 2019
The following two patches are an attempt at further reducing code size
when compiling with -msave-restore by attempting to claw back some of
the tail call cases where we currently include a call to
__riscv_save_0 and __riscv_restore_0.
Any feedback, or suggestions for improvements, or for better
approaches I could take are gratefully recieved.
Thanks,
Andrew
--
Andrew Burgess (2):
gcc/riscv: Include more registers in SIBCALL_REGS
gcc/riscv: Add a mechanism to remove some calls to _riscv_save_0
gcc/ChangeLog | 15 +
gcc/config.gcc | 2 +-
gcc/config/riscv/riscv-sr.c | 375 ++++++++++++++++++++++++
gcc/config/riscv/riscv.c | 13 +
gcc/config/riscv/riscv.h | 22 +-
gcc/config/riscv/t-riscv | 5 +
gcc/testsuite/ChangeLog | 10 +
gcc/testsuite/gcc.target/riscv/save-restore-2.c | 22 ++
gcc/testsuite/gcc.target/riscv/save-restore-3.c | 16 +
gcc/testsuite/gcc.target/riscv/save-restore-4.c | 27 ++
gcc/testsuite/gcc.target/riscv/save-restore-5.c | 9 +
gcc/testsuite/gcc.target/riscv/save-restore-6.c | 16 +
gcc/testsuite/gcc.target/riscv/save-restore-7.c | 30 ++
gcc/testsuite/gcc.target/riscv/save-restore-8.c | 12 +
14 files changed, 572 insertions(+), 2 deletions(-)
create mode 100644 gcc/config/riscv/riscv-sr.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-2.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-3.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-4.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-5.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-6.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-7.c
create mode 100644 gcc/testsuite/gcc.target/riscv/save-restore-8.c
--
2.14.5
More information about the Gcc-patches
mailing list