Cleanup tree-ssa-alias and tree-ssa-dse use of modref summary
authorJan Hubicka <jh@suse.cz>
Sun, 14 Nov 2021 11:01:41 +0000 (12:01 +0100)
committerJan Hubicka <jh@suse.cz>
Sun, 14 Nov 2021 11:01:41 +0000 (12:01 +0100)
commita29174904bb1b005e16bd9d498b2aa380b6999f8
tree48361c572baa32880b4f5905f5da52495b53a90e
parenta8029add3065e4abb5dbaa92ce3f1b307f3e16ef
Cleanup tree-ssa-alias and tree-ssa-dse use of modref summary

Move code getting tree op from access_node and stmt to a common place.  I also
commonized logic to build ao_ref. While I was on it I also replaced FOR_EACH_*
by range for since they reads better.

gcc/ChangeLog:

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

* ipa-modref-tree.c (modref_access_node::get_call_arg): New member
function.
(modref_access_node::get_ao_ref): Likewise.
* ipa-modref-tree.h (modref_access_node::get_call_arg): Declare.
(modref_access_node::get_ao_ref): Declare.
* tree-ssa-alias.c (modref_may_conflict): Use new accessors.
* tree-ssa-dse.c (dse_optimize_call): Use new accessors.

gcc/testsuite/ChangeLog:

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

* c-c++-common/asan/null-deref-1.c: Update template.
* c-c++-common/tsan/free_race.c: Update template.
* c-c++-common/tsan/free_race2.c: Update template.
* gcc.dg/ipa/ipa-sra-4.c: Update template.
gcc/ipa-modref-tree.c
gcc/ipa-modref-tree.h
gcc/testsuite/c-c++-common/asan/null-deref-1.c
gcc/testsuite/c-c++-common/tsan/free_race.c
gcc/testsuite/c-c++-common/tsan/free_race2.c
gcc/testsuite/gcc.dg/ipa/ipa-sra-4.c
gcc/tree-ssa-alias.c
gcc/tree-ssa-dse.c