Commit 32ad0f03 by Teresa Johnson Committed by Teresa Johnson

i386-common.c: Enable -freorder-blocks-and-partition at -O2 and up for x86.

2013-11-19  Teresa Johnson  <tejohnson@google.com>

	* common/config/i386/i386-common.c: Enable
	-freorder-blocks-and-partition at -O2 and up for x86.
	* doc/invoke.texi: Update -freorder-blocks-and-partition default.
	* opts.c (finish_options): Only warn if -freorder-blocks-and-
	partition was set on command line.

From-SVN: r205058
parent 2ae367c1
2013-11-19 Teresa Johnson <tejohnson@google.com>
* common/config/i386/i386-common.c: Enable
-freorder-blocks-and-partition at -O2 and up for x86.
* doc/invoke.texi: Update -freorder-blocks-and-partition default.
* opts.c (finish_options): Only warn if -freorder-blocks-and-
partition was set on command line.
2013-11-19 Sriraman Tallam <tmsriram@google.com>
* final.c (final_scan_insn): Emit a label for the split
......@@ -789,6 +789,8 @@ static const struct default_options ix86_option_optimization_table[] =
{
/* Enable redundant extension instructions removal at -O2 and higher. */
{ OPT_LEVELS_2_PLUS, OPT_free, NULL, 1 },
/* Enable function splitting at -O2 and higher. */
{ OPT_LEVELS_2_PLUS, OPT_freorder_blocks_and_partition, NULL, 1 },
/* Turn off -fschedule-insns by default. It tends to make the
problem with not enough registers even worse. */
{ OPT_LEVELS_ALL, OPT_fschedule_insns, NULL, 0 },
......
......@@ -8173,6 +8173,8 @@ exception handling, for linkonce sections, for functions with a user-defined
section attribute and on any architecture that does not support named
sections.
Enabled for x86 at levels @option{-O2}, @option{-O3}.
@item -freorder-functions
@opindex freorder-functions
Reorder functions in the object file in order to
......
......@@ -737,9 +737,10 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
&& opts->x_flag_reorder_blocks_and_partition
&& (ui_except == UI_SJLJ || ui_except >= UI_TARGET))
{
inform (loc,
"-freorder-blocks-and-partition does not work "
"with exceptions on this architecture");
if (opts_set->x_flag_reorder_blocks_and_partition)
inform (loc,
"-freorder-blocks-and-partition does not work "
"with exceptions on this architecture");
opts->x_flag_reorder_blocks_and_partition = 0;
opts->x_flag_reorder_blocks = 1;
}
......@@ -752,9 +753,10 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
&& opts->x_flag_reorder_blocks_and_partition
&& (ui_except == UI_SJLJ || ui_except >= UI_TARGET))
{
inform (loc,
"-freorder-blocks-and-partition does not support "
"unwind info on this architecture");
if (opts_set->x_flag_reorder_blocks_and_partition)
inform (loc,
"-freorder-blocks-and-partition does not support "
"unwind info on this architecture");
opts->x_flag_reorder_blocks_and_partition = 0;
opts->x_flag_reorder_blocks = 1;
}
......@@ -769,9 +771,10 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set,
&& targetm_common.unwind_tables_default
&& (ui_except == UI_SJLJ || ui_except >= UI_TARGET))))
{
inform (loc,
"-freorder-blocks-and-partition does not work "
"on this architecture");
if (opts_set->x_flag_reorder_blocks_and_partition)
inform (loc,
"-freorder-blocks-and-partition does not work "
"on this architecture");
opts->x_flag_reorder_blocks_and_partition = 0;
opts->x_flag_reorder_blocks = 1;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment