sparc.c (sparc_option_override): If not set by the user, force flag_ira_share_save_sl...
authorEric Botcazou <ebotcazou@adacore.com>
Tue, 24 May 2011 22:28:48 +0000 (22:28 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Tue, 24 May 2011 22:28:48 +0000 (22:28 +0000)
* 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
gcc/config/sparc/sparc.c

index f98e134216c66d4685f2a9cdfe88808f68997a17..cf8e4e75752eed7d1d94dbd1ca4a0ef66e7e76e1 100644 (file)
@@ -1,3 +1,8 @@
+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.
index bd7d12a65535e3c5d7eeb46e0438b0b1497f4278..634e44d15e826015be4db8a41cf70dd1f3075b5c 100644 (file)
@@ -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;
 }
 \f
 /* Miscellaneous utilities.  */