* config/sparc/sparc-protos.h (sparc_optimization_options): Declare.
* config/sparc/sparc.h (OPTIMIZATION_OPTIONS): Define.
* config/sparc/sparc.c (sparc_optimization_options): New function.
Set flag_ira_share_save_slots to 0.
From-SVN: r174280
2011-05-26 Eric Botcazou <ebotcazou@adacore.com>
+ * config/sparc/sparc-protos.h (sparc_optimization_options): Declare.
+ * config/sparc/sparc.h (OPTIMIZATION_OPTIONS): Define.
+ * config/sparc/sparc.c (sparc_optimization_options): New function.
+ Set flag_ira_share_save_slots to 0.
+
Backport from mainline
2011-01-21 Jeff Law <law@redhat.com>
extern int check_pic (int);
extern int short_branch (int, int);
extern void sparc_profile_hook (int);
+extern void sparc_optimization_options (int, int);
extern void sparc_override_options (void);
extern void sparc_output_scratch_registers (FILE *);
return true;
}
+/* Specify default optimizations. */
+
+void
+sparc_optimization_options (int l ATTRIBUTE_UNUSED, int s ATTRIBUTE_UNUSED)
+{
+ /* 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. */
+ flag_ira_share_save_slots = 0;
+}
+
/* Validate and override various options, and do some machine dependent
initialization. */
#define CAN_DEBUG_WITHOUT_FP
/* Option handling. */
-
+#define OPTIMIZATION_OPTIONS(LEVEL, SIZE) \
+ sparc_optimization_options ((LEVEL), (SIZE))
#define OVERRIDE_OPTIONS sparc_override_options ()
\f
/* Mask of all CPU selection flags. */