i386: Use the STC bb-reorder algorithm at -Os (PR67864)

For x86, STC still gives better results for optimise-for-size than
"simple" does.  So use STC at -Os as well.


	PR rtl-optimization/67864
	* common/config/i386/i386-common.c (ix86_option_optimization_table)
	<OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
	at -Os and up.

From-SVN: r229937
This commit is contained in:
Segher Boessenkool 2015-11-07 20:44:21 +01:00 committed by Segher Boessenkool
parent a153644f75
commit bc05d49d10
2 changed files with 10 additions and 0 deletions

View File

@ -1,3 +1,10 @@
2015-11-07 Segher Boessenkool <segher@kernel.crashing.org>
PR rtl-optimization/67864
* common/config/i386/i386-common.c (ix86_option_optimization_table)
<OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
at -Os and up.
2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
* trans-mem.c (is_tm_pure_call): Use gimple_call_flags for

View File

@ -997,6 +997,9 @@ static const struct default_options ix86_option_optimization_table[] =
{ 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 },
/* The STC algorithm produces the smallest code at -Os, for x86. */
{ OPT_LEVELS_2_PLUS, OPT_freorder_blocks_algorithm_, NULL,
REORDER_BLOCKS_ALGORITHM_STC },
/* 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 },