https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69353
Bug ID: 69353 Summary: [6 Regression] [graphite] ICE: verify_gimple failed (error: non-trivial conversion at assignment) w/ -O2 (-O3) -floop-nest-optimize Product: gcc Version: 6.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: asolokha at gmx dot com CC: spop at gcc dot gnu.org Target Milestone: --- 1. gcc-6.0.0-alpha20160117 ICEs when compiling the following reduced snippet w/ -O2 (-O3) -floop-nest-optimize: int eh, el, oz, pc; unsigned int ta; void tb(void) { ta = (pc != 0); if (ta != 0) while (pc < 0) { int ku = (eh != 0); for (el = 0; el < 2; ++el) oz = el; if (ku != (el ^ 1)) eh = ta; ++pc; } } % x86_64-pc-linux-gnu-gcc-6.0.0-alpha20160117 -c -O2 -floop-nest-optimize uqaj0uxw.c uqaj0uxw.c: In function 'tb': uqaj0uxw.c:5:1: error: incompatible types in PHI argument 1 tb(void) ^~ _Bool int eh_lsm.13_3 = PHI <0(4), eh_lsm.12_30(12)> uqaj0uxw.c:5:1: error: incompatible types in PHI argument 0 _Bool int eh_lsm.13_52 = PHI <eh_lsm.12_30(14)> uqaj0uxw.c:5:1: error: non-trivial conversion at assignment int _Bool # .MEM_50 = VDEF <.MEM_49> eh = eh_lsm.13_52; uqaj0uxw.c:5:1: internal compiler error: verify_gimple failed 2. Replacing an expression "oz = el;" w/ "pc = el;" demonstrates another error during GIMPLE verification: n5rzdu1s.c: In function 'tb': n5rzdu1s.c:5:1: error: mismatching comparison operand types tb(void) ^~ int _Bool if (eh_lsm.12_11 != 0) n5rzdu1s.c:5:1: internal compiler error: verify_gimple failed