tree-optimization/100089 - BB vectorization of if-converted loop bodies
authorRichard Biener <rguenther@suse.de>
Fri, 21 Jan 2022 12:29:06 +0000 (13:29 +0100)
committerRichard Biener <rguenther@suse.de>
Fri, 21 Jan 2022 13:23:07 +0000 (14:23 +0100)
commit199cd0e0f8744ca1e61a95987b2d020a592a46d9
treeb06960797e39b8d674a77c2e6dc6fe616cd14d26
parent7d47aae7cd4bb4dbf1e59a52c2a3f127151c8fab
tree-optimization/100089 - BB vectorization of if-converted loop bodies

The PR complains that when we only partially BB vectorize an
if-converted loop body that this can leave unvectorized code
unconditionally executed and thus effectively slow down code.
For -O2 we already mitigated the issue by not doing BB vectorization
when not all if-converted stmts were covered but the issue is
present with -O3 as well.  Thus the following simply extends the
fix to cover all but the unlimited cost models.  It is after all
very likely that we vectorize some stmts, if only a single
paired store.

2022-01-21  Richard Biener  <rguenther@suse.de>

PR tree-optimization/100089
* tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
of if-converted loops with unvectorized COND_EXPRs for
all but the unlimited cost models.
gcc/tree-vect-slp.cc