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