Make ipa-reference bitmaps dense
Jan Hubicka
hubicka@ucw.cz
Wed Oct 23 19:27:00 GMT 2019
> On Wed, Oct 23, 2019 at 08:20:12PM +0200, Jan Hubicka wrote:
> > Hi,
> > this is variant of patch I comitted. It additionally register variable
> > removal hook to be sure that we do not mix up the static variable for
> > some other decl allocated later.
> >
> > Bootstrapped/regtested x86_64
>
> This doesn't build. Completely untested patch to unbreak it is below,
> though not sure if it is enough.
Sorry, I managed to patch one tree and build different tree. I am
testing similar fix and will commmit it soon.
Honza
>
> --- gcc/ipa-reference.c.jj 2019-10-23 20:38:01.392850897 +0200
> +++ gcc/ipa-reference.c 2019-10-23 20:56:17.006239699 +0200
> @@ -436,9 +436,9 @@ propagate_bits (ipa_reference_global_var
> static void
> varpool_removal_hook (varpool_node *node, void *)
> {
> - int *id = ipa_reference_vars_map->get (node->decl)
> + int *id = ipa_reference_vars_map->get (node->decl);
> if (id)
> - ipa_reference_vars_map->remove (*id);
> + ipa_reference_vars_map->remove (node->decl);
> }
>
> static bool ipa_init_p = false;
> @@ -455,7 +455,6 @@ ipa_init (void)
>
> vec_alloc (reference_vars_to_consider, 10);
>
> -
> if (ipa_ref_opt_sum_summaries != NULL)
> {
> delete ipa_ref_opt_sum_summaries;
> @@ -1051,7 +1050,6 @@ ipa_reference_write_optimization_summary
> }
> }
>
> -
> if (ltrans_statics_bitcount)
> for (i = 0; i < lto_symtab_encoder_size (encoder); i++)
> {
> @@ -1291,7 +1289,7 @@ ipa_reference_c_finalize (void)
> ipa_ref_opt_sum_summaries = NULL;
> delete ipa_reference_vars_map;
> ipa_reference_vars_map = NULL;
> - symtab->remove_varpool_removal_hook (varpool_node_hooks)
> + symtab->remove_varpool_removal_hook (varpool_node_hooks);
> }
>
> if (ipa_init_p)
>
>
> Jakub
>
More information about the Gcc-patches
mailing list