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