https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104069
--- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> ---
Actually, this is already supposed to be handled but the code is not effective
due to a typo. This fixes it:
diff --git a/gcc/gimple-ssa-warn-access.cc b/gcc/gimple-ssa-warn-access.cc
index f639807a78a..f9508a1d211 100644
--- a/gcc/gimple-ssa-warn-access.cc
+++ b/gcc/gimple-ssa-warn-access.cc
@@ -4082,7 +4082,9 @@ pointers_related_p (gimple *stmt, tree p, tree q,
pointer_query &qry)
access_ref pref, qref;
if (!qry.get_ref (p, stmt, &pref, 0)
|| !qry.get_ref (q, stmt, &qref, 0))
- return true;
+ /* GET_REF() only rarely fails. When it does, it's likely because
+ it involves a self-referential PHI. Return a conservative result. */
+ return false;
return pref.ref == qref.ref;
}