On Fri, 31 Mar 2017, Bin.Cheng wrote: > On Fri, Mar 31, 2017 at 2:57 PM, Bin.Cheng <amker.ch...@gmail.com> wrote: > > On Fri, Mar 31, 2017 at 11:37 AM, Richard Biener <rguent...@suse.de> wrote: > >> On Fri, 31 Mar 2017, Markus Trippelsdorf wrote: > >> > >>> On 2017.03.31 at 11:16 +0200, Richard Biener wrote: > >>> > On Fri, 31 Mar 2017, Richard Biener wrote: > >>> > > >>> > > On Fri, 31 Mar 2017, Rainer Orth wrote: > >>> > > > >>> > > > Hi Christophe, > >>> > > > > >>> > > > > With this patch, the following testcase now fails on arm* targets: > >>> > > > > gcc.dg/tree-ssa/pr71347.c scan-tree-dump-not optimized ".* = > >>> > > > > MEM.*;" > >>> > > > > >>> > > > same on Solaris/SPARC. > >>> > > > >>> > > I've reverted r241968 with (patch reverted). It doesn't include > >>> > > sparc, so please amend as you see fit. > >>> > > >>> > Ah, r241441. I'll fixup myself then. > >>> > >>> It also fails on some X86 configurations: > >>> https://gcc.gnu.org/ml/gcc-regression/2017-03/msg00237.html > >>> https://gcc.gnu.org/ml/gcc-regression/2017-03/msg00238.html > >> > >> I see. The test is somewhat strange (well, it's an IVOPTS test). To > >> simulate the effect of the PRE changes we could simply enable > >> -fpredictive-commoning on it. > >> > >> Let's ask Bin what the testcase was supposed to test... (the testcase > >> comment suggests that pcom is applied but it certainly wasn't before > >> the xfails were removed). > > > > It's supposed to test that both loads inside loop can be optimized, > > X[i-1] by predcom or pre; X[1] by loop invariant. When the test is > > added, neither pre nor predcom (not at O2) can do this, but we have > > another chance that pre + ivopts + dom together can eliminate X[i-1]. > > But this really depends on each pass does the right thing. That's > > also why it is added with ivopts change. Back in time, it was ivopts > > did "wrong". Apparently, having a test on different passes is > > fragile. I will send a patch adding option "-fpredictive-commoning" > > because predcom seems the right pass to do that. Also given we are > > considering enabling predcom at O2 for GCC 8. > Here is the patch. Test result checked on arm-none-eabi. Is it OK?
Ok. > Thanks, > bin > gcc/testsuite/ChangeLog > 2017-03-31 Bin Cheng <bin.ch...@arm.com> > > * gcc.dg/tree-ssa/pr71347.c: Add predcom and drop XFAIL. > > Thanks, > bin > -- Richard Biener <rguent...@suse.de> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)