diff options
author | Richard Biener <rguenther@suse.de> | 2020-10-30 11:26:18 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2020-10-30 12:28:42 +0100 |
commit | 33c0f246f799b7403171e97f31276a8feddd05c9 (patch) | |
tree | dcefa6830ca686873ca6eb113d6b45402c282517 /gcc/fortran/dump-parse-tree.c | |
parent | 5cafae2c5baf161d4cff83a5d089952fb9d3b7d3 (diff) | |
download | gcc-33c0f246f799b7403171e97f31276a8feddd05c9.zip gcc-33c0f246f799b7403171e97f31276a8feddd05c9.tar.gz gcc-33c0f246f799b7403171e97f31276a8feddd05c9.tar.bz2 |
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 <rguenther@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.
Diffstat (limited to 'gcc/fortran/dump-parse-tree.c')
0 files changed, 0 insertions, 0 deletions