aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2016-04-30 10:05:39 +0930
committerAlan Modra <amodra@gcc.gnu.org>2016-04-30 10:05:39 +0930
commitcc5f7354319b23401cec9a800fb4f784ec506f21 (patch)
tree9bb07d742197b0598fadbc998abb013b7307d453 /gcc/config.gcc
parent8cd5d1f46ced83c462e6ababeff4b139da889fab (diff)
downloadgcc-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