aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssanames.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2020-11-23 16:52:36 +0100
committerJan Hubicka <jh@suse.cz>2020-11-23 16:53:25 +0100
commit54af3008b6f05985d378a48d337d9c70c708ecff (patch)
treec31e53f785aa5d8c97068be67ec8e3cce2c9a655 /gcc/tree-ssanames.c
parent204b61b906f2f806eec2f7bb72d4dd79c88d688a (diff)
downloadgcc-54af3008b6f05985d378a48d337d9c70c708ecff.zip
gcc-54af3008b6f05985d378a48d337d9c70c708ecff.tar.gz
gcc-54af3008b6f05985d378a48d337d9c70c708ecff.tar.bz2
Do not leak SSANAMES in lto streamer
* lto-streamer-in.c (input_cfg): Do not init ssa operands. (input_function): Do not init tree_ssa and set in_ssa_p. (input_ssa_names): Do it here. * tree-ssa.c (init_tree_ssa): Add additional SIZE parameter, default to 0 * tree-ssanames.c (init_ssanames): Do not round size up to 50, allocate precisely. * tree-ssa.h (init_tree_ssa): Update prototype.
Diffstat (limited to 'gcc/tree-ssanames.c')
-rw-r--r--gcc/tree-ssanames.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gcc/tree-ssanames.c b/gcc/tree-ssanames.c
index 6ac97fe..ec4681f 100644
--- a/gcc/tree-ssanames.c
+++ b/gcc/tree-ssanames.c
@@ -77,10 +77,10 @@ unsigned int ssa_name_nodes_created;
void
init_ssanames (struct function *fn, int size)
{
- if (size < 50)
- size = 50;
-
- vec_alloc (SSANAMES (fn), size);
+ if (!size)
+ vec_alloc (SSANAMES (fn), 50);
+ else
+ vec_safe_reserve (SSANAMES (fn), size, true);
/* Version 0 is special, so reserve the first slot in the table. Though
currently unused, we may use version 0 in alias analysis as part of