https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88553

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
            Summary|[9 Regression] ICE: tree    |ICE: tree check: expected
                   |check: expected ssa_name,   |ssa_name, have var_decl in
                   |have var_decl in SSA_VAL,   |SSA_VAL, at
                   |at tree-ssa-sccvn.c:461     |tree-ssa-sccvn.c:461

--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
OK, so this is a DECL_VALUE_EXPR leaking from gimplifying a BB predicate
using &b[0][0][0] < k_57 and that getting gimplified to

_120 = .omp_data_i->b;
_121 = &*_120[0][0][0];
k_19 = _121 < k_57 ? k_57 : _23;

which means sth forgot to re-gimplify this address in the first place.

.omplow has

                    #pragma omp for schedule(static,32) collapse(3) nowait
private(i)
                    for (i = &b[0][0][0]; i < &b[0][0][10]; i = i + 4)
                      for (j = &b[0][15][0]; j > &b[0][0][0]; j = j +
18446744073709551576)
                        for (k = &b[0][0][10]; k > &b[0][0][0]; k = k +
18446744073709551612)
                    D.2063 = .omp_data_i->b;
                    D.2064 = &*D.2063[0][0][0];
                    D.2039 = i - D.2064;
                    D.2040 = D.2039 /[ex] 4;

is lowering already missed here?

Jakub, you are more familiar with this - as said, it's latent everywhere.

Reply via email to