This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Enable array prefetching also with -fprofile-use
- From: Richard Guenther <rguenther at suse dot de>
- To: Jan Hubicka <hubicka at ucw dot cz>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 2 Jul 2010 15:03:13 +0200 (CEST)
- Subject: Re: Enable array prefetching also with -fprofile-use
- References: <20100702130012.GD6378@kam.mff.cuni.cz>
On Fri, 2 Jul 2010, Jan Hubicka wrote:
> Hi,
> with -fprofile-use the prefetching should not be risky since we have idea about
> what loops are hot and what are their average number of iterations. So I think
> we ought to enable the pass as we do with -O3.
>
> If there will not be complains, I will commit the following tonight.
> bootstrapped/regtested x86_64-linux
Well. We know that prefetching causes a lot of compile-time and
code-size issues which are not really acceptable with -O1 or -O2
(nor -Os - with -Os you even get funny diagnostics).
So, please restrict this to !optimize_size at least and make sure
that we do not suffer from code-size or compile-time explosion
(for example by checking 465.tonto).
Richard.
> Honza
> * config/i386/i386.c (override_options): Enable prefetching also with
> -fprofile-use.
> Index: config/i386/i386.c
> ===================================================================
> --- config/i386/i386.c (revision 161690)
> +++ config/i386/i386.c (working copy)
> @@ -3558,7 +3558,7 @@ override_options (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)
> && software_prefetching_beneficial_p ())
> flag_prefetch_loop_arrays = 1;