tree-optimization/99924 - visit permute nodes again when partitioning
Since SLP graph partitioning works on scalar stmts (because it's done for costing) we have to make sure to visit permute nodes multiple times since they will not pull partitions together. 2021-04-06 Richard Biener <rguenther@suse.de> PR tree-optimization/99924 * tree-vect-slp.c (vect_bb_partition_graph_r): Do not mark nodes w/o scalar stmts as visited. * gfortran.dg/vect/pr99924.f90: New testcase.
This commit is contained in:
parent
ffc2331d79
commit
58cd9fc8a6
2 changed files with 13 additions and 1 deletions
12
gcc/testsuite/gfortran.dg/vect/pr99924.f90
Normal file
12
gcc/testsuite/gfortran.dg/vect/pr99924.f90
Normal file
|
@ -0,0 +1,12 @@
|
|||
! { dg-do compile }
|
||||
! { dg-additional-options "-march=armv8.3-a" { target aarch64-*-* } }
|
||||
subroutine cunhj (tfn, asum, bsum)
|
||||
implicit none
|
||||
complex :: up, tfn, asum, bsum
|
||||
real :: ar
|
||||
|
||||
up = tfn * ar
|
||||
bsum = up + ar
|
||||
asum = up + asum
|
||||
return
|
||||
end subroutine cunhj
|
|
@ -4224,7 +4224,7 @@ vect_bb_partition_graph_r (bb_vec_info bb_vinfo,
|
|||
stmt_instance = instance;
|
||||
}
|
||||
|
||||
if (visited.add (node))
|
||||
if (!SLP_TREE_SCALAR_STMTS (node).is_empty () && visited.add (node))
|
||||
return;
|
||||
|
||||
slp_tree child;
|
||||
|
|
Loading…
Add table
Reference in a new issue