This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
- From: Richard Biener <rguenther at suse dot de>
- To: James Greenhalgh <james dot greenhalgh at arm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, law at redhat dot com, jakub at redhat dot com
- Date: Fri, 3 Jul 2015 11:14:19 +0200 (CEST)
- Subject: Re: [Patch SRA] Fix PR66119 by calling get_move_ratio in SRA
- Authentication-results: sourceware.org; auth=none
- References: <20150626171000 dot GX10247 at tucnak dot redhat dot com> <1435671170-5281-1-git-send-email-james dot greenhalgh at arm dot com>
On Tue, 30 Jun 2015, James Greenhalgh wrote:
>
> On Fri, Jun 26, 2015 at 06:10:00PM +0100, Jakub Jelinek wrote:
> > On Fri, Jun 26, 2015 at 06:03:34PM +0100, James Greenhalgh wrote:
> > > --- /dev/null
> > > +++ b/gcc/testsuite/g++.dg/pr66119.C
> >
> > I think generally testcases shouldn't be added into g++.dg/ directly,
> > but subdirectories. So g++.dg/opt/ ?
> >
> > > @@ -0,0 +1,69 @@
> > > +/* PR66119 - MOVE_RATIO is not constant in a compiler run, so Scalar
> > > + Reduction of Aggregates must ask the back-end more than once what
> > > + the value of MOVE_RATIO now is. */
> > > +
> > > +/* { dg-do compile { target i?86-*-* x86_64-*-* } } */
> >
> > In g++.dg/, dejagnu cycles through all 3 major -std=c* versions,
> > thus using -std=c++11 is inappropriate.
> > If the test requires c++11, instead you do
> > // { dg-do compile { target { { i?86-*-* x86_64-*-* } && c++11 } } }
> >
> > > +/* { dg-options "-std=c++11 -O3 -mavx -fdump-tree-sra -march=slm" { target avx_runtime } } */
> >
> > and remove -std=c++11 here. I don't see any point in guarding it with
> > avx_runtime, after all, if not avx_runtime, the test will be compiled with
> > -O0 and thus very likely fail the scan-tree-dump test.
> >
> > As it is dg-do compile test only, you have no dependency on assembler nor
> > linker nor runtime.
> > But I'd add -mtune=slm too.
>
> Thanks, I'm used to the dance we try to do to get Neon enabled/disabled
> correctly when testing multilib environments on ARM so tried to
> overengineer things!
>
> I've updated the testcase as you suggested, and moved it to g++.dg/opt.
>
> OK?
Looks good to me now.
Thanks,
Richard.
> Thanks,
> James
>
> ---
> gcc/
>
> 2015-06-30 James Greenhalgh <james.greenhalgh@arm.com>
>
> PR tree-optimization/66119
> * toplev.c (process_options): Don't set up default values for
> the sra_max_scalarization_size_{speed,size} parameters.
> * tree-sra (analyze_all_variable_accesses): If no values
> have been set for the sra_max_scalarization_size_{speed,size}
> parameters, call get_move_ratio to get target defaults.
>
> gcc/testsuite/
>
> 2015-06-30 James Greenhalgh <james.greenhalgh@arm.com>
>
> * g++.dg/opt/pr66119.C: New.
>
>
--
Richard Biener <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Dilip Upmanyu, Graham Norton, HRB 21284 (AG Nuernberg)