tree-optimization/96028 - fix bogus externalizing of SLP node
authorRichard Biener <rguenther@suse.de>
Thu, 2 Jul 2020 09:45:06 +0000 (11:45 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 2 Jul 2020 12:38:28 +0000 (14:38 +0200)
commit105ecbea5f402713130fef4d41bb000e2d23493b
tree2e137197e42dc6b615ec4c8936235021e6511d56
parent053c88093a45f175f446eda009f3312e4e508514
tree-optimization/96028 - fix bogus externalizing of SLP node

This guards externalizing a SLP node when it fails to code generate
to actually have scalar defs we can use.  It also makes failure
to do so not fell the whole SLP instance but instead try this again
on the parent.

2020-07-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/96028
* tree-vect-slp.c (vect_slp_convert_to_external): Make sure
we have scalar stmts to use.
(vect_slp_analyze_node_operations): When analyzing a child
failed try externalizing the parent node.
gcc/tree-vect-slp.c