Covert ipa-pure-const.c to symbol_summary.
authorMartin Liska <mliska@suse.cz>
Fri, 8 Jun 2018 12:16:18 +0000 (14:16 +0200)
committerMartin Liska <marxin@gcc.gnu.org>
Fri, 8 Jun 2018 12:16:18 +0000 (12:16 +0000)
commit36330f8203fc19bf11d1e6a21fd0637be1a792d0
tree89f371cd2e2fe8db0e6c1cd6354c364a2ce92484
parent6adcb793611207a5b6aeb30c9670ab083f2ed03c
Covert ipa-pure-const.c to symbol_summary.

2018-06-08  Martin Liska  <mliska@suse.cz>

* ipa-pure-const.c (struct funct_state_d): Do it class instead
of struct.
(class funct_state_summary_t): New function_summary class.
(has_function_state): Remove.
(get_function_state): Likewise.
(set_function_state): Likewise.
(add_new_function): Likewise.
(funct_state_summary_t::insert): New function.
(duplicate_node_data): Remove.
(remove_node_data): Remove.
(funct_state_summary_t::duplicate): New function.
(register_hooks): Create new funct_state_summaries.
(pure_const_generate_summary): Use it.
(pure_const_write_summary): Likewise.
(pure_const_read_summary): Likewise.
(propagate_pure_const): Likewise.
(propagate_nothrow): Likewise.
(dump_malloc_lattice): Likewise.
(propagate_malloc): Likewise.
(execute): Do not register hooks, just remove summary
instead.
(pass_ipa_pure_const::pass_ipa_pure_const): Simplify
constructor.

From-SVN: r261313
gcc/ChangeLog
gcc/ipa-pure-const.c