re PR c++/90484 (ICE in equal_mem_array_ref_p at gcc/tree-ssa-scopedtables.c:550...
authorJakub Jelinek <jakub@redhat.com>
Thu, 16 May 2019 21:45:34 +0000 (23:45 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Thu, 16 May 2019 21:45:34 +0000 (23:45 +0200)
PR c++/90484
* tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that
sz0 is equal to sz1, instead return false in that case.

From-SVN: r271299

gcc/ChangeLog
gcc/tree-ssa-scopedtables.c

index 232a7d6..d8bed3a 100644 (file)
@@ -1,5 +1,9 @@
 2019-05-16  Jakub Jelinek  <jakub@redhat.com>
 
+       PR c++/90484
+       * tree-ssa-scopedtables.c (equal_mem_array_ref_p): Don't assert that
+       sz0 is equal to sz1, instead return false in that case.
+
        * omp-low.c (lower_rec_input_clauses): If OMP_CLAUSE_IF
        has non-constant expression, force sctx.lane and use two
        argument IFN_GOMP_SIMD_LANE instead of single argument.
index 0614afc..e08e24d 100644 (file)
@@ -537,13 +537,10 @@ equal_mem_array_ref_p (tree t0, tree t1)
       || maybe_ne (sz1, max1))
     return false;
 
-  if (rev0 != rev1)
+  if (rev0 != rev1 || maybe_ne (sz0, sz1) || maybe_ne (off0, off1))
     return false;
 
-  /* Types were compatible, so this is a sanity check.  */
-  gcc_assert (known_eq (sz0, sz1));
-
-  return known_eq (off0, off1) && operand_equal_p (base0, base1, 0);
+  return operand_equal_p (base0, base1, 0);
 }
 
 /* Compare two hashable_expr structures for equivalence.  They are