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

Reply via email to