]> git.ipfire.org Git - thirdparty/gcc.git/commit
Refactor SLP permute opt propagation
authorRichard Biener <rguenther@suse.de>
Tue, 29 Jun 2021 09:30:23 +0000 (11:30 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 29 Jun 2021 11:10:36 +0000 (13:10 +0200)
commit2dfc0f2203e875621f4aeb2e2496aaeb9a2dc05b
tree0553703f170aca29424a56eeeafa18adb0efd02f
parent53fd7544aff6d0a18869017cb9bb921a7f5dcd04
Refactor SLP permute opt propagation

This rewrites the SLP permute opt propagation to elide the visited
bit for an incoming permute of -1 as well as allowing the initial
propagation to take more than one iteration before starting on
materialization.  As we still lack propagation in the reverse
direction I've added gcc.dg/vect/bb-slp-71.c and a stopgap to
restrict "any" permute handling to the supported cases.

2021-06-29  Richard Biener  <rguenther@suse.de>

* tree-vect-slp.c (slpg_vertex::visited): Remove.
(vect_slp_perms_eq): Handle -1 permutes.
(vect_optimize_slp): Rewrite permute propagation.

* gcc.dg/vect/pr67790.c: Un-XFAIL.
* gcc.dg/vect/bb-slp-71.c: New testcase.
gcc/testsuite/gcc.dg/vect/bb-slp-71.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vect/pr67790.c
gcc/tree-vect-slp.c