[PATCH][4.3][RFC] Disable field-sensitive aliasing at -O1 (fix PR36474)

Richard Guenther rguenther@suse.de
Wed Jun 11 09:16:00 GMT 2008


On Mon, 9 Jun 2008, Daniel Berlin wrote:

> Sounds like a good idea to me. I can't think of any reason SFT's
> should be on at O1.
> 
> On Mon, Jun 9, 2008 at 9:10 AM, Richard Guenther <rguenther@suse.de> wrote:
> >
> > PR36474 is another case where silly big source code is taking ages to
> > build with basic optimization (-O1) and uses unreasonable amount of
> > memory (I aborted the compile after 15mins when it was starting to run
> > into swap on a 3GB machine).
> >
> > This is likely a fallout from the aliasing-with-SFT fixes that forces
> > some of the SFTs to be unpartitioned.  Disabling SFTs makes the testcase
> > build almost instantly even with -O2.
> >
> > Thus I propose to disable SFTs on the 4.3 branch _for -O1 only_ with
> > the reason that -O1 should be a usable fallback for compile-time and
> > memory-usage problems.  I'd declare -O2 WONTFIX for the branch though
> > (I don't want to spend the time to eventually tune the value for
> > max-fields-for-field-sensitive -- the specific testcase is fine with
> > 32 but not with 64, though I guess it's simply a lot of temporaries
> > of the same type that is decomposed with 64 but not with 32).
> >
> > Thoughts?  I'll see to not break any testcases, so eventually the
> > zero for max-fields-for-field-sensitive will become N << 100
> > (which is the default now).
> >
> > Thanks,
> > Richard.
> >
> > 2008-06-09  Richard Guenther  <rguenther@suse.de>
> >
> >        PR tree-optimization/36474
> >        * opts.c (decode_options): Set max-fields-for-field-sensitive
> >        parameter to 100 for -O2, -Os and -O3.
> >        * params.def (max-fields-for-field-sensitive): Set default to zero.
> >        * doc/invoke.texi (max-fields-for-field-sensitive): Document
> >        defaults.

Committed as r136656.

Richard.



More information about the Gcc-patches mailing list