diff options
author | Jan Hubicka <jh@suse.cz> | 2020-09-20 07:25:16 +0200 |
---|---|---|
committer | Jan Hubicka <jh@suse.cz> | 2020-09-20 07:27:48 +0200 |
commit | d119f34c952f8718fdbabc63e2f369a16e92fa07 (patch) | |
tree | 3f1a460afbcfeafd21f63e7d843251c5b07ea9e6 /gcc/lto-section-in.c | |
parent | 2fe5b7d1f66457c637b8bd2543a60a5faff34c40 (diff) | |
download | gcc-d119f34c952f8718fdbabc63e2f369a16e92fa07.zip gcc-d119f34c952f8718fdbabc63e2f369a16e92fa07.tar.gz gcc-d119f34c952f8718fdbabc63e2f369a16e92fa07.tar.bz2 |
New modref/ipa_modref optimization passes
2020-09-19 David Cepelik <d@dcepelik.cz>
Jan Hubicka <hubicka@ucw.cz>
* Makefile.in: Add ipa-modref.c and ipa-modref-tree.c.
* alias.c: (reference_alias_ptr_type_1): Export.
* alias.h (reference_alias_ptr_type_1): Declare.
* common.opt (fipa-modref): New.
* gengtype.c (open_base_files): Add ipa-modref-tree.h and ipa-modref.h
* ipa-modref-tree.c: New file.
* ipa-modref-tree.h: New file.
* ipa-modref.c: New file.
* ipa-modref.h: New file.
* lto-section-in.c (lto_section_name): Add ipa_modref.
* lto-streamer.h (enum lto_section_type): Add LTO_section_ipa_modref.
* opts.c (default_options_table): Enable ipa-modref at -O1+.
* params.opt (-param=modref-max-bases, -param=modref-max-refs,
-param=modref-max-tests): New params.
* passes.def: Schedule pass_modref and pass_ipa_modref.
* timevar.def (TV_IPA_MODREF): New timevar.
(TV_TREE_MODREF): New timevar.
* tree-pass.h (make_pass_modref): Declare.
(make_pass_ipa_modref): Declare.
* tree-ssa-alias.c (dump_alias_stats): Include ipa-modref-tree.h
and ipa-modref.h
(alias_stats): Add modref_use_may_alias, modref_use_no_alias,
modref_clobber_may_alias, modref_clobber_no_alias, modref_tests.
(dump_alias_stats): Dump new stats.
(nonoverlapping_array_refs_p): Fix formating.
(modref_may_conflict): New function.
(ref_maybe_used_by_call_p_1): Use it.
(call_may_clobber_ref_p_1): Use it.
(call_may_clobber_ref_p): Update.
(stmt_may_clobber_ref_p_1): Update.
* tree-ssa-alias.h (call_may_clobber_ref_p_1): Update.
Diffstat (limited to 'gcc/lto-section-in.c')
-rw-r--r-- | gcc/lto-section-in.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/lto-section-in.c b/gcc/lto-section-in.c index 8a38fa2..c12bc8a 100644 --- a/gcc/lto-section-in.c +++ b/gcc/lto-section-in.c @@ -56,6 +56,7 @@ const char *lto_section_name[LTO_N_SECTION_TYPES] = "lto", "ipa_sra", "odr_types", + "ipa_modref", }; /* Hooks so that the ipa passes can call into the lto front end to get |