aboutsummaryrefslogtreecommitdiff
path: root/libcpp/charset.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2021-11-14 18:49:15 +0100
committerJan Hubicka <jh@suse.cz>2021-11-14 18:49:15 +0100
commit64f3e71c302b4a13e61656ee509e7050b9bce978 (patch)
treebb221243513a5106c4390058d808a46342bc7de2 /libcpp/charset.c
parent8a601f9bc45f9faaa91f18d58ba71b141acff701 (diff)
downloadgcc-64f3e71c302b4a13e61656ee509e7050b9bce978.zip
gcc-64f3e71c302b4a13e61656ee509e7050b9bce978.tar.gz
gcc-64f3e71c302b4a13e61656ee509e7050b9bce978.tar.bz2
Extend modref to track kills
This patch adds kill tracking to ipa-modref. This is representd by array of accesses to memory locations that are known to be overwritten by the function. gcc/ChangeLog: 2021-11-14 Jan Hubicka <hubicka@ucw.cz> * ipa-modref-tree.c (modref_access_node::update_for_kills): New member function. (modref_access_node::merge_for_kills): Likewise. (modref_access_node::insert_kill): Likewise. * ipa-modref-tree.h (modref_access_node::update_for_kills, modref_access_node::merge_for_kills, modref_access_node::insert_kill): Declare. (modref_access_node::useful_for_kill): New member function. * ipa-modref.c (modref_summary::useful_p): Release useless kills. (lto_modref_summary): Add kills. (modref_summary::dump): Dump kills. (record_access): Add mdoref_access_node parameter. (record_access_lto): Likewise. (merge_call_side_effects): Merge kills. (analyze_call): Add ALWAYS_EXECUTED param and pass it around. (struct summary_ptrs): Add always_executed filed. (analyze_load): Update. (analyze_store): Update; record kills. (analyze_stmt): Add always_executed; record kills in clobbers. (analyze_function): Track always_executed. (modref_summaries::duplicate): Duplicate kills. (update_signature): Release kills. * ipa-modref.h (struct modref_summary): Add kills. * tree-ssa-alias.c (alias_stats): Add kill stats. (dump_alias_stats): Dump kill stats. (store_kills_ref_p): Break out from ... (stmt_kills_ref_p): Use it; handle modref info based kills. gcc/testsuite/ChangeLog: 2021-11-14 Jan Hubicka <hubicka@ucw.cz> * gcc.dg/tree-ssa/modref-dse-3.c: New test.
Diffstat (limited to 'libcpp/charset.c')
0 files changed, 0 insertions, 0 deletions