http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56035
Bug #: 56035 Summary: ICE in verify_loop_structure, at cfgloop.c:1581 (loop n’s header does not belong directly to it !) Classification: Unclassified Product: gcc Version: 4.8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization AssignedTo: unassig...@gcc.gnu.org ReportedBy: antoine.balest...@gmail.com Hi ! Using GCC 4.8.0 as of 20130118 : $ cat bb.c short a, c, *p; void f(void) { int b; if(c) lbl1: for(a = 0; a < 1; a++) { for(c = 0; c < 1; c++) { goto lbl1; while (*p++) lbl2: ; } } for(;; b++) { if(c) goto lbl2; lbl3: for(c = 0; c < 9; c++) for(c = -17; c < 2; c++) if(*p) goto lbl3; } } $ xgcc -w -O1 -ftree-vectorize -fcse-follow-jumps -fstrict-overflow bb.c bb.c: In function ‘f’: bb.c:30:1: error: size of loop 4 should be 0, not 2 } ^ bb.c:30:1: error: bb 6 do not belong to loop 4 bb.c:30:1: error: bb 5 do not belong to loop 4 bb.c:30:1: error: bb 6 has father loop 1, should be loop 4 bb.c:30:1: error: bb 5 has father loop 1, should be loop 4 bb.c:30:1: error: loop 4’s header does not belong directly to it bb.c:30:1: internal compiler error: in verify_loop_structure, at cfgloop.c:1581 0x5f8788 verify_loop_structure() ../../srcdir/gcc/cfgloop.c:1581 0xcb7b2e cleanup_cfg(int) ../../srcdir/gcc/cfgcleanup.c:3026 0xcdf29e rest_of_handle_cse ../../srcdir/gcc/cse.c:7443 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.