This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: SPARC return optimizations, misc fixes
- To: Jakub Jelinek <jakub at redhat dot com>
- Subject: Re: SPARC return optimizations, misc fixes
- From: Richard Henderson <rth at cygnus dot com>
- Date: Tue, 30 Nov 1999 14:18:38 -0800
- Cc: gcc-patches at egcs dot cygnus dot com
- References: <19991125183132.B515@mff.cuni.cz>
On Thu, Nov 25, 1999 at 06:31:32PM +0100, Jakub Jelinek wrote:
> * config/sparc/sparc.h (FIXED_REGISTERS, CONDITIONAL_REGISTER_USAGE):
> Allow the user to override call-used/fixed state of %g2-5
> registers from the command line (with the exception of %g4 for
> embedded model).
> (REG_LEAF_ALLOC_ORDER): Move %g1 and %g4-7 registers to front, so that
> there is a higher chance of having a leaf function.
> (MACHINE_STATE_SAVE, MACHINE_STATE_RESTORE): Provide separate macros
> for ARCH64 which has %ccr register.
> * config/sparc/sparc.md (return_losum_si, return_losum_di): New
> patterns.
> * config/sparc/sparc.c (eligible_for_epilogue_delay): For the return
> insn accept into delay slot any insn which does not use %[ol]
> registers. Accept some LO_SUM and shift left by 1 for the normal
> restore case.
> (output_function_epilogue): Likewise.
> (epilogue_renumber): Added argument which inhibits any renumbering
> and just tests if the rtx does not use any %[ol] registers.
> (output_return): Reflect above change.
Applied.
r~