This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/56035] New: ICE in verify_loop_structure, at cfgloop.c:1581 (loop nâs header does not belong directly to it !)
- From: "antoine.balestrat at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 18 Jan 2013 17:27:46 +0000
- Subject: [Bug tree-optimization/56035] New: ICE in verify_loop_structure, at cfgloop.c:1581 (loop nâs header does not belong directly to it !)
- Auto-submitted: auto-generated
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: unassigned@gcc.gnu.org
ReportedBy: antoine.balestrat@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.