tree-optimization/105437 - BB vect with extern defs of throwing stmts
authorRichard Biener <rguenther@suse.de>
Mon, 2 May 2022 07:30:27 +0000 (09:30 +0200)
committerRichard Biener <rguenther@suse.de>
Mon, 2 May 2022 08:43:40 +0000 (10:43 +0200)
commit3a3eda000fdf4f8754c9a2535191091f1db0c2a2
tree2a87f4a9948f63e93e70a215daedc2ac9c45d70c
parent82a344f206725ba002af4fed318f37dfb7e566a0
tree-optimization/105437 - BB vect with extern defs of throwing stmts

We have to watch out for vectorized stmt insert locations if the
def from the last stmt alters control flow.  We constrain region
building so we know the def is outside of the current region
and thus we can insert at the region start point.

2022-05-02  Richard Biener  <rguenther@suse.de>

PR tree-optimization/105437
* tree-vect-slp.cc (vect_schedule_slp_node): Handle the
case where last_stmt alters control flow.

* g++.dg/vect/pr105437.cc: New testcase.
gcc/testsuite/g++.dg/vect/pr105437.cc [new file with mode: 0644]
gcc/tree-vect-slp.cc