[00/14] Finish transition of {symbol,call}_summary.

Message ID cover.1526551813.git.mliska@suse.cz
Headers show
Series
  • Finish transition of {symbol,call}_summary.
Related show

Message

Martin Liška May 17, 2018, 10:10 a.m.
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