invoke.texi (profile-use): update documentation.

* invoke.texi (profile-use): update documentation.
	* opts.c (common_handle_option): Enable tree-vectorize
	and tree-loop-distribute-patterns.
	* tree-loop-distribution.c (tree_loop_distribution): Skip loops
	optimized for size.
	* config/i386/i386.c (ix86_option_override_internal): Enabe
	prefetch_lop_arrays for profile-use.

From-SVN: r193135
This commit is contained in:
Jan Hubicka 2012-11-04 16:51:18 +01:00 committed by Jan Hubicka
parent da04ea110d
commit f56f2d332c
5 changed files with 23 additions and 2 deletions

View File

@ -1,3 +1,13 @@
2012-11-03 Jan Hubicka <jh@suse.cz>
* invoke.texi (profile-use): update documentation.
* opts.c (common_handle_option): Enable tree-vectorize
and tree-loop-distribute-patterns.
* tree-loop-distribution.c (tree_loop_distribution): Skip loops
optimized for size.
* config/i386/i386.c (ix86_option_override_internal): Enabe
prefetch_lop_arrays for profile-use.
2012-11-03 Robert Mason <rbmj@verizon.net>
* gcov-io.c (gcov_open): Add file mode to open call (need for VxWorks)

View File

@ -3950,7 +3950,7 @@ ix86_option_override_internal (bool main_args_p)
/* Enable sw prefetching at -O3 for CPUS that prefetching is helpful. */
if (flag_prefetch_loop_arrays < 0
&& HAVE_prefetch
&& optimize >= 3
&& (optimize >= 3 || flag_profile_use)
&& TARGET_SOFTWARE_PREFETCHING_BENEFICIAL)
flag_prefetch_loop_arrays = 1;

View File

@ -8409,7 +8409,8 @@ Enable profile feedback directed optimizations, and optimizations
generally profitable only with profile feedback available.
The following options are enabled: @code{-fbranch-probabilities}, @code{-fvpt},
@code{-funroll-loops}, @code{-fpeel-loops}, @code{-ftracer}
@code{-funroll-loops}, @code{-fpeel-loops}, @code{-ftracer}, @code{-ftree-vectorize},
@code{ftree-loop-distribute-patterns}
By default, GCC emits an error message if the feedback profiles do not
match the source code. This error can be turned into a warning by using

View File

@ -1587,6 +1587,12 @@ common_handle_option (struct gcc_options *opts,
opts->x_flag_unswitch_loops = value;
if (!opts_set->x_flag_gcse_after_reload)
opts->x_flag_gcse_after_reload = value;
if (!opts_set->x_flag_tree_vectorize)
opts->x_flag_tree_vectorize = value;
if (!opts_set->x_flag_vect_cost_model)
opts->x_flag_vect_cost_model = value;
if (!opts_set->x_flag_tree_loop_distribute_patterns)
opts->x_flag_tree_loop_distribute_patterns = value;
break;
case OPT_fprofile_generate_:

View File

@ -1511,6 +1511,10 @@ tree_loop_distribution (void)
if (!single_exit (loop))
continue;
/* Only optimize hot loops. */
if (!optimize_loop_for_speed_p (loop))
continue;
/* Only distribute loops with a header and latch for now. */
if (loop->num_nodes > 2)
continue;