[Bug middle-end/98088] [9/10/11 Regression] ICE in expand_oacc_collapse_init, at omp-expand.c:1533

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Feb 1 12:57:54 GMT 2021


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |burnus at gcc dot gnu.org

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
void
foo (int a[32][32])
{
  #pragma acc parallel loop collapse(2)
  for (int i = 16; i > 8; i--)
    for (int j = 16; j > 8; j--)
      a[i][j] = i + j;
}

ICEs too.
The
1544          gcc_assert (loop->cond_code == fd->loop.cond_code);
assertion is just wrong, at least generic code for collapsed loops makes the
fd->loop.cond_code always LT_EXPR, it iterates from 0 to number of logical
iterations of the loop nest, while the individual loops in the loop nest can go
in various directions.
This exact testcase started to ICE with the introduction of
expand_oacc_collapse_init in r6-4364-ge4834818d22f5c663b24940fd5b04da266e11fe8


More information about the Gcc-bugs mailing list