[Bug middle-end/104132] New: OpenACC 'kernels' decomposition: internal compiler error: verify_gimple failed, error: non-register as LHS of binary operation

tschwinge at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Jan 19 21:05:50 GMT 2022


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

            Bug ID: 104132
           Summary: OpenACC 'kernels' decomposition: internal compiler
                    error: verify_gimple failed, error: non-register as
                    LHS of binary operation
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, openacc
          Severity: normal
          Priority: P3
         Component: middle-end
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
                CC: asolokha at gmx dot com, pinskia at gcc dot gnu.org
  Target Milestone: ---

As Andrew Pinski posted in
<https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104061#c3>:

    int arr_0;
    void
    foo (void)
    {
    #pragma acc kernels
      {
        int k;
    #pragma acc loop
        for (k = 0; k < 2; k++)
          arr_0 = k;
    #pragma acc loop
        for (k = 0; k < 2; k++)
          arr_0 = k;
      }
    }

(Note 'arr_0 = k;', not 'arr_0 += k;' as originally in PR104061.)

Already with '-fopenacc --param openacc-kernels=decompose -O0 -g0' (so, not
involving 'GIMPLE_DEBUG's), for both C and C++, we run into:

    pr.c: In function ‘foo._omp_fn.1’:
    pr.c:40:1: error: non-register as LHS of binary operation
       40 | }
          | ^
    k = 0 + .offset.18;
    pr.c:40:1: error: non-register as LHS of binary operation
    k = 0 + 2;
    during IPA pass: *free_lang_data
    pr.c:40:1: internal compiler error: verify_gimple failed


More information about the Gcc-bugs mailing list