aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/sparc/sparc.c6
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f98e134..cf8e4e7 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,10 @@
2011-05-24 Eric Botcazou <ebotcazou@adacore.com>
+ * 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 <ebotcazou@adacore.com>
+
* var-tracking.c (compute_cfa_pointer): Adjust head comment.
(vt_initialize): Set PROLOGUE_BB unconditionally.
Add block comment about CFA_BASE_RTX machinery.
diff --git a/gcc/config/sparc/sparc.c b/gcc/config/sparc/sparc.c
index bd7d12a..634e44d 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. */