]> gcc.gnu.org Git - gcc.git/commit
Make SLP root stmt a vector
authorRichard Biener <rguenther@suse.de>
Wed, 2 Jun 2021 11:25:59 +0000 (13:25 +0200)
committerRichard Biener <rguenther@suse.de>
Tue, 8 Jun 2021 13:09:18 +0000 (15:09 +0200)
commit4bd2cdb74e26f68a4e9d51e74ace60326c9950d1
tree72560a71ebd054ae782a3f45c43571895f1e7124
parent4ab8f20348676d209aa8da12baf5da07fa769788
Make SLP root stmt a vector

This fixes a TODO noticed when adding vectorization of
BIT_INSERT_EXPRs and what's now useful for vectorization of
BB reductions.

2021-06-08  Richard Biener  <rguenther@suse.de>

* tree-vectorizer.h (_slp_instance::root_stmt): Change to...
(_slp_instance::root_stmts): ... a vector.
(SLP_INSTANCE_ROOT_STMT): Rename to ...
(SLP_INSTANCE_ROOT_STMTS): ... this.
(slp_root::root): Change to...
(slp_root::roots): ... a vector.
(slp_root::slp_root): Adjust.
* tree-vect-slp.c (_slp_instance::location): Adjust.
(vect_free_slp_instance): Release the root stmt vector.
(vect_build_slp_instance): Adjust.
(vect_analyze_slp): Likewise.
(_bb_vec_info::~_bb_vec_info): Likewise.
(vect_slp_analyze_operations): Likewise.
(vect_bb_vectorization_profitable_p): Likewise.  Adjust
costs for the root stmt.
(vect_slp_check_for_constructors): Gather all BIT_INSERT_EXPRs
as root stmts.
(vect_slp_analyze_bb_1): Simplify by marking all root stmts
as pure_slp.
(vectorize_slp_instance_root_stmt): Adjust.
(vect_schedule_slp): Likewise.
gcc/tree-vect-slp.c
gcc/tree-vectorizer.h
This page took 0.061074 seconds and 5 git commands to generate.