aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2019-05-16 23:45:34 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2019-05-16 23:45:34 +0200
commitafc819e866602cfd1d15f578c33435fd7058f08e (patch)
tree575f288c928db415b8055261770989b746c0ffda
parent4e65deeffb7205dc20b70fdfbce51bc6b381f0db (diff)
downloadgcc-afc819e866602cfd1d15f578c33435fd7058f08e.zip
gcc-afc819e866602cfd1d15f578c33435fd7058f08e.tar.gz
gcc-afc819e866602cfd1d15f578c33435fd7058f08e.tar.bz2
re PR c++/90484 (ICE in equal_mem_array_ref_p at gcc/tree-ssa-scopedtables.c:550 since r270433 on i586)
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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/tree-ssa-scopedtables.c7
2 files changed, 6 insertions, 5 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 232a7d6..d8bed3a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/tree-ssa-scopedtables.c b/gcc/tree-ssa-scopedtables.c
index 0614afc..e08e24d 100644
--- a/gcc/tree-ssa-scopedtables.c
+++ b/gcc/tree-ssa-scopedtables.c
@@ -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