]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/rs6000/darwin.h
Implement out-of-line FPR and GPR saves for PPC/Darwin
authoriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)
committeriains <iains@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 28 Oct 2011 10:33:55 +0000 (10:33 +0000)
commit053e7007991df3e8fb026236e1928ccefcd7106e
tree315fd6729e217b6acb084076cde59d26fab2b571
parent7d0793523461fa05a437f8a652bf3232b984d079
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180610 138bc75d-0d04-0410-961f-82ee72b054a4
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