On 02/08/2016 10:02 AM, Jeff Law wrote:
After this patch I also see:
FAIL: gcc.dg/tree-ssa/split-path-1.c scan-tree-dump split-paths
"Duplicating join block"
on arm, but not on aarch64. My arm-none-eabi cross compiler is
configured with:
--with-float=hard --with-cpu=cortex-a9 --with-fpu=neon --with-mode=thumb
Thanks. That configuration just has more statements in the join block
and bumps up against the limit.
I'll probably just manually increase the limit for the test.
So just for the record, for the configuration above, we generate more
statements in the join block than for the x86_64 and aarch64 targets.
This appears to be due to differences in addressing modes and IVopts
selections.
Prior to my change for 68541, there was no limit on the number of
statements we were allowed to copy, so it "just worked", even with the
additional statements. After the change to 68541 we hit the newly added
upper limit for some configurations.
For the purposes of the test I have bumped the upper limit on how many
statements it will copy from the join block and verified by hand the
path is split as expected for the configuration noted above and verified
that the x86-64 testresults are unaffected.
Thanks,
Jeff
commit 63b766bdef44518d33a21569a089fca2356d6ffe
Author: Jeff Law <l...@redhat.com>
Date: Mon Feb 8 12:52:21 2016 -0700
PR tree-optimization/68541
* gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
of statements allowed in join block for path splitting.
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 64f512d..9f629d6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2016-02-08 Jeff Law <l...@redhat.com>
+
+ PR tree-optimization/68541
+ * gcc.dg/tree-ssa/split-path-1.c: Increase limit for number
+ of statements allowed in join block for path splitting.
+
2016-02-08 Jakub Jelinek <ja...@redhat.com>
PR c++/59627
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
b/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
index b24f6a9..8b23ef4 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/split-path-1.c
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details " } */
+/* { dg-options "-O2 -fsplit-paths -fdump-tree-split-paths-details --param
max-jump-thread-duplication-stmts=20" } */
#include <stdio.h>
#include <stdlib.h>