public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
@ 2012-12-19 14:18 rguenth at gcc dot gnu.org
2012-12-19 14:19 ` [Bug middle-end/55740] " rguenth at gcc dot gnu.org
` (5 more replies)
0 siblings, 6 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-19 14:18 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
Bug #: 55740
Summary: [4.8 Regression] ICE in verify_loop_structure, at
cfgloop.c:1582, error: loop 2's header does not belong
directly to it
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: rguenth@gcc.gnu.org
Target: i?86-*-*
Created attachment 29007
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=29007
preprocessed source
/usr/lib/gcc/i586-suse-linux/4.8/cc1plus -fpreprocessed tDirectories.ii -quiet
-dumpbase tDirectories.cpp -mtune=generic -march=i586 -auxbase-strip
libtools_a-tDirectories.o -g -O2 -Wno-unused-local-typedefs -Wno-long-long
-version -fomit-frame-pointer -fmessage-length=0 -o tDirectories.s
GNU C++ (SUSE Linux) version 4.8.0 20121219 [trunk revision 194606]
(i586-suse-linux)
compiled by GNU C version 4.8.0 20121219 [trunk revision 194606], GMP
version 5.0.5, MPFR version 3.1.1, MPC version 1.0
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
GNU C++ (SUSE Linux) version 4.8.0 20121219 [trunk revision 194606]
(i586-suse-linux)
compiled by GNU C version 4.8.0 20121219 [trunk revision 194606], GMP
version 5.0.5, MPFR version 3.1.1, MPC version 1.0
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096
Compiler executable checksum: b6dcf1d0957cadf0ad5b36e7839b8868
tools/tDirectories.cpp: In static member function 'static bool
tPath::IsValidPath(const char*)':
tools/tDirectories.cpp:346:1: error: loop 2's header does not belong directly
to it
}
^
tools/tDirectories.cpp:346:1: internal compiler error: in
verify_loop_structure, at cfgloop.c:1582
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.
This is also how LTO bootstrap fails right now on x86_64.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/55740] [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
@ 2012-12-19 14:19 ` rguenth at gcc dot gnu.org
2012-12-19 14:44 ` rguenth at gcc dot gnu.org
` (4 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-19 14:19 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |4.8.0
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/55740] [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
2012-12-19 14:19 ` [Bug middle-end/55740] " rguenth at gcc dot gnu.org
@ 2012-12-19 14:44 ` rguenth at gcc dot gnu.org
2012-12-19 14:56 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-19 14:44 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-19 14:44:02 UTC ---
Reducing.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug middle-end/55740] [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
2012-12-19 14:19 ` [Bug middle-end/55740] " rguenth at gcc dot gnu.org
2012-12-19 14:44 ` rguenth at gcc dot gnu.org
@ 2012-12-19 14:56 ` rguenth at gcc dot gnu.org
2012-12-19 15:13 ` [Bug rtl-optimization/55740] " rguenth at gcc dot gnu.org
` (2 subsequent siblings)
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-19 14:56 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target|i?86-*-* |i?86-*-*, x86_64-*-*
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-12-19
Ever Confirmed|0 |1
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-19 14:56:02 UTC ---
Reduced testcase, fails at -O2:
static bool st_IsPathDelimiter( char c ) { return c == '/'; }
bool IsValidPath( char const * filename )
{
if ( !filename || filename[0] == 0 )
return false;
char const * run = filename;
while ( run && *run )
{
if ( run[0] == '.' )
if ( run[1] != '.' || ( !st_IsPathDelimiter( run[2] ) && run[2] != 0 )
)
return false;
while ( *run && !st_IsPathDelimiter( *run ) )
++run;
if ( *run )
++run;
}
}
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/55740] [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
` (2 preceding siblings ...)
2012-12-19 14:56 ` rguenth at gcc dot gnu.org
@ 2012-12-19 15:13 ` rguenth at gcc dot gnu.org
2012-12-20 12:46 ` rguenth at gcc dot gnu.org
2012-12-20 12:46 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-19 15:13 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Component|middle-end |rtl-optimization
AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org
|gnu.org |
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-19 15:12:56 UTC ---
And it's of course after RTL CSE ...
Which ends up merging two loop headers as we cross-jumped the tails ...
/* If we merge a loop header into its predecessor, update the loop
structure. */
if (current_loops != NULL)
{
if (b->loop_father->header == b)
{
remove_bb_from_loops (a);
add_bb_to_loop (a, b->loop_father);
a->loop_father->header = a;
}
remove_bb_from_loops (b);
}
Which looks broken if a is already a loop header. I have a patch.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/55740] [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
` (3 preceding siblings ...)
2012-12-19 15:13 ` [Bug rtl-optimization/55740] " rguenth at gcc dot gnu.org
@ 2012-12-20 12:46 ` rguenth at gcc dot gnu.org
2012-12-20 12:46 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-20 12:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #5 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-20 12:46:11 UTC ---
Fixed.
^ permalink raw reply [flat|nested] 7+ messages in thread
* [Bug rtl-optimization/55740] [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
` (4 preceding siblings ...)
2012-12-20 12:46 ` rguenth at gcc dot gnu.org
@ 2012-12-20 12:46 ` rguenth at gcc dot gnu.org
5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2012-12-20 12:46 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55740
--- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> 2012-12-20 12:45:53 UTC ---
Author: rguenth
Date: Thu Dec 20 12:45:48 2012
New Revision: 194633
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=194633
Log:
2012-12-20 Richard Biener <rguenther@suse.de>
PR middle-end/55740
* cfghooks.c (merge_blocks): Properly handle merging of
two loop headers.
* g++.dg/torture/pr55740.C: New testcase.
Added:
trunk/gcc/testsuite/g++.dg/torture/pr55740.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/cfghooks.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2012-12-20 12:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-12-19 14:18 [Bug middle-end/55740] New: [4.8 Regression] ICE in verify_loop_structure, at cfgloop.c:1582, error: loop 2's header does not belong directly to it rguenth at gcc dot gnu.org
2012-12-19 14:19 ` [Bug middle-end/55740] " rguenth at gcc dot gnu.org
2012-12-19 14:44 ` rguenth at gcc dot gnu.org
2012-12-19 14:56 ` rguenth at gcc dot gnu.org
2012-12-19 15:13 ` [Bug rtl-optimization/55740] " rguenth at gcc dot gnu.org
2012-12-20 12:46 ` rguenth at gcc dot gnu.org
2012-12-20 12:46 ` rguenth at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).