This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[PATCH 00/14] Finish transition of {symbol,call}_summary.
- From: marxin <mliska at suse dot cz>
- To: gcc-patches at gcc dot gnu dot org
- Date: Thu, 17 May 2018 12:10:13 +0200
- Subject: [PATCH 00/14] Finish transition of {symbol,call}_summary.
- Resent-user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
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