Hi.
Following patch series finishes transition of IPA summary info that is
assigned either to cgraph_node or to cgraph_edge. Instead of using
a vector indexed with uid, we use summaries that are internally
implemented as hash_map.
Doing the transition we can remove summary_uid and uid property finally
happens unique identifier.
There are still places where ::get_create can be replaced with ::get,
but I made consensus with Honza that it can be done incrementally.
The series can bootstrap and survives regression tests on
ppc64le-linux-gnu and can build Libreoffice with LTO on
x86_64-linux-gnu.
Martin
marxin (14):
Code refactoring of symtab_summary.
Code refactoring for call_summary.
Rename get methods in symbol-summary.h to get_create.
Add {symbol,call}_summary::get method and use it in HSA.
Use summaries->get where possible. Small refactoring of multiple
calls.
Use symtab_summary in ipa-reference.c.
Covert ipa-pure-const.c to symbol_summary.
Convert IPA CP to symbol_summary.
Remove cgraph_node::summary_uid and make cgraph_node::uid really
unique.
Add call_summary::get method and m_initialize_when_cloning.
Port IPA CP to edge_clone_summaries.
Port edge_growth_cache to call_summary.
Make cgraph_edge::uid really unique.
Come up with cgraph_node::get_uid and make cgraph_node::uid private.
gcc/cgraph.c | 16 +-
gcc/cgraph.h | 47 +++--
gcc/config/i386/i386.c | 2 +-
gcc/hsa-common.c | 6 +-
gcc/hsa-common.h | 12 +-
gcc/hsa-gen.c | 12 +-
gcc/ipa-cp.c | 116 ++++++------
gcc/ipa-fnsummary.c | 116 ++++++------
gcc/ipa-hsa.c | 14 +-
gcc/ipa-icf.c | 2 +-
gcc/ipa-inline-analysis.c | 76 +++-----
gcc/ipa-inline-transform.c | 12 +-
gcc/ipa-inline.c | 99 ++++++-----
gcc/ipa-inline.h | 51 +++---
gcc/ipa-profile.c | 2 +-
gcc/ipa-prop.c | 62 +++----
gcc/ipa-prop.h | 40 +++--
gcc/ipa-pure-const.c | 199 ++++++++-------------
gcc/ipa-reference.c | 205 ++++++++++-----------
gcc/ipa-split.c | 2 +-
gcc/ipa-utils.c | 4 +-
gcc/lto-cgraph.c | 2 +-
gcc/lto/lto-partition.c | 32 ++--
gcc/passes.c | 39 ++--
gcc/symbol-summary.h | 431 ++++++++++++++++++++++++++++-----------------
gcc/tree-pretty-print.c | 2 +-
gcc/tree-sra.c | 4 +-
27 files changed, 810 insertions(+), 795 deletions(-)
--
2.16.3