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

Reply via email to