IPA ICF pass, part 3/5
authorMartin Liska <mliska@suse.cz>
Thu, 16 Oct 2014 10:47:55 +0000 (12:47 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Thu, 16 Oct 2014 10:47:55 +0000 (10:47 +0000)
commitb84d4347ac38010ab4fbcfbdf049c12afd26f796
treea924d04dfecfeecfc3dbb2cd245d5482ed23f090
parent93a95abe925edc98131056a6b716e7a9e15f72cc
IPA ICF pass, part 3/5

* Makefile.in: New object files included.
* cgraph.c (cgraph_node::dump): New cgraph_node flag icf_merged
is printed.
(verify_edge_corresponds_to_fndecl): More sensitive verification
of nodes that are merged by IPA ICF.
* cgraph.h (cgraph_node::num_references): New function.
* cgraphunit.c (cgraph_node::expand_thunk): White space fixed.
* common.opt: New options ipa-icf, ipa-icf-functions and
ipa-icf-variables introduced.
* doc/invoke.texi: Documentation of new options introduced.
* ipa-icf-gimple.c: New file.
* ipa-icf-gimple.h: New file.
* ipa-icf.c: New file.
* ipa-icf.h: New file.
* lto-cgraph.c (lto_output_node): Streaming of icf_merged flag added.
(input_overwrite_node): Likewise.
* lto-section-in.c: New icf section added.
* lto-streamer.h (enum lto_section_type): Likewise.
* opts.c (common_handle_option): New option added.
* passes.def: New pass included.
* timevar.def: Time variable for IPA ICF added.
* tree-pass.h: New IPA ICF pass entry point added.

Co-Authored-By: Jan Hubicka <hubicka@ucw.cz>
From-SVN: r216305
18 files changed:
gcc/ChangeLog
gcc/Makefile.in
gcc/cgraph.c
gcc/cgraph.h
gcc/cgraphunit.c
gcc/common.opt
gcc/doc/invoke.texi
gcc/ipa-icf-gimple.c [new file with mode: 0644]
gcc/ipa-icf-gimple.h [new file with mode: 0644]
gcc/ipa-icf.c [new file with mode: 0644]
gcc/ipa-icf.h [new file with mode: 0644]
gcc/lto-cgraph.c
gcc/lto-section-in.c
gcc/lto-streamer.h
gcc/opts.c
gcc/passes.def
gcc/timevar.def
gcc/tree-pass.h