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>
Fri, 6 May 2022 09:13:12 +0000 (11:13 +0200)
commit30b5b785abfff334bb50d7fd2051e991324f051f
treeeadd8efe7814f391ddba319b1ab43cc51370a604
parente229f9b8f5d060056883ddb379b191c451e20139
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.

(cherry picked from commit 3a3eda000fdf4f8754c9a2535191091f1db0c2a2)
gcc/testsuite/g++.dg/vect/pr105437.cc [new file with mode: 0644]
gcc/tree-vect-slp.cc