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?
Honza

Reply via email to