diff options
author | Jan Hubicka <jh@suse.cz> | 2020-11-23 16:52:36 +0100 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2020-11-23 16:53:25 +0100 |
commit | 54af3008b6f05985d378a48d337d9c70c708ecff (patch) | |
tree | c31e53f785aa5d8c97068be67ec8e3cce2c9a655 /gcc/tree-ssanames.c | |
parent | 204b61b906f2f806eec2f7bb72d4dd79c88d688a (diff) | |
download | gcc-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.c | 8 |
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 |