https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79334
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- So this should now be correctly checked after g:fedcf3c476aff7533741a1c61071200f0a38cf83 which fixes prune_clobbered_mems. That uses vn_reference_may_trap which only does case ARRAY_RANGE_REF: case ARRAY_REF: if (TREE_CODE (op->op0) == SSA_NAME) return true; so doesn't return true for out-of-bound reads. tree_could_trap_p uses [range_]in_array_bounds_p which we'd need to replicate here. I'm testing a patch.