https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114048
--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> --- diff --git a/gcc/tree-ssa-sccvn.cc b/gcc/tree-ssa-sccvn.cc index 3e93685e80a..2587eb1c505 100644 --- a/gcc/tree-ssa-sccvn.cc +++ b/gcc/tree-ssa-sccvn.cc @@ -1185,6 +1185,8 @@ copy_reference_ops_from_ref (tree ref, vec<vn_reference_op_s> *result) else { gcc_assert (known_ne (op.off, -1) + /* The constant offset can be -1. */ + || op.opcode == MEM_REF /* Out-of-bound indices can compute to a known -1 offset. */ || ((op.opcode == ARRAY_REF