https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103168
--- Comment #6 from hubicka at kam dot mff.cuni.cz ---
> bool unknown_memory_access = false;
> if (summary = get_modref_function_summary (stmt, NULL))
> {
> /* First search if we can do someting useful.
> Like for dse it is easy to precompute in the summary now
> and will be happy to implement that. */
> for (auto base_node : summary->loads->bases)
> if (base_node->all_bases || unknown_memory_access)
> {
> unknown_memory_access = true;
> break;
> }
> else
> for (auto ref_node : base_node->refs)
> if (ref_node->all_refs)
> {
> unknown_memory_access = true;
> break;
> }
>
> /* Do the walking. */
> if (!unknown_memory_access)
> for (auto base_node : summary->loads->bases)
> for (auto ref_node : base_node->refs)
> if (ref_node->all_refs)
> unknown_memory_access = true;
> else
> for (auto access_node : ref_node->accesses)
> if (access_node.get_ao_ref (stmt, &ref)
> {
> ref.base_alias_set = base_node->base;
> ref.ref_alias_set = ref_node->base;
^^^ ref