From afc819e866602cfd1d15f578c33435fd7058f08e Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Thu, 16 May 2019 23:45:34 +0200 Subject: [PATCH] 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 --- gcc/ChangeLog | 4 ++++ gcc/tree-ssa-scopedtables.c | 7 ++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 232a7d6546d..d8bed3a817d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,9 @@ 2019-05-16 Jakub Jelinek + 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 0614afc3be8..e08e24dfcc1 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 -- 2.30.2