]> git.ipfire.org Git - thirdparty/gcc.git/commit
Implement out-of-line FPR and GPR saves for PPC/Darwin
authorIain Sandoe <iains@gcc.gnu.org>
Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)
commite0f19b55ae71acd195e1c439584c4b4fe5cbd89c
tree315fd6729e217b6acb084076cde59d26fab2b571
parentee3b466d6584e531f0739a5d51ee7c8fc8af6bb5
Implement out-of-line FPR and GPR saves for PPC/Darwin

gcc:

* config/rs6000/t-darwin (LIB2FUNCS_STATIC_EXTRA):
Move darwin-fpsave.asm from here to ... LIB2FUNCS_EXTRA.
(LIB2FUNCS_EXTRA):  Add darwin-gpsave.asm.
(TARGET_LIBGCC2_CFLAGS): Ensure that fPIC and -pipe are inherited from
config/t-darwin.
* config/rs6000/darwin.h (FP_SAVE_INLINE): Adjust to enable.
(GP_SAVE_INLINE): Likewise.
(SAVE_FP_PREFIX,  SAVE_FP_SUFFIX, RESTORE_FP_PREFIX,
RESTORE_FP_SUFFIX): Set to empty strings.
* config/rs6000/rs6000.c (rs6000_savres_strategy): Implement for Darwin.
(debug_stack_info): Print savres_strategy.
(rs6000_savres_routine_name): Implement for Darwin.
(rs6000_make_savres_rtx): Adjust used register for Darwin.
(rs6000_emit_prologue): Implement out-of-line saves for Darwin.
(rs6000_output_function_prologue): Don't emit .extern for Mach-O.
(rs6000_emit_epilogue): Implement out-of-line saves for Darwin.
* config/rs6000/darwin-gpsave.asm: New file.

From-SVN: r180610
gcc/ChangeLog
gcc/config/rs6000/darwin-gpsave.asm [new file with mode: 0644]
gcc/config/rs6000/darwin.h
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/t-darwin