sparc-common.c (sparc_option_optimization_table): Enable REE at -O2 and higher.

* common/config/sparc/sparc-common.c (sparc_option_optimization_table):
	Enable REE at -O2 and higher.
	* config/sparc/sparc.c (sparc_option_override): Disable it by default
	in 32-bit mode.

From-SVN: r242841
This commit is contained in:
Eric Botcazou 2016-11-24 15:30:17 +00:00 committed by Eric Botcazou
parent 33a002b0ab
commit 94331892c3
3 changed files with 14 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2016-11-24 Eric Botcazou <ebotcazou@adacore.com>
* common/config/sparc/sparc-common.c (sparc_option_optimization_table):
Enable REE at -O2 and higher.
* config/sparc/sparc.c (sparc_option_override): Disable it by default
in 32-bit mode.
2016-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
PR target/48863

View File

@ -28,6 +28,8 @@ along with GCC; see the file COPYING3. If not see
static const struct default_options sparc_option_optimization_table[] =
{
{ OPT_LEVELS_1_PLUS, OPT_fomit_frame_pointer, NULL, 1 },
/* Enable redundant extension instructions removal at -O2 and higher. */
{ OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
{ OPT_LEVELS_NONE, 0, NULL, 0 }
};

View File

@ -1713,6 +1713,11 @@ sparc_option_override (void)
pessimizes for double floating-point registers. */
if (!global_options_set.x_flag_ira_share_save_slots)
flag_ira_share_save_slots = 0;
/* Only enable REE by default in 64-bit mode where it helps to eliminate
redundant 32-to-64-bit extensions. */
if (!global_options_set.x_flag_ree && TARGET_ARCH32)
flag_ree = 0;
}
/* Miscellaneous utilities. */