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

            Bug ID: 80112
           Summary: ICE in doloop_condition_get at loop-doloop.c:158
           Product: gcc
           Version: 7.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---
              Host: x86_64-linux-gnu
            Target: aarch64-linux-gnu

Following test-case ICEs with cross-compiler:

$ cat /tmp/tmpqlv6dcz4.i

int a;
int b (int c)
{
  void *d[] = {&&e, &&f};
  switch (c)
    {
    f:
      c = 9;
    case 9:
      goto *a++;
    e:;
    }
}

$ aarch64-linux-gnu-gcc -Os -fmodulo-sched /tmp/tmpqlv6dcz4.i
/tmp/tmpqlv6dcz4.i: In function ‘b’:
/tmp/tmpqlv6dcz4.i:13:1: internal compiler error: Segmentation fault
 }
 ^
0xb76b0f crash_signal
        .././../gcc/toplev.c:337
0x11b1ad6 doloop_condition_get(rtx_insn*)
        .././../gcc/loop-doloop.c:158
0x11bb961 doloop_register_get
        .././../gcc/modulo-sched.c:353
0x11bdee0 doloop_register_get
        .././../gcc/modulo-sched.c:349
0x11bdee0 sms_schedule
        .././../gcc/modulo-sched.c:1457
0x11bdee0 execute
        .././../gcc/modulo-sched.c:3339

Reply via email to