https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97626
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:33c0f246f799b7403171e97f31276a8feddd05c9 commit r11-4569-g33c0f246f799b7403171e97f31276a8feddd05c9 Author: Richard Biener <rguent...@suse.de> Date: Fri Oct 30 11:26:18 2020 +0100 tree-optimization/97626 - handle SCCs properly in SLP stmt analysis This makes sure to roll-back the whole SCC when we fail stmt analysis, otherwise the optimistic visited treatment breaks down with different entries. Rollback is easy when tracking additions to visited in a vector which also makes the whole thing cheaper than the two hash-sets used before. 2020-10-30 Richard Biener <rguent...@suse.de> PR tree-optimization/97626 * tree-vect-slp.c (vect_slp_analyze_node_operations): Exchange the lvisited hash-set for a vector, roll back recursive adds to visited when analysis failed. (vect_slp_analyze_operations): Likewise. * gcc.dg/vect/bb-slp-pr97626.c: New testcase.