Hi,

On Tue, Feb 28, 2017 at 11:50:01AM +0100, jh wrote:
> Dne 2017-02-27 17:35, Martin Jambor napsal:
> > Hello,
> > 
> > this is patch is afairly straightforward conversion from use of a
> > vector indexed by edge->uid to use of the new call_summary from the
> > previous patch.
> > 
> > The patch is generally a cleanup, hashing is a nicer method of keeping
> > call-site related information than a gigantic vector that we never
> > shrink during its lifetime.  Moreover, it should allow further
> > cleanups and of course is a nice way of testing that the previous
> > patch works.
> > 
> > Any comments and/or suggestions are welcome,
> > 
> > Martin
> > 
> > 2017-02-27  Martin Jambor  <mjam...@suse.cz>
> > 
> >     * ipa-prop.h (ipa_edge_args): Make a class.  Mark with for_user GTY
> >     tag.  Added a default constructor and a destructor.
> >     (ipa_edge_args_sum_t): New class;
> >     (ipa_edge_args_sum): Declare.
> >     (ipa_edge_args_vector): Remove declaration.
> >     (IPA_EDGE_REF): Use ipa_edge_args_sum.
> >     (ipa_free_edge_args_substructures): Remove declaration.
> >     (ipa_check_create_edge_args): Use ipa_edge_args_sum.
> >     (ipa_edge_args_info_available_for_edge_p): Likewise.
> >     * ipa-prop.c (ipa_edge_args_vector): Removed.
> >     (edge_removal_hook_holder): Likewise.
> >     (edge_duplication_hook_holder): Likewise.
> >     (ipa_edge_args_sum): New variable.
> >     (ipa_propagate_indirect_call_infos): Test ipa_edge_args_sum instead of
> >     ipa_edge_args_vector.
> >     (ipa_free_edge_args_substructures): Likewise.
> >     (ipa_free_all_edge_args): Free ipa_edge_args_sum instead of
> >     ipa_edge_args_vector.
> >     (ipa_edge_removal_hook): Turned into method
> >     ipa_edge_args_sum_t::remove.
> >     (ipa_edge_duplication_hook): Turned into method
> >     ipa_edge_args_sum_t::duplicate.
> >     (ipa_register_cgraph_hooks): Create ipa_edge_args_sum instead of
> >     registering edge hooks.
> >     (ipa_unregister_cgraph_hooks): Do not unregister edge hooks.
> >     * ipa-inline-analysis.c (estimate_function_body_sizes): Test
> >     ipa_edge_args_sum instead of ipa_edge_args_vector.
> >     * ipa-profile.c (ipa_profile): Likewise.
> OK
> Did you check what memory consumption consquences it have for Firefox?

There is no noticeable difference, unfortunately.

Martin

Reply via email to