[Bug rtl-optimization/82982] New: [8 Regression] ICE: qsort checking failed (error: qsort comparator non-negative on sorted output: 5) in ready_sort_real in haifa scheduler

asolokha at gmx dot com gcc-bugzilla@gcc.gnu.org
Tue Nov 14 05:27:00 GMT 2017


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

            Bug ID: 82982
           Summary: [8 Regression] ICE: qsort checking failed (error:
                    qsort comparator non-negative on sorted output: 5) in
                    ready_sort_real in haifa scheduler
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Keywords: ice-checking, ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: asolokha at gmx dot com
  Target Milestone: ---
            Target: powerpc-*-linux-gnu*, powerpcspe-*-linux-gnu*

gcc-8.0.0-alpha20171112 snapshot (r254666) for 32-bit BE powerpc targets ICEs
on the following snippet w/ -misel -Ofast -fgraphite-identity -funroll-loops
-fsched2-use-superblocks:

int xw, mj;

void
km (void)
{
  int r1 = 0;
  signed char *ny = (signed char *)&xw;

  if (xw != 0)
    for (;;)
      {
        for (xw = 1; xw < 3; ++xw)
          {
            for (*ny = 1; *ny < 2; ++*ny)
              ny = (signed char *)&mj;

            ++r1;
            if (r1 != 0)
              {
 w5:
                if (xw != 0)
                  {
                    for (*ny = 0; *ny < 1; ++*ny)
                      ny = (signed char *)&r1;
                    ++xw;
                  }
                goto w5;
              }
          }
      }
}

% powerpc-e300c3-linux-gnu-gcc-8.0.0-alpha20171112 -misel -Ofast
-fgraphite-identity -funroll-loops -fsched2-use-superblocks -c jyt0oer4.c
jyt0oer4.c: In function 'km':
jyt0oer4.c:31:1: error: qsort comparator non-negative on sorted output: 5
 }
 ^
during RTL pass: sched2
jyt0oer4.c:31:1: internal compiler error: qsort checking failed
0x5c5263 qsort_chk_error
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/vec.c:222
0x150878a qsort_chk(void*, unsigned long, unsigned long, int (*)(void const*,
void const*))
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/vec.c:274
0x1401e7a ready_sort_real
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/haifa-sched.c:3087
0x140809f schedule_block(basic_block_def**, void*)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/haifa-sched.c:6675
0x14a48f9 schedule_ebb(rtx_insn*, rtx_insn*, bool)
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/sched-ebb.c:537
0x14a5106 schedule_ebbs()
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/sched-ebb.c:657
0xc115f4 rest_of_handle_sched2
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/sched-rgn.c:3735
0xc115f4 execute
       
/var/tmp/portage/cross-powerpc-e300c3-linux-gnu/gcc-8.0.0_alpha20171112/work/gcc-8-20171112/gcc/sched-rgn.c:3873


More information about the Gcc-bugs mailing list