Add forward propagation to SLP "any" permutes
authorRichard Biener <rguenther@suse.de>
Tue, 29 Jun 2021 13:26:29 +0000 (15:26 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 29 Jun 2021 14:20:14 +0000 (16:20 +0200)
commit6df6055d5c666e669890ff8572df2353e341a534
tree2707b5ac9b0b0c040279bf1f278337e75476e9fd
parent33c4e466243f2d0459d9a4d0cadc1b38a3741f3e
Add forward propagation to SLP "any" permutes

This adds a forward propagation phase to the permute optimization
machinery which allows us to handle "any" permute for all kinds of
nodes.  To match previous behavior cost-wise we still do not allow
non-external/constant nodes to be duplicated for multiple permutes
and this is ensured during propagation itself.

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

* tree-vect-slp.c (vect_optimize_slp): Forward propagate
to "any" permute nodes and relax "any" permute proapgation
during iterative backward propagation.
gcc/tree-vect-slp.c