diff options
author | Robin Dapp <rdapp@ventanamicro.com> | 2023-11-06 11:24:37 +0100 |
---|---|---|
committer | Robin Dapp <rdapp@ventanamicro.com> | 2023-11-07 22:33:52 +0100 |
commit | fd940d248bfccb6994794152681dc4c693160919 (patch) | |
tree | 92ef48d71aa921bbff8525139d4e5b5308c35e25 /gcc/gcov-io.cc | |
parent | 8f2a59c2629f634e0ea7b2bcc4443fd57c2a0e84 (diff) | |
download | gcc-fd940d248bfccb6994794152681dc4c693160919.zip gcc-fd940d248bfccb6994794152681dc4c693160919.tar.gz gcc-fd940d248bfccb6994794152681dc4c693160919.tar.bz2 |
vect/ifcvt: Add vec_cond fallback and check for vector versioning.
This restricts tree-ifcvt to only create COND_OPs when we versioned the
loop for vectorization. Apart from that it re-creates a VEC_COND_EXPR
in vect_expand_fold_left if we emitted a COND_OP.
gcc/ChangeLog:
PR tree-optimization/112361
PR target/112359
PR middle-end/112406
* tree-if-conv.cc (convert_scalar_cond_reduction): Remember if
loop was versioned and only then create COND_OPs.
(predicate_scalar_phi): Do not create COND_OP when not
vectorizing.
* tree-vect-loop.cc (vect_expand_fold_left): Re-create
VEC_COND_EXPR.
(vectorize_fold_left_reduction): Pass mask to
vect_expand_fold_left.
gcc/testsuite/ChangeLog:
* gcc.dg/pr112359.c: New test.
Diffstat (limited to 'gcc/gcov-io.cc')
0 files changed, 0 insertions, 0 deletions