public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
@ 2010-11-25 1:48 zsojka at seznam dot cz
2010-11-25 6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
` (9 more replies)
0 siblings, 10 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2010-11-25 1:48 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
Summary: [4.6 Regression] ICE: in move_bb_info, at
sel-sched-ir.c:5080 with -fschedule-insns
-fselective-scheduling
Product: gcc
Version: 4.6.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: rtl-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: zsojka@seznam.cz
Target: x86_64-pc-linux-gnu
Created attachment 22522
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=22522
g++.dg/parse/break-in-for.C
Compiler output:
$ gcc -fschedule-insns -fselective-scheduling break-in-for.C
break-in-for.C: In function 'void foo()':
break-in-for.C:11:1: internal compiler error: in move_bb_info, at
sel-sched-ir.c:5080
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
Tested revisions:
r167127 - crash
r167054 - crash
r165699 - OK
4.5 r166509 - OK
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
@ 2010-11-25 6:27 ` hjl.tools at gmail dot com
2010-11-25 8:05 ` ebotcazou at gcc dot gnu.org
` (8 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: hjl.tools at gmail dot com @ 2010-11-25 6:27 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2010.11.25 03:38:54
CC| |ebotcazou at gcc dot
| |gnu.org
Target Milestone|--- |4.6.0
Ever Confirmed|0 |1
--- Comment #1 from H.J. Lu <hjl.tools at gmail dot com> 2010-11-25 03:38:54 UTC ---
It is caused by revision 165897:
http://gcc.gnu.org/ml/gcc-cvs/2010-10/msg01084.html
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
2010-11-25 6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
@ 2010-11-25 8:05 ` ebotcazou at gcc dot gnu.org
2010-11-25 10:01 ` amonakov at gcc dot gnu.org
` (7 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2010-11-25 8:05 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
--- Comment #2 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2010-11-25 06:27:01 UTC ---
Non-sensical set of options. Let's disable -fselective-scheduling if
!optimize.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
2010-11-25 6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
2010-11-25 8:05 ` ebotcazou at gcc dot gnu.org
@ 2010-11-25 10:01 ` amonakov at gcc dot gnu.org
2010-11-25 19:34 ` zsojka at seznam dot cz
` (6 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-11-25 10:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
Alexander Monakov <amonakov at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |amonakov at gcc dot gnu.org
Resolution| |DUPLICATE
--- Comment #3 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-11-25 09:42:35 UTC ---
Known issue: sel-sched chokes on NOPs in input stream. A fix will land on
trunk soon.
*** This bug has been marked as a duplicate of bug 46585 ***
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (2 preceding siblings ...)
2010-11-25 10:01 ` amonakov at gcc dot gnu.org
@ 2010-11-25 19:34 ` zsojka at seznam dot cz
2010-11-25 22:37 ` amonakov at gcc dot gnu.org
` (5 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: zsojka at seznam dot cz @ 2010-11-25 19:34 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
Zdenek Sojka <zsojka at seznam dot cz> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|DUPLICATE |
--- Comment #4 from Zdenek Sojka <zsojka at seznam dot cz> 2010-11-25 18:26:12 UTC ---
It still fails in r167147:
$ gcc -fschedule-insns -fselective-scheduling break-in-for.C
break-in-for.C: In function 'void foo()':
break-in-for.C:11:1: internal compiler error: in move_bb_info, at
sel-sched-ir.c:5088
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (3 preceding siblings ...)
2010-11-25 19:34 ` zsojka at seznam dot cz
@ 2010-11-25 22:37 ` amonakov at gcc dot gnu.org
2010-12-14 13:28 ` amonakov at gcc dot gnu.org
` (4 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-11-25 22:37 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
Alexander Monakov <amonakov at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |ASSIGNED
AssignedTo|unassigned at gcc dot |amonakov at gcc dot gnu.org
|gnu.org |
--- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-11-25 21:37:44 UTC ---
Okay, I didn't notice at first that it's a C++ testcase (does not fail as C).
Well, this time sel-sched can not deal with an empty loop header.
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (4 preceding siblings ...)
2010-11-25 22:37 ` amonakov at gcc dot gnu.org
@ 2010-12-14 13:28 ` amonakov at gcc dot gnu.org
2010-12-14 14:39 ` amonakov at gcc dot gnu.org
` (3 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-14 13:28 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
--- Comment #6 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-14 13:28:06 UTC ---
Even though it is possible to unbreak
purge_empty_blocks/maybe_tidy_empty_bb/sel_merge_blocks for this case, I think
it's not worth it given that sel-sched generally expects somewhat clean CFG.
So, just cleanup CFG at -O0.
I'll submit the following patch in a moment.
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 3b5603c..5fe9ccb 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -7648,6 +7648,11 @@ run_selective_scheduling (void)
if (n_basic_blocks == NUM_FIXED_BLOCKS)
return;
+ /* Drop empty basic blocks, unreachable code, etc. if the scheduler is
+ invoked at -O0. */
+ if (!optimize)
+ cleanup_cfg (0);
+
sel_global_init ();
for (rgn = 0; rgn < nr_regions; rgn++)
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (5 preceding siblings ...)
2010-12-14 13:28 ` amonakov at gcc dot gnu.org
@ 2010-12-14 14:39 ` amonakov at gcc dot gnu.org
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
` (2 subsequent siblings)
9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-14 14:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
--- Comment #7 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-14 14:38:38 UTC ---
After a discussion with Andrey and refreshing my memory on that code I think
it's actually better to unbreak purge_empty_blocks in this case. It used to be
correct, i.e. it never attempted to delete the first BB in the region; then I
broke it because I wasn't aware of the limitation w.r.t. removal of the first
BB.
Sorry for the spam.
diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index 427fd22..9f0c4a3 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -3749,10 +3749,10 @@ tidy_control_flow (basic_block xbb, bool full_tidying)
void
purge_empty_blocks (void)
{
- /* Do not attempt to delete preheader. */
- int i = sel_is_loop_preheader_p (BASIC_BLOCK (BB_TO_BLOCK (0))) ? 1 : 0;
+ int i;
- while (i < current_nr_blocks)
+ /* Do not attempt to delete the first basic block in the region. */
+ for (i = 1; i < current_nr_blocks; i++)
{
basic_block b = BASIC_BLOCK (BB_TO_BLOCK (i));
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (7 preceding siblings ...)
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
@ 2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2011-04-07 7:01 ` abel at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-15 13:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
--- Comment #8 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-15 13:08:47 UTC ---
Author: amonakov
Date: Wed Dec 15 13:08:41 2010
New Revision: 167854
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=167854
Log:
PR rtl-optimization/46649
* sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
basic block in the region.
testsuite:
* g++.dg/opt/pr46649.C: New.
Added:
trunk/gcc/testsuite/g++.dg/opt/pr46649.C
Modified:
trunk/gcc/ChangeLog
trunk/gcc/sel-sched-ir.c
trunk/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (6 preceding siblings ...)
2010-12-14 14:39 ` amonakov at gcc dot gnu.org
@ 2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2011-04-07 7:01 ` abel at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: amonakov at gcc dot gnu.org @ 2010-12-15 13:09 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
Alexander Monakov <amonakov at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution| |FIXED
--- Comment #9 from Alexander Monakov <amonakov at gcc dot gnu.org> 2010-12-15 13:09:35 UTC ---
Fixed
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Bug rtl-optimization/46649] [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
` (8 preceding siblings ...)
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
@ 2011-04-07 7:01 ` abel at gcc dot gnu.org
9 siblings, 0 replies; 11+ messages in thread
From: abel at gcc dot gnu.org @ 2011-04-07 7:01 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46649
--- Comment #10 from Andrey Belevantsev <abel at gcc dot gnu.org> 2011-04-07 07:01:30 UTC ---
Author: abel
Date: Thu Apr 7 07:01:25 2011
New Revision: 172086
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=172086
Log:
Backport from mainline
2010-12-15 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/46649
* sel-sched-ir.c (purge_empty_blocks): Unconditionally skip the first
basic block in the region.
Added:
branches/gcc-4_5-branch/gcc/testsuite/g++.dg/opt/pr46649.C
Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/sel-sched-ir.c
branches/gcc-4_5-branch/gcc/testsuite/ChangeLog
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2011-04-07 7:01 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-11-25 1:48 [Bug rtl-optimization/46649] New: [4.6 Regression] ICE: in move_bb_info, at sel-sched-ir.c:5080 with -fschedule-insns -fselective-scheduling zsojka at seznam dot cz
2010-11-25 6:27 ` [Bug rtl-optimization/46649] " hjl.tools at gmail dot com
2010-11-25 8:05 ` ebotcazou at gcc dot gnu.org
2010-11-25 10:01 ` amonakov at gcc dot gnu.org
2010-11-25 19:34 ` zsojka at seznam dot cz
2010-11-25 22:37 ` amonakov at gcc dot gnu.org
2010-12-14 13:28 ` amonakov at gcc dot gnu.org
2010-12-14 14:39 ` amonakov at gcc dot gnu.org
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2010-12-15 13:09 ` amonakov at gcc dot gnu.org
2011-04-07 7:01 ` abel 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).