https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82916

--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
What the code does is when seeing the MEM[(struct et_occ *)p_3].of = node_5(D);
store, we go through all current chains (there is exactly one at that point)
and for each chain through all their stmts and do:
961               if (ref_maybe_used_by_stmt_p (stmt, gimple_assign_lhs
(info->stmt))
962                   || stmt_may_clobber_ref_p (stmt, gimple_assign_lhs
(info->stmt)))

stmt here is MEM[(struct et_occ *)p_3].of = node_5(D); and info->stmt is
p_3->next = 0B;
And because both of these functions return false, we think there can't be any
aliasing.
We want to make sure that if there are any (valid) uses of the memory set by
the info->stmt store, or if we are overwriting any part of the info->stmt lhs
memory in stmt that we terminate the chain.

Are these functions not the right alias functions to call?

Reply via email to