From 8dc08facbd126658bb26b81b6cdde1466360abc4 Mon Sep 17 00:00:00 2001 From: Jakub Jelinek Date: Fri, 17 May 2019 21:54:15 +0200 Subject: [PATCH] backport: re PR c++/90484 (ICE in equal_mem_array_ref_p at gcc/tree-ssa-scopedtables.c:550 since r270433 on i586) Backported from mainline 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. From-SVN: r271356 --- 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 30252ed77f5e..a2c0e02e5067 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -3,6 +3,10 @@ Backported from mainline 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 0614afc3be8d..e08e24dfcc1b 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.47.2