Following series of patches continues where I stopped at the end of previous stage 1. It ports places in IPA passes to function_summary container and I introduce a new edge_summary, which is essentially very similar to the aforementioned container.
Patches were tested together on x86_64-linux-gnu and boostrap on both x86_64-linux-gnu and ppc64le-linux-gnu machines. Ready for trunk? Thanks, Martin mliska (6): hash_set: add iterator and remove method. Introduce new edge_summary class and replace ipa_edge_args_sum. IPA inline: port inline_edge_summary to a new infrastructure. Port ipa-cp to use cgraph_edge summary. Port IPA reference to function_summary infrastructure. Migrate ipa-pure-const to function_summary. gcc/cgraph.c | 2 + gcc/cgraph.h | 5 +- gcc/hash-set.h | 39 +++++++++ gcc/ipa-cp.c | 198 ++++++++++++++++++++++++------------------- gcc/ipa-inline-analysis.c | 107 +++++++++--------------- gcc/ipa-inline.c | 18 ++-- gcc/ipa-inline.h | 28 +++++-- gcc/ipa-profile.c | 4 +- gcc/ipa-prop.c | 78 ++++------------- gcc/ipa-prop.h | 44 ++++++---- gcc/ipa-pure-const.c | 177 +++++++++++++++------------------------ gcc/ipa-reference.c | 203 ++++++++++++++++++++++---------------------- gcc/ipa-split.c | 3 +- gcc/ipa.c | 2 +- gcc/symbol-summary.h | 208 +++++++++++++++++++++++++++++++++++++++++++++- 15 files changed, 645 insertions(+), 471 deletions(-) -- 2.4.5