From 24d1bbc7b5ea8655be7fa40a462a417cac8e8ecd Mon Sep 17 00:00:00 2001 From: Eric Botcazou Date: Tue, 24 May 2011 22:28:48 +0000 Subject: [PATCH] sparc.c (sparc_option_override): If not set by the user, force flag_ira_share_save_slots to 0. * config/sparc/sparc.c (sparc_option_override): If not set by the user, force flag_ira_share_save_slots to 0. From-SVN: r174148 --- gcc/ChangeLog | 5 +++++ gcc/config/sparc/sparc.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f98e134216c..cf8e4e75752 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2011-05-24 Eric Botcazou + + * config/sparc/sparc.c (sparc_option_override): If not set by the user, + force flag_ira_share_save_slots to 0. + 2011-05-24 Eric Botcazou * var-tracking.c (compute_cfa_pointer): Adjust head comment. diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c index bd7d12a6553..634e44d15e8 100644 --- a/gcc/config/sparc/sparc.c +++ b/gcc/config/sparc/sparc.c @@ -933,6 +933,12 @@ sparc_option_override (void) ? 64 : 32), global_options.x_param_values, global_options_set.x_param_values); + + /* Disable save slot sharing for call-clobbered registers by default. + The IRA sharing algorithm works on single registers only and this + pessimizes for double floating-point registers. */ + if (!global_options_set.x_flag_ira_share_save_slots) + flag_ira_share_save_slots = 0; } /* Miscellaneous utilities. */ -- 2.30.2