r235672 - in /trunk/gcc: ChangeLog config/rs600...

amodra@gcc.gnu.org amodra@gcc.gnu.org
Sat Apr 30 00:35:00 GMT 2016


Author: amodra
Date: Sat Apr 30 00:35:39 2016
New Revision: 235672

URL: https://gcc.gnu.org/viewcvs?rev=235672&root=gcc&view=rev
Log:
[RS6000] Allow saving of fixed regs.

As I noted a long time ago in the comment on fixed_reg_p, the real
problem with saving fixed/global regs is that exception frame
unwinding might restore them.  So don't emit eh_frame info for any
such reg, and the unwinder won't restore them.

Also, tidy rs6000_savres_strategy.  Delaying some checks means we
won't iterate over regs quite so often.

	* config/rs6000/rs6000.c (rs6000_savres_strategy): Force inline
	restoring when fixed_reg_p, but allow out-of-line or stmw save.
	Check for user regs later to avoid unnecessary looping over regs.
	Merge user reg check with non-saved reg check.  Don't force
	inline VR restore when static chain used.
	(rs6000_frame_related): Omit eh_frame info for user regs when
	saving.
	(fixed_regs_p): Delete.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/rs6000.c



More information about the Gcc-cvs mailing list