diff mbox

[P1,tree-optimization/68541] Add heuristics to path splitting

Message ID 56B8F303.8090109@redhat.com
State New
Headers show

Commit Message

Jeff Law Feb. 8, 2016, 7:56 p.m. UTC
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 <law@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 mbox

Patch

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  <law@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  <jakub@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>