diff options
author | Alan Modra <amodra@gmail.com> | 2016-04-30 10:05:39 +0930 |
---|---|---|
committer | Alan Modra <amodra@gcc.gnu.org> | 2016-04-30 10:05:39 +0930 |
commit | cc5f7354319b23401cec9a800fb4f784ec506f21 (patch) | |
tree | 9bb07d742197b0598fadbc998abb013b7307d453 /gcc/config.gcc | |
parent | 8cd5d1f46ced83c462e6ababeff4b139da889fab (diff) | |
download | gcc-cc5f7354319b23401cec9a800fb4f784ec506f21.zip gcc-cc5f7354319b23401cec9a800fb4f784ec506f21.tar.gz gcc-cc5f7354319b23401cec9a800fb4f784ec506f21.tar.bz2 |
[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.
From-SVN: r235672
Diffstat (limited to 'gcc/config.gcc')
0 files changed, 0 insertions, 0 deletions