Implement DSE of dead functions calls storing memory.
authorJan Hubicka <jh@suse.cz>
Sat, 13 Nov 2021 21:25:23 +0000 (22:25 +0100)
committerJan Hubicka <jh@suse.cz>
Sat, 13 Nov 2021 21:25:23 +0000 (22:25 +0100)
commit5aa91072e24c1e16a5ec641b48b64c9c9f199f13
tree087583429b1e19e850beb66efc26633cafdf5f82
parentaf47f22fd5784a363ea78c419898b5d703761fb7
Implement DSE of dead functions calls storing memory.

gcc/ChangeLog:

2021-11-13  Jan Hubicka  <hubicka@ucw.cz>

* ipa-modref.c (modref_summary::modref_summary): Clear new flags.
(modref_summary::dump): Dump try_dse.
(modref_summary::finalize): Add FUN attribute; compute try-dse.
(analyze_function): Update.
(read_section): Update.
(update_signature): Update.
(pass_ipa_modref::execute): Update.
* ipa-modref.h (struct modref_summary):
* tree-ssa-alias.c (ao_ref_init_from_ptr_and_range): Export.
* tree-ssa-alias.h (ao_ref_init_from_ptr_and_range): Declare.
* tree-ssa-dse.c (dse_optimize_call): New function.
(dse_optimize_stmt): Use it.

gcc/testsuite/ChangeLog:

2021-11-13  Jan Hubicka  <hubicka@ucw.cz>

* g++.dg/cpp1z/inh-ctor23.C: Fix template
* g++.dg/ipa/ipa-icf-4.C: Fix template
* gcc.dg/tree-ssa/modref-dse-1.c: New test.
* gcc.dg/tree-ssa/modref-dse-2.c: New test.
gcc/ipa-modref.c
gcc/ipa-modref.h
gcc/testsuite/g++.dg/cpp1z/inh-ctor23.C
gcc/testsuite/g++.dg/ipa/ipa-icf-4.C
gcc/testsuite/gcc.dg/tree-ssa/modref-dse-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/modref-dse-2.c [new file with mode: 0644]
gcc/tree-ssa-alias.c
gcc/tree-ssa-alias.h
gcc/tree-ssa-dse.c