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

            Bug ID: 97539
           Summary: error: definition in block 5 does not dominate use in
                    block 24
           Product: gcc
           Version: 11.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: dcb314 at hotmail dot com
  Target Milestone: ---

For this C code:

int a, b;
void c() {
  char d;
  for (; b;)
    for (;;)
      for (; d <= 7; d += 1) {
        a = 7;
        for (; a; a += 1)
        e:
          d += d;
        d ^= 0;
      }
  goto e;
}

compiled by -g and -O3 on recent gcc trunk, does this:

$ /home/dcb/gcc/results/bin/gcc -c -g -O3 bug658.c
bug658.c: In function ā€˜c’:
bug658.c:2:6: error: definition in block 5 does not dominate use in block 24
    2 | void c() {
      |      ^
for SSA_NAME: d_20 in statement:
# DEBUG d => d_20
during GIMPLE pass: vect
bug658.c:2:6: internal compiler error: verify_ssa failed
0xf0c686 verify_ssa(bool, bool)
        ../../trunk.git/gcc/tree-ssa.c:1208
0xbd5d01 execute_function_todo(function*, void*)
        ../../trunk.git/gcc/passes.c:1999

The bug seems to have appeared sometime before 20200923.

Reply via email to