diff options
author | Richard Sandiford <richard.sandiford@arm.com> | 2018-07-31 14:26:26 +0000 |
---|---|---|
committer | Richard Sandiford <rsandifo@gcc.gnu.org> | 2018-07-31 14:26:26 +0000 |
commit | 458135c0354f19eb2bd032d42c27076def8c31de (patch) | |
tree | dad2ef0425346eb33826305bf3ea6783adaf6409 /gcc/tree-vectorizer.c | |
parent | 9d97912b85ac4a86767f4f1b6c47efa1ce0ba6af (diff) | |
download | gcc-458135c0354f19eb2bd032d42c27076def8c31de.zip gcc-458135c0354f19eb2bd032d42c27076def8c31de.tar.gz gcc-458135c0354f19eb2bd032d42c27076def8c31de.tar.bz2 |
[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.
From-SVN: r263158
Diffstat (limited to 'gcc/tree-vectorizer.c')
-rw-r--r-- | gcc/tree-vectorizer.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-vectorizer.c b/gcc/tree-vectorizer.c index 6e647ab..bb6a154 100644 --- a/gcc/tree-vectorizer.c +++ b/gcc/tree-vectorizer.c @@ -595,6 +595,7 @@ void vec_info::remove_stmt (stmt_vec_info stmt_info) { gcc_assert (!stmt_info->pattern_stmt_p); + set_vinfo_for_stmt (stmt_info->stmt, NULL); gimple_stmt_iterator si = gsi_for_stmt (stmt_info->stmt); unlink_stmt_vdef (stmt_info->stmt); gsi_remove (&si, true); |