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

            Bug ID: 82902
           Summary: ICE verify_ssa failed during GIMPLE pass: phiprop
           Product: gcc
           Version: 8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: tree-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: jvb at cyberscience dot com
  Target Milestone: ---

Created attachment 42565
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=42565&action=edit
Reduced test case, compile with -O1 -ftree-vrp (or -O2)

Compiling a particular file (reduce case attached) with -O1 -ftree-vrp (or -O2)
fails with:

test1.c: In function ‘a’:
test1.c:49:5: error: definition in block 8 does not dominate use in block 5
 int a( LT elt, CEV_T *CEV )
     ^
for SSA_NAME: _5 in statement:
# .MEM_22 = VDEF <.MEM_8>
*_5 = MEM[(struct EV_T *)_16];
during GIMPLE pass: phiprop
test1.c:49:5: internal compiler error: verify_ssa failed
0xe20803 verify_ssa(bool, bool)
        ../../gcc-trunk/gcc/tree-ssa.c:1188
0xb6dcbd execute_function_todo
        ../../gcc-trunk/gcc/passes.c:2001
0xb6ea2e execute_todo
        ../../gcc-trunk/gcc/passes.c:2048

Works with -O2 -no-tree-vrp.

The ICE is from a trunk build, gcc version 8.0.0 20171108 (x86_64-pc-linux-gnu)

Gcc 7.0 to 7.2 produces invalid code which will SEGV at runtime (same result on
many platforms).

Gcc 6.3 and earlier produced working code.

To reproduce:

  gcc -O1 -ftree-vrp test1.c

Reply via email to