[PATCH 3/3] vec: use inexact growth where possible.
Richard Biener
richard.guenther@gmail.com
Thu Aug 27 08:54:05 GMT 2020
On Wed, Aug 26, 2020 at 11:02 PM Jeff Law <law@redhat.com> wrote:
>
> On Tue, 2020-08-11 at 13:37 +0200, Martin Liška wrote:
> > From cc1d41a469d76f2f8e4f44bed788ace77a1c6d62 Mon Sep 17 00:00:00 2001
> > From: Martin Liska <mliska@suse.cz>
> > Date: Mon, 10 Aug 2020 12:09:19 +0200
> > Subject: [PATCH 3/3] vec: use inexact growth where possible.
> >
> > gcc/ChangeLog:
> >
> > * cfgrtl.c (rtl_create_basic_block): Use default value for
> > growth vector function.
> > * gimple.c (gimple_set_bb): Likewise.
> > * symbol-summary.h: Likewise.
> > * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
> > (build_gimple_cfg): Likewise.
> > (create_bb): Likewise.
> > (move_block_to_fn): Likewise.
> I'll note that in some cases we were avoiding exponential growth in our new size
> computations. Presumably the inexact growth support will do something similar,
> even if it's not exactly the same. Right? Assuming that's the case this is OK
> too.
@@ -183,12 +183,12 @@ init_empty_tree_cfg_for_function (struct function *fn)
last_basic_block_for_fn (fn) = NUM_FIXED_BLOCKS;
vec_alloc (basic_block_info_for_fn (fn), initial_cfg_capacity);
vec_safe_grow_cleared (basic_block_info_for_fn (fn),
- initial_cfg_capacity, true);
+ initial_cfg_capacity);
/* Build a mapping of labels to their associated blocks. */
vec_alloc (label_to_block_map_for_fn (fn), initial_cfg_capacity);
vec_safe_grow_cleared (label_to_block_map_for_fn (fn),
- initial_cfg_capacity, true);
+ initial_cfg_capacity);
this is odd now at least since we explicitely alloc initial_cfg_capacity.
IMHO we should instead use
basic_block_info_for_fn (fn)->quick_grow_cleared (initial_cfg_capacity)
here?
The rest looks OK and along the plan.
Thanks,
Richard.
> jeff
>
More information about the Gcc-patches
mailing list