Go to file
Nathan Froyd f78c3290cd rs6000.c (emit_allocate_stack): Add copy_r11 parameter.
* config/rs6000/rs6000.c (emit_allocate_stack): Add copy_r11
	parameter.  Copy stack_reg to r11 where appropriate.
	(no_global_regs_above): Add gpr parameter.
	(rs6000_stack_info): Only add padding for SPE save area if we
	are saving SPE GPRs and CR.
	(saveres_routine_syms): New variable.
	(FIRST_SAVRES_REGISTER, LAST_SAVRES_REGISTER, N_SAVRES_REGISTERS):
	Define.
	(rs6000_savres_routine_sym): New function.
	(rs6000_emit_stack_reset, rs6000_restore_saved_cr): New functions,
	split out of...
	(rs6000_emit_epilogue): ...here.  Use rs6000_use_multiple_p and
	rs6000_savres_strategy.  Restore GPRs out-of-line if appropriate.
	Tweak FPR out-of-line saving.
	(rs6000_make_savres_rtx): New function.
	(rs6000_use_multiple_p): New function.
	(rs6000_savres_strategy): New function.
	(rs6000_emit_prologue): Use rs6000_savres_strategy.  Save GPRs
	out-of-line if appropriate.
	* config/rs6000/sysv4.h (FP_SAVE_INLINE): Save FPRs out-of-line
	if we are optimizing for size.
	(GP_SAVE_INLINE): Define.
	(SAVE_FP_SUFFIX, RESTORE_FP_SUFFIX): Only use _l on 64-bit targets.
	* config/rs6000/darwin.h (GP_SAVE_INLINE): Define.
	* config/rs6000/aix.h (GP_SAVE_INLINE): Define.
	* config/rs6000/rs6000.md (*save_gpregs_<mode>): New insn.
	(*save_fpregs_<mode>): Add use of r11.
	(*restore_gpregs_<mode>): New insn.
	(*return_and_restore_gpregs_<mode>): New insn.
	(*return_and_restore_fpregs_<mode>): Adjust to clobber LR and
	use r11.
	* config/rs6000/spe.md (*save_gpregs_spe): New insn.
	(*restore_gpregs_spe): New insn.
	(*return_and_restore_gpregs_spe): New insn.
	* config/rs6000/predicates.md (save_world_operation): Fix check.

From-SVN: r137160
2008-06-26 20:12:41 +00:00
boehm-gc Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
config Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
contrib
fixincludes Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
gcc rs6000.c (emit_allocate_stack): Add copy_r11 parameter. 2008-06-26 20:12:41 +00:00
gnattools Makefile.in: Fix *86 kfreebsd target specific pairs. 2008-06-26 10:16:26 +00:00
include libiberty.h (XALLOCA, [...]): New. 2008-06-24 01:42:31 +00:00
INSTALL
intl Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libada Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libcpp Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libdecnumber Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libffi Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libgcc t-ppccomm: Remove rules that conflict with auto-generated rules. 2008-06-26 14:15:49 +00:00
libgfortran Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libgomp re PR c++/36523 (OpenMP task construct fails to instantiate copy constructor) 2008-06-20 04:18:07 +02:00
libiberty Adjust strsignal to POSIX 200x prototype. 2008-06-19 15:08:53 +00:00
libjava re PR libgcj/32198 (rmic fails if remote method throws superclass of RemoteException) 2008-06-24 18:31:49 +00:00
libmudflap Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libobjc Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libssp Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
libstdc++-v3 stl_algo.h (partition_copy): Add in C++0x mode. 2008-06-26 17:55:23 +00:00
maintainer-scripts
zlib Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
ABOUT-NLS
ChangeLog Add missing entry 2008-06-26 17:46:21 +00:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
configure.ac configure.ac: Set TOPLEVEL_CONFIGURE_ARGUMENTS early... 2008-06-16 21:36:27 +00:00
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Update my e-mail address for my new employer. 2008-06-26 19:46:34 +00:00
Makefile.def re PR tree-optimization/36218 (VRP causes stack overflow while building libgcj) 2008-06-08 17:14:33 +01:00
Makefile.in Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
Makefile.tpl Makefile.tpl ($(srcdir)/configure): Update dependencies. 2008-06-17 23:13:35 +00:00
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.