diff options
author | Martin Liska <mliska@suse.cz> | 2014-10-16 12:47:55 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2014-10-16 10:47:55 +0000 |
commit | b84d4347ac38010ab4fbcfbdf049c12afd26f796 (patch) | |
tree | a924d04dfecfeecfc3dbb2cd245d5482ed23f090 /gcc/opts.c | |
parent | 93a95abe925edc98131056a6b716e7a9e15f72cc (diff) | |
download | gcc-b84d4347ac38010ab4fbcfbdf049c12afd26f796.zip gcc-b84d4347ac38010ab4fbcfbdf049c12afd26f796.tar.gz gcc-b84d4347ac38010ab4fbcfbdf049c12afd26f796.tar.bz2 |
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
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 6 |
1 files changed, 6 insertions, 0 deletions
@@ -497,6 +497,7 @@ static const struct default_options default_options_table[] = { OPT_LEVELS_2_PLUS, OPT_fvect_cost_model_, NULL, VECT_COST_MODEL_CHEAP }, { OPT_LEVELS_2_PLUS_SPEED_ONLY, OPT_foptimize_strlen, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fhoist_adjacent_loads, NULL, 1 }, + { OPT_LEVELS_2_PLUS, OPT_fipa_icf, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fisolate_erroneous_paths_dereference, NULL, 1 }, { OPT_LEVELS_2_PLUS, OPT_fuse_caller_save, NULL, 1 }, @@ -1980,6 +1981,11 @@ common_handle_option (struct gcc_options *opts, opts->x_flag_wrapv = 0; break; + case OPT_fipa_icf: + opts->x_flag_ipa_icf_functions = value; + opts->x_flag_ipa_icf_variables = value; + break; + default: /* If the flag was handled in a standard way, assume the lack of processing here is intentional. */ |