public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/2] RISCV: Reduce code size when compiling with -msave-restore
@ 2019-08-19 19:31 Andrew Burgess
  2019-08-19 19:47 ` [PATCH 2/2] gcc/riscv: Add a mechanism to remove some calls to _riscv_save_0 Andrew Burgess
  2019-08-19 19:50 ` [PATCH 1/2] gcc/riscv: Include more registers in SIBCALL_REGS Andrew Burgess
  0 siblings, 2 replies; 20+ messages in thread
From: Andrew Burgess @ 2019-08-19 19:31 UTC (permalink / raw)
  To: gcc-patches; +Cc: Jim Wilson, Andrew Burgess

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

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2019-10-28 16:30 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-19 19:31 [PATCH 0/2] RISCV: Reduce code size when compiling with -msave-restore Andrew Burgess
2019-08-19 19:47 ` [PATCH 2/2] gcc/riscv: Add a mechanism to remove some calls to _riscv_save_0 Andrew Burgess
2019-08-23  7:46   ` Jim Wilson
2019-08-26  2:17     ` Jim Wilson
2019-08-31  2:55       ` Jim Wilson
2019-08-31 13:12         ` Andreas Schwab
2019-08-31 13:57         ` Andreas Schwab
2019-09-06 23:41           ` Jim Wilson
2019-08-24 17:18   ` Jim Wilson
2019-10-21 12:53   ` Andrew Burgess
2019-10-23  0:59     ` Jim Wilson
2019-10-28 17:18       ` Andrew Burgess
2019-08-19 19:50 ` [PATCH 1/2] gcc/riscv: Include more registers in SIBCALL_REGS Andrew Burgess
2019-08-19 19:54   ` Andrew Waterman
2019-08-23  7:13   ` Jim Wilson
2019-08-24 10:55     ` Jim Wilson
2019-10-16 21:14   ` [PATCH] RISC-V: " Jim Wilson
2019-10-17 14:15     ` Andrew Burgess
2019-10-17 22:05       ` Jim Wilson
2019-10-17 22:22         ` Andrew Burgess

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).