[43/46] Make free_stmt_vec_info take a stmt_vec_info
commitc652091aaca10f264b2ca2e797fbc70613284077
authorrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 31 Jul 2018 14:26:26 +0000 (31 14:26 +0000)
committerrsandifo <rsandifo@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 31 Jul 2018 14:26:26 +0000 (31 14:26 +0000)
treedad2ef0425346eb33826305bf3ea6783adaf6409
parenta507133844f12a33fc69a8ca1ffed8e6739265b8
[43/46] Make free_stmt_vec_info take a stmt_vec_info

This patch makes free_stmt_vec_info take the stmt_vec_info that
it's supposed to free and makes it free only that stmt_vec_info.
Callers need to update the statement mapping where necessary
(but now there are only a couple of callers).

This in turns means that we can leave ~vec_info to do the actual
freeing, since there's no longer a need to do it before resetting
the gimple_uids.

2018-07-31  Richard Sandiford  <richard.sandiford@arm.com>

gcc/
* tree-vectorizer.h (free_stmt_vec_info): Take a stmt_vec_info
rather than a gimple stmt.
* tree-vect-stmts.c (free_stmt_vec_info): Likewise.  Don't free
information for pattern statements when passed the original
statement; instead wait to be passed the pattern statement itself.
Don't call set_vinfo_for_stmt here.
(free_stmt_vec_infos): Update call to free_stmt_vec_info.
* tree-vect-loop.c (_loop_vec_info::~loop_vec_info): Don't free
stmt_vec_infos here.
* tree-vect-slp.c (_bb_vec_info::~bb_vec_info): Likewise.
* tree-vectorizer.c (vec_info::remove_stmt): Nullify the statement's
stmt_vec_infos entry.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@263158 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/tree-vect-loop.c
gcc/tree-vect-slp.c
gcc/tree-vect-stmts.c
gcc/tree-vectorizer.c
gcc/tree-vectorizer.h