Covert ipa-pure-const.c to symbol_summary.
commit16f72bd0375dec395928f6cf3e36ad5b9ab94260
authormarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Jun 2018 12:16:18 +0000 (8 12:16 +0000)
committermarxin <marxin@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Jun 2018 12:16:18 +0000 (8 12:16 +0000)
tree89f371cd2e2fe8db0e6c1cd6354c364a2ce92484
parent0a42bb6de24af055515d39590a0517bceb9107d8
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@261313 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/ipa-pure-const.c