[PATCH] Fix typo, fixing PR87465

Richard Biener rguenther@suse.de
Thu Oct 4 09:23:00 GMT 2018


On Wed, 3 Oct 2018, Christophe Lyon wrote:

> On Mon, 1 Oct 2018 at 11:36, Richard Biener <rguenther@suse.de> wrote:
> >
> >
> > The following typo-fix happens to fix a --param max-peel-branches limit
> > caused missed peeling.  The typo is present everywhere, the missed
> > peeling is a regression from GCC 7.
> >
> > Bootstrap and regtest running on x86_64-unknown-linux-gnu.
> >
> > I'm not really considering to backport this anywhere.  Note the
> > testcase isn't fully optimized on the tree level because
> > DOM doesn't figure out the trivial CSE after SLP vectorizes the
> > array init (we have PRs for that issue).
> >
> > Richard.
> >
> > 2018-10-01  Richard Biener  <rguenther@suse.de>
> >
> >         PR tree-optimization/87465
> >         * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix typo
> >         causing branch miscounts.
> >
> >         * gcc.dg/tree-ssa/cunroll-15.c: New testcase.
> >
> 
> Hi,
> 
> The new testcase fails on arm and powerpc.

Bah, it's the old issue that DOM doesn't handle CSE of

  in = *.LC0;
  _52 = in[1];
  _51 = in[0];

I see no other way of xfailing for a specific list of targets then.

Please feel free to amend if new ones pop up.

I'm committing the following.  I really wonder if we could go
for a cheap non-iterating FRE now (and whether late jump threading
from DOM is important).

Richard.

2018-10-04  Richard Biener  <rguenther@suse.de>

	* gcc.dg/tree-ssa/cunroll-15.c: Add XFAILs for arm and powerpc.

Index: gcc/testsuite/gcc.dg/tree-ssa/cunroll-15.c
===================================================================
--- gcc/testsuite/gcc.dg/tree-ssa/cunroll-15.c	(revision 264835)
+++ gcc/testsuite/gcc.dg/tree-ssa/cunroll-15.c	(working copy)
@@ -19,4 +19,5 @@ int Test(void)
 /* { dg-final { scan-tree-dump-times "optimized:\[^\n\r\]*completely unrolled" 2 "cunroll" } } */
 /* When SLP vectorization is enabled the following will fail because DOM
    doesn't know how to deal with the vectorized initializer of in.  */
-/* { dg-final { scan-tree-dump "return 1;" "optimized" } } */
+/* DOM also doesn't know to CSE in[1] with in = *.LC0 thus the list of targets this fails.  */
+/* { dg-final { scan-tree-dump "return 1;" "optimized" { xfail { arm*-*-* powerpc-*-* } } } } */



More information about the Gcc-patches mailing list