https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122040
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Xi Ruoyao from comment #1)
> I'm unsure if there are more undocumented code patterns causing
> -fisolate-erroneous-paths-dereference to produce ud2.
No that is it currently.
stmt_uses_name_in_undefined_way only has:
/* If we are working with a non pointer type, then see
if this use is a DIV/MOD operation using NAME as the
divisor. */
if (!POINTER_TYPE_P (TREE_TYPE (name)))
{
if (!cfun->can_throw_non_call_exceptions)
return is_divmod_with_given_divisor (use_stmt, name);
return false;
}